In function '_sbrk':查一下,sbrk( )是syscall 用來作heap memory managemet 的function call,他會需要知道heap region的end address。
syscalls.c : undefined reference to 'end'
所以需要由linker 告知 heap end address (end).
所以修改ldscript,在heap end 處定義 mark 'end' :
PRIVODE ( end = . ) ;但是要注意,要為heap留位置。
loading script中 ' . ' 的意思代表目前ram 的位址。
所以用..
. += 1000;就可以將 目前ram位置向後移動 1000 byte (也就是空出1000 bytes)
沒有留言:
張貼留言