4
รหัสเริ่มต้นเปลือยโลหะสำหรับการเริ่มต้นภูมิภาค Cortex M3 .bss
ฉันได้พัฒนาแรงบันดาลใจจากที่นี่เป็นรหัสเริ่มต้นโลหะเปลือยสำหรับ arm cortex M3 อย่างไรก็ตามฉันพบปัญหาต่อไปนี้: สมมติว่าฉันประกาศตัวแปรโกลบอลที่ไม่ได้กำหนดค่าเริ่มต้น, พูดถึงประเภท char ที่ไม่ได้ลงนามใน main.c #include ... unsigned char var; ... int main() { ... } สิ่งนี้ทำให้ภูมิภาค. bbs ใน STM32 f103 เริ่มต้นที่ _BSS_START = 0x20000000 และสิ้นสุดที่ _BSS_END = 0x20000001 ตอนนี้รหัสเริ่มต้น unsigned int * bss_start_p = &_BSS_START; unsigned int * bss_end_p = &_BSS_END; while(bss_start_p != bss_end_p) …