SARAM:origin=0x8000 0000,length=0x00040000
然后将sections花括号中.bss:>DRRAM修改为.bss:>SARAM即可
编译器自动把变量分配到可读写空间上的任意位置DSP的所有变量,函数,以及程序员定义的地址都保存在这三片空间上,程序员在定义变量时,若没有特殊规定,则编译器自动把变量分配到可读写空间上的任意位置,所以当程序员使用int*p=0x00810000;
这种语法的时候,很有可能会覆盖掉程序保存变量和函数的空间,导致程序运行异常,因此需要一个.cmd文件来约束,哪些地方用来给程序员自己定义变量地址用,哪些地方用来给程序为变量和函数申请内存来用。
嵌入式的设备如DSP上的栈空间是Kb级别,在函数内定义数组或申请空间都不能像linux下那样直接定义和申请,要么定义成全局的,要么指向一块划分好的空间,否则就会造成覆盖代码段等的问题。
I/O空间地址声明 要在程序中访问io空间地址,必须首先用关键字“ioport”对要访问的地址进行定义。 语法:ioport t ype porthex_num ioport 声明io空间端口变量的关键字; type 变量类型,可以为char, short, int或unsigned int; porthex_num 端...欢迎分享,转载请注明来源:内存溢出
评论列表(0条)