This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
Code Composer 6.1 Studio .Win7 3.0.0034万 32位。
我正在使用Piccolo 2.8022万和Analog Devices ADAU1701 DSP创建一个项目。
1701没有内置闪存,因此我将代码存储在Piccolo闪存中,并在用户每次开机时对1701进行编程。
1701具有一些不同(特定)的区域,必须按特定顺序进行编程。
我已经为1701代码创建了5个部分,我称之为0段到4段。 这些段存储在Piccolo闪存中,我生成了一个.h文件,将所有5个段映射到我称为"ADAUprog"的单个部分
CMD文件如下所示:
内存 { 第0页:... 第1页:/* 用于ADAU编码*/ FLASHDC的片上闪存:原点= 0x3F4000,长度= 0x0.2万 } 节 { ADAUprog :> FLASHDC,页=1 }
h文件如下所示:
... #define seg_0_addr 0x081C #define segment _0_size 2 #pragma data_section(seg野0,"ADAUprog"); const char segment _0[]= { #include "..\ADAU-1701\segment 0.dat" }; #define segment _1_addr 0x0400 #define char_1_seg_0[_prag1 ={#partse_parts.0.0_.0_ed.0_.0_edrag_1's段 中的数据段1'.1'_1'.1'.0'_adu.1'.1'.ad_parts段1'.0'.0'.0'.0
我注意到,当链接程序在该部分的较低地址使用连续内存时,它将我的段以随机顺序放置在该部分中。
链接程序在闪存中出现的实际最终顺序是segment 4,0,3, 2和1。
h文件按升序(按名称)列出句段,程序按相同顺序使用句段。
虽然这样做是可以的,但如果我每次在调试和编译之间来回来回切换时都刻录闪存,在大多数情况下,我会选择刻录闪存一次,然后重写CMD文件以执行该部分的NoLoad,以便进行后续测试。
当然,如果链接程序为我的段选择随机顺序,则不能保证顺序保持不变,我可能会将错误的数据加载到1701中。
是否有办法保证特定部分中的句段顺序?
谢谢,Mark。