![]() |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Feb 2008
Bài gửi: 13
: |
Cần giúp đỡ về mảng kích thước lớn trong flash
Chào các bác.
Tôi đang có một ứng dụng dùng pic16f886, trong đó đọc lần lượt các giá trị trong flash và đưa ra spi. Tôi dùng khai báo "const unsigned char data[]={...}" để đặt sẵn các giá trị trong flash. Chương trình OK, nhưng chỉ với kích thước giới hạn nhỏ hơn 0x800. Còn với mảng dữ liệu lớn hơn thì không được, HTPIC pro báo:"can't find 0x801 words for psect "strings" in segment "CODE" ". Có vẻ như HTPIC không thể đặt dữ liệu trong 2 block flash thì phải. Bác nào biết cách khắc phục xin giúp đỡ. Thank trước. |
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
Bạn thử tách dữ liệu của bạn thành nhiều khối có độ dài 2048 xem. Tôi không dùng HTPIC nên không rõ cách làm cụ thể như thế nào trong HTPIC, bạn nên vào diễn đàn của HTPIC (http://www.htsoft.com/support/forums.php) để hỏi. Về thuật toán truy cập bảng kích thước lớn, bạn có thể tham khảo piclist (www.piclist.com), nhưng code mẫu của họ thường dùng hợp ngữ. Chẳng hạn trang này: http://www.piclist.com/techref/microchip/bigtable.htm. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 13-01-2009 lúc 12:50 AM. |
|
![]() |
![]() |
![]() |
#3 |
Trưởng lão PIC bang
|
Lỗi mà bạn đã gặp là lỗi (491) can’t find 0x* words for psect "*" in segment "*", đã được mô tả khá chi tiết ở trang 408 của tài liệu hướng dẫn sử dụng cho HTPIC Pro.
Bạn cần một khối nhớ liên tục có kích thước đủ lớn để đặt mảng hằng số vào. Việc này liên quan đến việc bạn cho biết linker phải đặt các psect vào đâu. Làm việc này như thế nào trong HTPIC thì tôi mù tịt. Trong MPLAB C18 chẳng hạn thì tôi chỉ cần chỉnh lại linker script được dùng để liên kết các module vào thành chương trình hoàn chỉnh. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|