PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Bootloaders - Programmers - Debuggers - Emulators (http://www.picvietnam.com/forum/forumdisplay.php?f=9)
-   -   Build AN1388_Source_Code_2014_02_14 (http://www.picvietnam.com/forum/showthread.php?t=40423)

voducminh87 13-12-2022 10:41 AM

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.


Múi giờ GMT. Hiện tại là 06:22 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam