给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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |