請教一下這是什么問題

d:/mounriver_studio/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: SDIO-FATFS-TEST.elf section `.bss' will not fit in region `RAM'

d:/mounriver_studio/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: section .stack VMA [0000000020007800,0000000020007fff] overlaps section .bss VMA [00000000200000c0,0000000020015923]

d:/mounriver_studio/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: region `RAM' overflowed by 0 bytes

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:59: SDIO-FATFS-TEST.elf] Error 1


移植的原子的程序,感覺是malloc的問題

malloc.h

//定義三個內(nèi)存池

#define SRAM1? ?0? ? ? ?//內(nèi)部內(nèi)存池SRAM1

#define SRAM2? ?1? ? ? ?//內(nèi)部內(nèi)存池SRAM2


#define SRAMBANK? ? 2? ?//定義支持的SRAM塊數(shù).


//mem1內(nèi)存參數(shù)設(shè)定.mem1處于內(nèi)部SRAM1里面.

#define MEM1_BLOCK_SIZE? ? ? ? ?64? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //內(nèi)存塊大小為64字節(jié)

#define MEM1_MAX_SIZE? ? ? ? ? ?50*1024? ? ? ? ? ? ? ? ? ? ? ? ?//SRAM2空間為96K

#define MEM1_ALLOC_TABLE_SIZE? ?MEM1_MAX_SIZE/MEM1_BLOCK_SIZE? ?//內(nèi)存表大小


//mem2內(nèi)存參數(shù)設(shè)定.mem2處于內(nèi)部SRAM2里面.

#define MEM2_BLOCK_SIZE? ? ? ? ?64? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //內(nèi)存塊大小為64字節(jié)

#define MEM2_MAX_SIZE? ? ? ? ? ?30 *1024? ? ? ? ? ? ? ? ? ? ? ? //SRAM2空間為32K

#define MEM2_ALLOC_TABLE_SIZE? ?MEM2_MAX_SIZE/MEM2_BLOCK_SIZE? ?//內(nèi)存表大小


malloc.c

//內(nèi)存池(32字節(jié)對齊)

__attribute__((aligned(32))) u8 mem1base[MEM1_MAX_SIZE];? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//內(nèi)部SRAM1內(nèi)存池

__attribute__((aligned(32))) u8 mem2base[MEM2_MAX_SIZE]__attribute__((at(0X20000000)));? ? ? ? ? ? ? ? ?//內(nèi)部SRAM2內(nèi)存池

//內(nèi)存管理表

u32 mem1mapbase[MEM1_ALLOC_TABLE_SIZE];? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//內(nèi)部SRAM1內(nèi)存池MAP

u32 mem2mapbase[MEM2_ALLOC_TABLE_SIZE]__attribute__((at(0X20000000 + MEM2_MAX_SIZE))); //內(nèi)部SRAM2內(nèi)存池MAP


您好,GCC目前不支持attribute at屬性,需要通過section屬性和LD來實現(xiàn)類似功能,編譯顯示RAM也超出了,您使用的是哪款芯片,以及具體的用法及程序可以到郵箱:yangy@wch.cn 。詳細溝通下。


你好,已發(fā)送至你的郵箱,請賜教


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频