參數(shù)資料
型號(hào): BREAKING
英文描述: Breaking through the 1 Mbyte Address Barrier Application Note? 17.3KB (PDF)
中文描述: 通過1兆字節(jié)地址屏障應(yīng)用筆記打破? 17.3KB(PDF格式)
文件頁數(shù): 3/3頁
文件大?。?/td> 17K
代理商: BREAKING
Am29F016 Flash memory. When linking the program, each 256 KBytes segment in the Am29F016 Flash is linked
separately. This allows for the linker to resolve subroutine accesses made from each separate segment of the
Am29F016 Flash with the commonly shared code in the Am29F010 Flash.
The key to using both the expanded data and expanded code address space is to partition the data or code from the top
down. At the highest level, the programmer must think about the code or data and its interaction with other parts of the
program. This is why subroutines that are executed only once (for example, code used for start up initialization) and
interrupt service routines are prime candidates for dividing into the additional segments. The nature of such code lends
itself to the high level division.
If the user wants to have a single bank of Flash or single bank of SRAM, the same idea can be used for breaking the 1
MByte address boundary. However, some additional care must now be taken with the interrupt service routines. Figure
2 shows the implementation of extended SRAM and Flash. LCS is the chip select to 1 MByte of SRAM. Two PIO to the
upper address of the SRAM splits the SRAM into four segments of 256K each. UCS is the chip select to 4 MBytes of
Am29F016 Flash. Four PIOs separate it into 8 segments of 512 KBytes each. The remaining 256 KBytes of address
space is available for peripherals specific to the embedded application.
On boot up, the integrated pull-ups of the Am186ES microcontroller PIOs let us access the 512 KBytes segment of the
Am29F016 containing the start up code. If the Am186ES microcontroller did not have the integrated pull-ups, then
external pull-ups would be required. Otherwise, the upper four address bits of the flash would float and you could not
reliably know which of the 8 segments of the Am29F016 was being accessed.
As in the examples of figure 1 and figure 2, the software switches the PIOs to change segments as required. What has
changed is that you can not know which SRAM or Flash segments the program will be in when an interrupt occurs. The
Am186ES microcontroller will always get the interrupt vector from the interrupt vector table starting at address 0. This
means the bottom 1 KByte of each segment of SRAM must have a copy of the interrupt vector table. By the same token,
you can not know which of the 8 512 KBytes segments of Flash the program will be in when the interrupt occurs. There
are two ways to handle this. One is to duplicate enough of the interrupt service routine in each 512 Kbytes segment of
Flash to change the PIOs to the correct 512 KBytes segment of Flash and 256 KBytes of SRAM. The other method is to
use the SRAM to contain the code needed to switch to the correct Flash and SRAM segments.
One side affect of this technique for breaking the 1 MByte boundary is the inherent protection of the expanded
segments. No segment can address another segment without first changing the PIOs. The stacks for interrupts and main
program can be maintained separately, lowering the chance that the maximum stack expansion for main program and
interrupt service routine could together overflow the allotted stack space.
Using these techniques greatly extends the range of 186 applications. The improved performance of the more up to date
implementations of the 186, like the Am186ES microcontroller, provides more than enough horsepower to implement the
additional code to switch the PIOs. All or part of these methods can be implemented to meet the specific needs of your
embedded application.
Am186, Am188, and E86 are trademarks of Advanced Micro Devices, Inc.
AMD is a registered trademark of Advanced Micro Devices, Inc.
相關(guān)PDF資料
PDF描述
BRF2A16P Quad Differential Receivers BRF1A, BRF2A, BRS2B, BRR1A, and BRT1A
BRF1A Quad Differential Receivers BRF1A, BRF2A, BRS2B, BRR1A, and BRT1A
BRF1A16E Quad Differential Receivers BRF1A, BRF2A, BRS2B, BRR1A, and BRT1A
BRF1A16E-TR Quad Differential Receivers BRF1A, BRF2A, BRS2B, BRR1A, and BRT1A
BRF1A16G Quad Differential Receivers BRF1A, BRF2A, BRS2B, BRR1A, and BRT1A
相關(guān)代理商/技術(shù)參數(shù)
參數(shù)描述
Breakout Board 0084 功能描述:界面開發(fā)工具 x8 to x4x4 BrkoutBrd PEX 8624/16/12 RDK RoHS:否 制造商:Bourns 產(chǎn)品:Evaluation Boards 類型:RS-485 工具用于評(píng)估:ADM3485E 接口類型:RS-485 工作電源電壓:3.3 V
Breakout Board 1111 功能描述:界面開發(fā)工具 Breakout Board with x4 Edge connector RoHS:否 制造商:Bourns 產(chǎn)品:Evaluation Boards 類型:RS-485 工具用于評(píng)估:ADM3485E 接口類型:RS-485 工作電源電壓:3.3 V
BREAKOUT BOARD BMF055 功能描述:BMF055 Multiple Connectivity Arduino Platform Evaluation Expansion Board 制造商:bosch sensortec 系列:- 零件狀態(tài):新產(chǎn)品 平臺(tái):Arduino 類型:連接性 功能:多重 使用的 IC/零件:BMF055 內(nèi)容:板 標(biāo)準(zhǔn)包裝:1
BREAKOUT BOARD-844 制造商:PLX Technology 功能描述:BREAKOUT BRD W/X16 EDGE CONNECTOR FOR ADD'L FANOUT TO 3 SLOT - Bulk 制造商:PLX Technology 功能描述:BREAKOUT BOARD W/ X16 EDGE CONNECTOR FOR ADDITIONAL FAN-OUT - Boxed Product (Development Kits)
BREAKOUT BOARD-88 制造商:PLX Technology 功能描述:DEV TOOL - Bulk 制造商:PLX Technology 功能描述:BREAKOUT BOARD W/ X16 EDGE CONNECTOR FOR ADDITIONAL FAN-OUT - Boxed Product (Development Kits)