4
我正在嘗試在我的裸機OS上爲樹莓派製作一個簡單的printf功能。在樹莓派上的棒棒糖
功能現在是空的:
int kprintf(const char *string, ...) {
}
目前,我能畫到屏幕上。但是,我在調用這個函數時遇到了問題。 作爲測試,我在調用kprintf之前在屏幕上繪製了幾個字符。
如果我使用:
kprintf ("HELLO");
屏幕是空白。但是,如果我使用:
kprintf ("HE");
一切都好。我現在唯一能想到的是鏈接器腳本必須存在問題。可能是rodata部分。
我使用的是修改過的鏈接腳本從劍橋RPI教程:
STARTUP(crt0.o)
SECTIONS {
.init 0x8000 : {
*(.init)
}
.text 0x8080 : {
*(.text)
*(.rodata)
}
.data : {
*(.data)
}
.bss : {
*(.bss)
*(COMMON)
}
/DISCARD/ : {
*(*)
}
}
任何想法?