Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Kernel
链接脚本_lds_sct_icf_分散加载
extern int Image$$RTT_HEAP$$ZI$$Base 的疑惑
发布于 2018-11-15 17:21:05 浏览:2947
订阅该版
在rt1052的bsp下,board.h里面有这么一段外部声明和宏定义 ```c extern int Image$$RTT_HEAP$$ZI$$Base; extern int Image$$RTT_HEAP$$ZI$$Limit; #define HEAP_BEGIN (&Image$$RTT_HEAP$$ZI$$Base) #define HEAP_END (&Image$$RTT_HEAP$$ZI$$Limit) ``` 在编译工程的时候报这样的错误 ```c Error: L6218E: Undefined symbol Image$$RTT_HEAP$$ZI$$Base (referred from board.o). Error: L6218E: Undefined symbol Image$$RTT_HEAP$$ZI$$Limit (referred from board.o). ``` 对于`Image$$RTT_HEAP$$ZI$$Base`,我在工程里搜索了,别的地方没有这个变量 1 这里 的外部声明是什么意思? 2 怎么消除编译的报错? 于是在board.c里加了俩句话 ```c int Image$$RTT_HEAP$$ZI$$Base; int Image$$RTT_HEAP$$ZI$$Limit; ``` 编译没有错误,msh可以正常使用,线程也可以在主线程main()下创建 但是main下的其他函数没有执行 代码如下: ```c int main(void) { dump_clock(); dump_cc_info(); dump_link_info(); rt_kprintf("build time: %s %s
", __DATE__, __TIME__); /* 启动文件线程,开启调度*/ file_thread = rt_thread_create("file",file_thread_entry,RT_NULL,4096,21,500); if (file_thread != RT_NULL) rt_thread_startup(file_thread); flash_test(); while (1) { rt_thread_delay(1000); } } ``` 根据终端打印的情况判断 以下代码都没有执行 ```c dump_clock(); dump_cc_info(); dump_link_info(); rt_kprintf("build time: %s %s
", __DATE__, __TIME__); flash_test(); ``` 把以上代码放入创建的线程中,可以执行有输出结果 求救
查看更多
6
个回答
默认排序
按发布时间排序
bernard
2018-11-16
这家伙很懒,什么也没写!
是链接脚本导出的符号,这部分可以看看Keil MDK的帮助文档
杨庆涛NB
2018-11-20
这家伙很懒,什么也没写!
恩,查了。 现在编译通过 在工程的分散加载文件里面有用到
春和景明
2018-12-13
这家伙很懒,什么也没写!
>是链接脚本导出的符号,这部分可以看看Keil MDK的帮助文档 --- 大神,能否上传个附件,MDK的帮助文档,没找到有关这些的!谢谢了。
春和景明
2018-12-18
这家伙很懒,什么也没写!
那你是怎么就编译通过了呢?能否说清楚点,谢谢!!
杨庆涛NB
2018-12-18
这家伙很懒,什么也没写!
于是在board.c里加了俩句话 ```c int Image$$RTT_HEAP$$ZI$$Base; int Image$$RTT_HEAP$$ZI$$Limit; ``` 编译没有错误,msh可以正常使用,线程也可以在主线程main()下创建 这是之前移植系统出现的问题,这样解决问题了。但是不放心,后来重新移植系统了,就没有这样的问题了。在分散加载文件里面出现了这些变量
wzu_0329
2021-07-30
这家伙很懒,什么也没写!
再次编译之后发现还是会出现两个错误,这是分散加载文件错误导致的 只需点开这个Edit!! ![1234.png](https://oss-club.rt-thread.org/uploads/20210730/831928dfa6f9618dc093b75d03e16729.png.webp) 进入编辑界面在图示位置加入下面两段代码即可,![123.png](https://oss-club.rt-thread.org/uploads/20210730/015bc577d6a8a9de9b40258a546e9288.png.webp) #define RTT_HEAP_SIZE(m_data_size-ImageLength(RW_m_data)-ImageLength(ARM_LIB_HEAP)-ImageLength(ARM_LIB_STACK)) ;ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down ;} ARM_LIB_STACK +0 EMPTY Stack_Size{} ; Stack region growing down RTT_HEAP +0 EMPTY RTT_HEAP_SIZE{}
撰写答案
登录
注册新账号
关注者
0
被浏览
2.9k
关于作者
杨庆涛NB
这家伙很懒,什么也没写!
提问
8
回答
21
被采纳
0
关注TA
发私信
相关问题
1
请教cpu使用率分析
2
选择FreeRTOS, 还是RT-Thread。
3
thread heap stack overflow ?
4
rtt消息队列delay问题
5
释放被删除线程的内存地方在哪里啊
6
请教:各线程结束后,释放其中的内存的连续性问题
7
STM32F103中断关于信号量、邮箱问题
8
RTT中的线程栈大小如何控制
9
关于线程由执行态变为挂起态的代码实现,,,
10
rt_malloc(rt_size_t size)内存分配函数最小分配尺寸问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
rt-thread 小内存算法源码分析
2
env中添加lvgl软件包后,keil编译包--c99错误
3
【NXP-MCXA153】 定时器驱动移植
4
GD32F450 看门狗驱动适配
5
【NXP-MCXA153】看门狗驱动移植
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
18
个答案
1
次被采纳
红枫
5
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
11
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部