Moderadores: 51, guest2003, Renie, gpenga
Memories The AT91F40816 embeds 8K bytes of internal SRAM. The internal memory is directly
connected to the 32-bit data bus and is single-cycle accessible.
The AT91F40816 features an External Bus Interface (EBI), which enables connection of
external memories and application-specific peripherals. The EBI supports 8- or 16-bit
devices and can use two 8-bit devices to emulate a single 16-bit device. The EBI implements
the early read protocol, enabling faster memory accesses than standard memory
interfaces.
The AT91F40816 embeds a Flash memory organized as 1M 16-bit words, accessed via
the EBI. Its main function is as a program memory. A 16-bit Thumb instruction can be
loaded from Flash memory in a single access. Separate MCU and Flash memory Reset
inputs (NRST and NRSTF) are provided for maximum flexibility. The user is thus free to
conform the reset operation to the application.
The AT91F40816 integrates resident boot software called AT91 Flash Uploader software.
The AT91 Flash Uploader software is able to upload program application software
into its Flash memory.
Peripherals The AT91F40816 integrates several peripherals, which are classified as system or user
peripherals. All on-chip peripherals are 32-bit accessible by the AMBA Bridge, and can
be programmed with a minimum number of instructions. The peripheral register set iscomposed of control, mode, data, status and enable/disable/status registers.
An on-chip Peripheral Data Controller (PDC) transfers data between the on-chip
USARTs and on- and off-chip memories address space without processor intervention.
Most importantly, the PDC removes the processor interrupt handling overhead, making
it possible to transfer up to 64K continuous bytes without reprogramming the start
address, thus increasing the performance of the microcontroller, and reducing the power
consumption.
System Peripherals The External Bus Interface (EBI) controls the external memory or peripheral devices via
an 8- or 16-bit databus and is programmed through the APB. Each chip-select line has
its own programming register.
Jozias del Rios escreveu:ou então vc faz uma relocation table...
tem que alterar o compilador ou criar macro se vc programa em ASM. Eu fazia isso com meu sistema operacional para x86...
basicamente, todo jump/call ou referencia a dados que exista e dependa do endereço-base para onde foi copiado o seu programa, cria uma entrada de 16bits numa tabela de "relocações".
Quando o programa vai ser iniciado, uma rotina soma o endereço base do programa ao endereço indicado por cada entrada nessa tabela.
Assim vc pode fazer multiplos (e até identicos) programas estarem na RAM ao mesmo tempo, sem precisar de memória virtual (MMU) que um ARM7 ou um CM3 não tem.
Talvez os compiladores GCC sejam capazes de gerar objeto que tenham isso, já que isso é usado em .EXE para DOS, se eu não me engano.
Usuários navegando neste fórum: Google [Bot] e 1 visitante