给DFlash分配内存,如下
memory cal_rom
{
mau = 8;
size = 128k;
type = reserved nvram;
map (dest=bus:sri, dest_offset=0xaf001000, size=128k);
}
group cal_data_rom_section(ordered, contiguous, run_addr=0xAF001000)
{
section "cal_rom" (size=4K,attributes=r,fill=0xFF)
{
select "[.rodata.__cal_data_ram]";
}
}
如果把 section "cal_rom" (size=4K,attributes=r,fill=0xFF)中size的长度改为大于4,则编译会通过,但tasking Debug的时候会报错,如下截图
共2条
1/1 1 跳转至页
DFlash填充失败怎么解决?

关键词: DFlash

2楼
任务验证将失败。
DFlash填充失败可能有以下几个原因:
1.
内存大小不足:首先要确保为DFlash分配的内存大小足够,以满足程序的要求。在给DFlash分配内存时,你设置的size是128k,也就是128KB,这个大小是否足够取决于你的程序对DFlash的需求。如果DFlash填充失败,可以尝试增加分配给DFlash的内存大小。
2. 内存类型不对:在给DFlash分配内存时,你指定了type为reserved nvram。确保你的系统支持这种类型的内存,并且正确地配置了系统。
3. 内存映射配置错误:给DFlash分配了内存后,需要确保它正确地映射到系统总线上的正确地址。在你的示例中,DFlash被映射到了bus:sri的地址0xAF001000处。检查一下系统总线配置和DFlash的映射是否正确。
如果你修改了section "cal_rom"的size长度为大于4,编译可以通过,但是Tasking任务验证会失败。这可能是因为对DFlash的访问超出了实际分配的内存大小。在分配内存时,确保将size设置为实际需要的大小,以避免引发访问越界的问题。
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |