|
Tài trợ cho PIC Vietnam |
Bootloaders - Programmers - Debuggers - Emulators Những công cụ cần thiết để lập trình cho PIC/dsPIC |
|
Ðiều Chỉnh | Xếp Bài |
13-12-2022, 10:41 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jun 2009
Bài gửi: 1
: |
Build AN1388_Source_Code_2014_02_14
Chào anh chị em,
Mình đang test bootloader cho PIC32MX 795F 512L và gặp 2 vấn đề như sau: 1. Mình thử build code mẫu ethernet "Bootloader" theo platform "AN1388_Source_Code_2014_02_14", theo hướng dẫn trong AN1388-PIC32 Bootloader. Nhưng kg được. (code mẫu "Demo_Application" thì build ok). Ace đã build được chỉ giùm mình. 2. Mình cũng chưa hiểu các thông số sau, sao phải đặt như thế: * Linker file của demo_app: _ebase_address = 0x9D006000; //---------------------Tại sao cộng thêm 6000 ? _RESET_ADDR = (0x9D006000 + 0x1000); //---------------------Tại sao + 1000 ? _BEV_EXCPT_ADDR = ((0x9D006000 + 0x1000) + 0x380); //---------------------Tại sao cộng thêm 1380 ? _DBG_EXCPT_ADDR = ((0x9D006000 + 0x1000) + 0x480); _DBG_CODE_ADDR = 0xBFC02000; _DBG_CODE_SIZE = 0xFF0; _GEN_EXCPT_ADDR = _ebase_address + 0x180; MEMORY { kseg0_program_mem (rx) : ORIGIN = (0x9D006000 + 0x1000 + 0x490), LENGTH = 0x81000 - (0x6000 + 0x1000 + 0x490) /* All C Files will be located here */ kseg0_boot_mem : ORIGIN = 0x9D006000, LENGTH = 0x0 /* This memory region is dummy */ exception_mem : ORIGIN = 0x9D006000, LENGTH = 0x1000 /* Interrupt vector table */ kseg1_boot_mem : ORIGIN = (0x9D006000 + 0x1000), LENGTH = 0x490 // Tại sao 490 ? ..... } * Linker file của bootloader: _ebase_address = 0x9FC01000; //---------------------Tại sao cộng thêm 1000 ? _RESET_ADDR = 0xBFC00000; _BEV_EXCPT_ADDR = (0xBFC00000 + 0x380); _DBG_EXCPT_ADDR = (0xBFC00000 + 0x480); _DBG_CODE_ADDR = 0xBFC02000; _DBG_CODE_SIZE = 0xFF0; _GEN_EXCPT_ADDR = _ebase_address + 0x180; MEMORY { kseg0_program_mem (rx) : ORIGIN = 0x9D000000, LENGTH = 0x6000 //---------------------Tại sao length là 6000 ? kseg0_boot_mem : ORIGIN = 0x9FC00490, LENGTH = 0x0 /* This memory region is dummy */ exception_mem : ORIGIN = 0x9FC01000, LENGTH = 0x1000 /* Interrupt vector table */ kseg1_boot_mem : ORIGIN = 0xBFC00000, LENGTH = 0x490 /* C Startup code */ ...... } Xin cảm ơn. |
|
|