Thứ Ba, 4 tháng 11, 2014

Đọc và nạp chương trình trong chip MSP430 với file HEX

Bài trước tôi đã chỉ ra việc tạo file .hex trên IAR để đưa vào chương trình mô phỏng và hiện trên internet cũng có rất nhiều người chia sẻ chương trình của mình ở dạng file .hex. Bạn chỉ cần đem nội dung file .hex này nạp lại vào con chip tương ứng là đã có thể chạy bình thường – chỉ có điều không chỉnh sửa được thôi. :D
Bài viết này sẽ hướng dẫn việc trích xuất nội dung chương trình  và cách nạp lại nội dung đó vào vi điều khiển MSP430 với file hex – giống như việc các bạn vẫn “Ghost” máy tính ấy. :D
Hiện tại tôi đang học về VĐK MSP430 của Texas Instrument nên các bài viết sẽ thiên về dòng này. Công cụ để làm việc này có thể tìm kiếm trên internet dễ dàng theo các từ khóa bên dưới để có phiên bản mới nhất. Tất cả các công cụ dưới đây đều chạy trên Windows, còn nếu bạn dùng Linux thì tôi nghĩ có nhiều tool hơn.
– FET-Pro430-Lite (Bản Free)
– FET-Pro430 (Bản trả phí)
– MSP430Flasher
– MSP-Gang
– Còn lại là driver cho LaunchPad hoặc FET-MSP430 UIF hoặc MSP430 BSL… để mạch nạp có thể tương thích với hệ thống.
Có thể tải tại đây (Đã cập nhật đến 7/2014):
 MSP430 Flash Tool

Ở đây, tôi sẽ sử dụng chương trình FET-Pro430 phiên bản Lite – Free (Tôi thấy cũng đủ dùng rồi)
1. Tạo bản Clone – Backup nội dung trong MCU của bạn ra:
Nhớ là phải có driver cho thiết bị của bạn rồi nhé. Của tôi là Kit LaunchPad.
Cắm LaunchPad vào máy tính, sau đó mở chương trình FET-Pro430 lên.
– Chọn chủng loại MCU của bạn trong khung Microcontroller Type
– Nhấn nút READ/COPY để phần mềm đọc nội dung MCU.
Read/Copy nội dung MCU
Read/Copy nội dung MCU
Nội dung từ MCU được đọc ra có dạng hexa
Nội dung MCU được đọc lên
Nội dung MCU được đọc lên
Nhấn vào nút INTEL (*.hex) để mở nội dung file hex sau khi dump.
Nội dung file hex
Nội dung file hex
Lưu file hex này ở đâu đó mà bạn muốn. Đây chính là bản backup nội dung chip MCU của bạn. Bây giờ bạn có thể dùng nó để deploy ra nhiều con chip khác 1 cách nhanh chóng hoặc chia sẻ cho người khác mà không sợ mã nguồn bạn viết bị soi mói. ^^
2. Deploy nội dung đã backup ra các chip khác.
– Lắp con chip mới lên board LaunchPad của bạn, hoặc con chip mà bạn muốn nạp chương trình và nối vào máy tính.
– Bấm Open Code File và chọn file hex mà bạn muốn deploy (File hex này được tạo ra từ chính PM này – hoặc có thể là file .d43 được tạo ra từ IAR)
– Nhấn nút WRITE FLASH đẻ bắt đầu tiến trình deploy
Deploy file hex
Deploy file hex
Có thông báo hiện ra cho bạn rằng phần mềm sẽ Xóa nội dung có sẵn trong MCU trước khi Deploy nội dung mới => nhấn OK
Thông báo sẽ Xóa nội dung chip
Thông báo sẽ Xóa nội dung chip
Tiến trình triển khai nội dung mới được thông báo khi mọi thứ hoàn tất.
Deploy successfull
Deploy successfull
Sau đó nhấn nút RESET hoặc bật tắt lại LaunchPad để bắt đầu khởi động MCU sau khi nạp chương trình mới.
P/S: Hiện tại có một vướng mắc nhỏ: Nội dung file Hex được sinh ra từ phần mềm IAR tôi chưa tìm cách nào nạp trực tiếp vào MSP430 qua Kit LaunchPad được. Giải pháp BSL tôi chưa nắm rõ nên chưa thử. Bạn nào biết thì đóng góp nhé, nếu có giải pháp gì mới tôi cập nhật ngay tại bài viết này.

Không có nhận xét nào:

Đăng nhận xét