ARM连接器错误一则
时间:11-22
来源:互联网
点击:
在用RVCT3.1工作编写ARM程序的时候,出现了一个连接错误:Error: L6915E: Library reports error: scatter-load file declares no heap or stack regions and __user_initial_stackheap is not defined.在网上找了一些资料,原因是使用了自定了的scat文件后,编译器没有没有定义Image,连接的时候加上--keep __user_initial_stackheap否则还会提示该函数没有定义.
1.改写scat文件,定义ZI段,并将*(+ZI)数据放入该段.
2.覆盖系统默认提供 的__user_initial_stackheap()函数,比如可以这样做:
[plain]view plaincopyprint?
- /*
- *默认提供的__user_initial_stackheap()函数会用到Image
Limit这个值,ZI - *因为在使用Scat时这个值在默认情况下不被定义,所以要覆盖同名的库函数
- */
- __value_in_regsstruct__initial_stackheap__user_initial_stackheap(unsignedi0,unsignedi1,unsignedi2,unsignedi3)
- {
- struct__initial_stackheapconfig;
- config.heap_base=i1;
- config.heap_limit=i1;
- config.stack_base=i1;
- config.stack_limit=0;
- returnconfig;
- }
ARM连接器错误一 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)