View Single Post
Old 25-07-2007, 02:51 AM   #15
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi scentoflove View Post
Trong TUT về UART của anh Nam có khai báo chuổi "Xin chào !" trong vùng psv. Anh Nam cho e hoi vùng psv nay là gi vậy, em đọc datasheet của ds33F Family thì có đề cập MCU va DSP instruction, e đọc nhưng ko hiểu lắm anh có thể giải thích về chổ này ko?
Lấy một datasheet của dsPIC nào đó (dsPIC30F4012 chẳng hạn), ở mục Core Overview có giải thích về PSV (Program Space Visibility). Tôi tóm lược ý như sau: Một trong hai cách truy xuất dữ liệu trong vùng nhớ chương trình là ánh xạ 16k word bộ nhớ chương trình vào vùng 32k byte nằm ở vùng địa chỉ cao của không gian bộ nhớ dữ liệu. Phương pháp truy xuất này được gọi là PSV (Program Space Visibility). Khi đó có thể dùng các phương pháp truy xuất bộ nhớ dữ liệu để truy xuất vùng nhớ chương trình đã được ánh xạ đó. Trang 16k nào được ánh xạ phụ thuộc vào giá trị của thanh ghi PSVPAG.

Các trình hợp dịch và biên dịch đã có các hàm hay macro có sẵn để xác định địa chỉ trang và địa chỉ bắt đầu trong trang đó của 1 vùng nhớ cụ thể (đã được định nghĩa và gán giá trị trước đó, chẳng hạn như các chuỗi hằng). Do đó chúng ta chỉ cần đặt giá trị thích hợp (địa chỉ trang PSV của vùng dữ liệu cần truy xuất) vào thanh ghi PSVPAG, sau đó lấy địa chỉ offset của vùng dữ liệu (hằng) cần truy xuất vào một thanh ghi chỉ số nào đó chẳng hạn, và truy xuất như là nó đang nằm trong RAM dữ liệu (tất nhiên đây là các dữ liệu chỉ đọc, trong trường hợp bình thường).

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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn