DSP can work at a frequency of 150MHz. In order to give full play to its high-speed running characteristics, the FLASH program content is generally copied to the external high-speed SRAM for running. TMS320F28335 has 34K X 16bit SRAM inside. TI divides the internal SRAM into multiple blocks (see F28335.cmd). Generally, the program runs in the built-in FLASH. The running speed of the program in FLASH is determined by the reading speed of FLASH. If FLASH acceleration technology is not used, it is generally necessary to set a waiting time. In order to make the program run at high speed, at least one SRAM must be expanded to run the DSP algorithm or interrupt function at high speed. 1. External SRAM partition description The hardware of this project has expanded 256K 16bit SRAM with a clock delay of 10ns The SRAM model is: IS61LV25616AL-10T The location address is: 0x0200000 The first 128K is used as program space, and the last 128K is used as data space The location address is the same as the internal SRAM address of ARM. The reference content of the DSP Chinese data manual is shown in the figure below (can be enlarged): Figure 1-2 DSP typical 16-bit and 32-bit data bus connection diagram The data bus of the IS61LV25616AL-10T chip is 16 bits. The later STM32F429 board also uses this chip, but adds high and low bit selection lines, so it can read high and low bytes, which is more flexible than DSP: DSP reads at least 2 bytes at a time, while ARM can read any byte it wants. In addition, ARM has internal FLASH acceleration, so it can run directly at 180MHz, and the peripherals are 90MHz, but the performance difference is relatively small compared to DSP. Allocation in F28335.CMD file, details are as follows: XINTF zone 7 - program space ZONE7A: origin = 0x0200000, length = 0x020000 XINTF zone 7 - data space ZONE7B: origin = 0x0220000, length = 0x020000 2. Instructions for use of external DATA SRAM If the internal SRAM is not enough, use external DATA SRAM. The usage is as follows #pragma DATA_SECTION(bufferB, "ZONE7DATA"); uint16_t bufferB[512]; Observe the data 0x22000 area, you can see that the bufferB area is set with the correct data by the program. 2. Instructions for using external CODE SRAM External interrupt functions or general functions are declared in the following format #pragma CODE_SECTION(cpu_timer0_isr,"xintffuncs"); #pragma CODE_SECTION(cpu_timer1_isr,"xintffuncs"); The compiler will allocate these specific functions in a fixed FLASH area The starting address is XintffuncsLoadStart The end address is XintffuncsLoadEnd After XINTF Zone 7 is initialized in the main program, call the following function to allocate the specific functions in this area Copy to the running program space of external SRAM (0x0200000-0x021FFFF) MemCopy(&XintffuncsLoadStart, &XintffuncsLoadEnd, &XintffuncsRunStart); Frequently run or called capture functions, timer functions or specific algorithms can only truly exert the actual performance of TMS320C28335 if they are run in high-speed SRAM.