PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Bootloaders - Programmers - Debuggers - Emulators

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 13-12-2022, 10:41 AM   #1
voducminh87
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.
voducminh87 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 07:24 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam