Tải bản đầy đủ (.pdf) (30 trang)

vi xử lý hướng dẫn cấu hình của mcu và flash magic

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 30 trang )



KHOA CÔNG NGHỆ ðIỆN TỬ
BỘ MÔN ðIỆN TỬ CÔNG NGHIỆP




T
T
À
À
I
I


L
L
I
I


U
U


H
H
Ư
Ư



N
N
G
G


D
D


N
N


T
T
H
H
Í
Í


N
N
G
G
H
H
I

I


M
M


-
-


T
T
H
H


C
C


H
H
À
À
N
N
H
H

















Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 2 Biên soạn: Phạm Quang Trí
2.1 Giới thiệu phần mềm MCU Program Loader V2.0:

Phần mềm MCU Program Loader kết hợp với khối lập trình vi ñiều khiển trên mô hình thí nghiệm tạo thành
một thiết bị lập trình vi ñiều khiển họ 89 của hãng Atmel. Thiết bị lập trình vi ñiều khiển này hỗ trợ cho các vi
mạch sau:

Flash (Kbytes) EEPROM RAM (Bytes) I/O Pins
AT89C51
4 128 32
AT89LV51
4 128 32
AT89C52
8 256 32

AT89LV52
8 256 32
AT8C55
20 256 32
AT89LV55
20 256 32
AT89C55WD
20 256 32
AT89S51
4 128 32
AT89LS51
4 128 32
AT89S52
8 256 32
AT89LS52
8 256 32
AT89S53
12 256 32
AT89LS53
12 256 32
AT89S8252
8 2 KB 256 32
AT89LS8252
8 2 KB 256 32
AT89C1051
1 128 15
AT89C2051
2 128 15
AT89C4051
4 128 15

Thiết bị lập trình này bao gồm một hệ thống phần cứng và phần mềm thông minh. ðơn giản, dễ sử dụng và
hiệu suất cao ñó là những ñặc ñiểm nổi bật của thiết bị lập trình này. Nó có khả năng lập trình (Progam), ñọc
(Read) và kiểm tra mã dữ liệu (Verify Code Data), chống ñọc dữ liệu (Write Lock Bits), xoá (Erase) và kiểm tra
khoảng trống (Blank Check).Phần cứng (khối lập trình vi ñiều khiển trên mô hình thí nghiệm) ñược tạo thành từ
một vi ñiều khiển thông minh mà nó có khả năng hiểu ñược giao thức truyền nhận dữ liệu với máy tính thông qua
port nối tiếp. Trên máy tính, phần mềm MCU Program Loader có khả năng nhận dạng phần cứng và nhận dạng vi
mạch vi ñiều khiển ñược ñưa vào thiết bị. Phần mềm sẽ thực hiện việc truyền dữ liệu từ máy tính sang vi ñiều khiển
cần lập trình hoặc ñọc dữ liệu trên vi ñiều khiển ñã ñược lập trình trở về máy tính. ðịnh dạng dữ liệu sử dụng ở ñây
phải là tập tin dạng HEX của Intel. Ngoài ra, phần mềm còn hỗ trợ việc chống ñọc dữ liệu từ vi ñiều khiển ñã ñược
lập trình (Lock bit).

Các thông số kỹ thuật:

• Hỗ trợ lập trình các vi ñiều khiển họ 89 của hãng Atmel.
• Tự ñộng nhận dạng phần cứng ñược kết nối và các thiết bị.
• So sánh dữ liệu và kiểm tra lỗi.
• Khoá các chương trình trên vi mạch sau khi lập trình.
• Tự ñộng xoá trước khi ghi dữ liệu mới và tự ñộng kiểm tra dữ liệu sau khi ghi xong.
• Chuẩn giao tiếp: RS232C.
• Tốc ñộ truyền dữ liệu: 19200 bps, 8 bits, no parity, 1 stop, no flow control.
• ðịnh dạng tập tin dữ liệu: Intel 8 bit HEX.
• Hệ ñiều hành làm việc: Windows 95, 98, Me, 2000, NT, XP.
Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 3 Biên soạn: Phạm Quang Trí
2.2 Hướng dẫn sử dụng phần mềm MCU Program Loader V2.0:

Sử dụng phần mềm tương thích ñể soạn thảo chương trình ñiều khiển mong muốn cho vi ñiều khiển. Sau khi ñã
soạn thảo xong và kiểm tra hoàn chỉnh chương trình ñiều khiển, bạn cần phải biên dịch chương trình này sang ngôn
ngữ máy ở dạng tập tin Intel 8 bit HEX và lưu vào trong máy tính.


Các bước thao tác ñể tải một chương trình ñiều khiển từ máy tính sang chip vi ñiều khiển bằng cách sử dụng
phần mềm MCU Program Loader V2.0.

• Bước 1:
Kết nối cáp RS232 giữa cổng COM của máy tính với cổng COM trên khối lập trình vi ñiều
khiển của mô hình thí nghiệm. Nếu máy tính có nhiều cổng COM thì kết nối với cổng nào cũng ñược
vì phần mềm sẽ tự nhận dạng cổng COM sử dụng.
• Bước 2:
Gắn chip vi ñiều khiển cần lập trình vào trong socket tương ứng.
Lưu ý rằng:
o Chúng ta chỉ gắn một loại vi ñiều khiển vào trong socket tương ứng mà thôi (hoặc loại vi ñiều
khiển 40 chân hoặc loại vi ñiều khiển 20 chân). Không ñược gắn cùng lúc hai loại vi ñiều
khiển vào cả hai socket vì như thế thiết bị sẽ không hoạt ñộng ñược.
o Chân số 1 của chip vi ñiều khiển phải ñược gắn sao cho nằm tại vị trí gần cần gạt của socket.
o Gạt cần xuống ñể khoá chặt chip vào mạch.


Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 4 Biên soạn: Phạm Quang Trí
• Bước 3: Bật các công tắc nguồn trên mô hình ñể cấp nguồn cho khối lập trình vi ñiều khiển. Sau ñó
nhấp ñúp chuột vào biểu tượng ProLoad ñể khởi ñộng phần mềm MCU Program Loader. Giao diện
làm việc của phần mềm sẽ ñược hiện lên như hình minh họa dưới ñây.



Lưu ý rằng:
o Trường hợp lỗi không kết nối thiết bị (hình minh họa bên trái) hoặc lỗi không nhận dạng chip
(hình minh họa bên phải), giao diện làm việc sẽ như sau:




o Khi xuất hiện các trường hợp lỗi ñó ta cần kiểm tra lại: nguồn cấp cho thiết bị, cáp kết nối
RS232, chip còn tốt hay ñã hỏng, gắn chip vào mạch có ñúng chiều hay không, gắn hai chip
vào hai socket cùng lúc phải không (chỉ ñược phép gắn một chip vào một socket bất kỳ mà
thôi).

Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 5 Biên soạn: Phạm Quang Trí
• Bước 4: Tiến hành nạp chương trình từ máy tính vào bộ nhớ của chip hoặc ñọc dữ liệu từ bộ nhớ của
chip vào trong máy tính.

o Trường hợp nạp chương trình cho chip:
 Nếu bạn muốn khóa không cho người khác ñọc chương trình mà mình ñã nạp trong
chip. Bạn ñánh dấu chọn vào hộp chọn Set lock bytes after writing. Ngược lại thì bạn
không ñánh dấu chọn vào hộp chọn này.



 Nhấp chuột vào nút Send. Một hộp thoại sẽ hiện lên ñể bạn chọn tập tin chương trình
cần nạp cho vi ñiều khiển. Lưu ý rằng, trong mục File of type phải chọn kiểu Intel
HEX Files, tuyệt ñối không ñược chọn kiểu All Files vì nếu chọn kiểu này sẽ dễ dẫn
ñến trường hợp ta chọn không ñúng loại tập tin chương trình ñể nạp vào chip vi ñiều
khiển.



Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 6 Biên soạn: Phạm Quang Trí
 Chọn tập tin chương trình cần thiết, sau ñó nhấn vào nút Open. Phần mềm sẽ tiến hành
xóa dữ liệu cũ có trên chip, nhận dạng lại thiết bị và tiến hành nạp dữ liệu vào chip.




 Quá trình nạp hoàn tất khi xuất hiện thông báo Write Successful trên giao diện làm
việc của phần mềm.



Lưu ý rằng: Số lượng byte bộ nhớ ñã sử dụng mà phần mềm thông báo sau khi ñã nạp chip xong
có thể không bằng (nhưng phải là nhỏ hơn) với số lượng byte của tập tin chương trình ngoài thực
tế. Lý do là phần mềm chỉ kiểm tra bộ nhớ của chip sau khi ñã nạp xong và kết luận là byte ñã sử
dụng khi giá trị của byte ñó khác FFH mà thôi, còn nếu giá trị của byte ñó bằng FFH thì phần
mềm coi như là byte chưa ñược sử dụng.






Số lượng byte bộ
nhớ ñã sử dụng.
Số lượng byte của tập tin
chương trình ngoài thực tế.

Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 7 Biên soạn: Phạm Quang Trí
o Trường hợp ñọc chương trình trong chip:
 Nhấp chuột vào nút Read. Một hộp thoại sẽ hiện lên ñể bạn nhập vào tên tập tin
chương trình mà tại ñó bạn muốn lưu chương trình ñọc ñược từ trong vi ñiều khiển.
Lưu ý rằng, trong mục File of type phải chọn kiểu Intel HEX Files, tuyệt ñối không

ñược chọn kiểu All Files vì nếu chọn kiểu này sẽ dễ dẫn ñến trường hợp ta chọn không
ñúng loại tập tin chương trình ñọc ñược từ trong chip vi ñiều khiển.



 Bạn cần phải nhập tên tập tin vào mục File name, sau ñó nhấp chuột vào nút Save ñể
tiếp tục quá trình xử lý. Phần mềm sẽ tiến hành ñọc chương trình trong vi ñiều khiển
và lưu vào máy tính tại nơi mà bạn ñã xác ñịnh ở trên.



Chương 2: Hướng dẫn sử dụng phần mềm MCU Program Loader.
Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí
 Quá trình ñọc chương trình hoàn tất khi xuất hiện thông báo File Saved trên giao diện
làm việc của phần mềm.



• Bước 5:
Sau khi hoàn tất quá trình nạp (hoặc ñọc chương trình) từ máy tính sang vi ñiều khiển (hoặc từ
vi ñiều khiển sang máy tính), bạn tắt các công tắc nguồn trên mô hình ñể ngưng cấp nguồn cho khối lập
trình vi ñiều khiển và tháo chip ra khỏi bộ nạp.

Tiến hành theo ñúng trình tự ñã hướng dẫn bên trên bạn sẽ hoàn tất một cách rất dễ dàng việc nạp chương trình
(hoặc ñọc chương trình) cho chip vi ñiều khiển. Bạn cần phải chú ý ñến các ñiểm rất quan trọng là:
• Luôn luôn phải tắt nguồn cung cấp cho thiết bị nạp trước khi tiến hành tháo/gắn chip vi ñiều khiển
vào socket nhằm tránh gây hỏng chip vi ñiều khiển này.
• Số lượng byte bộ nhớ ñã sử dụng mà phần mềm thông báo sau khi ñã nạp chip xong có thể không
bằng (nhưng phải là nhỏ hơn) với số lượng byte của tập tin chương trình ngoài thực tế (là số byte
mà bạn thấy trong quá trình phần mềm nạp chương trình cho vi ñiều khiển).

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí
2.3 Giới thiệu phần mềm Flash Magic V4.28:
NXP Semiconductors ñưa ra một loạt các vi ñiều khiển có cả hai tính năng là bộ nhớ Flash ñược tích hợp trên
chip và khả năng ñược lập trình lại sử dụng kỹ thuật ISP (In-System Programming). Flash Magic là một phần mềm
hoạt ñộng trong môi trường Windows, nó cho phép truy xuất một cách dễ
dàng ñến tất cả các ñặc trưng ISP ñược cung cấp cho các thiết bị. Những ñặc
trưng này gồm có:
• Xóa bộ nhớ Flash (từng khối riêng biệt hoặc toàn bộ bộ nhớ).
• Lập trình bộ nhớ Flash.
• Sửa ñổi Boot Vector và Byte trạng thái.
• ðọc bộ nhớ Flash.
• Thực hiện kiểm tra khoảng trống trên một ñoạn của bộ nhớ Flash.
• ðọc các byte ký hiệu.
• ðọc và ghi các bit bảo mật.
• Truyền thông tốc ñộ cao.
• Gửi các lệnh ñể ñặt thiết bị trong chế ñộ Bootloader.
Flash Magic một giao diện người dùng ñơn giản và rõ ràng, các ñặc ñiểm này sẽ ñược trình bày trong các phần
tiếp theo. Với Windows, tại một thời ñiểm chỉ có một ứng dụng có thể truy xuất cổng COM, các ứng dụng khác bị
cấm sử dụng cổng COM. Flash Magic chỉ chiếm quyền truy xuất cổng COM ñược chọn khi các thao tác ISP ñược
thực thi. ðiều này có nghĩa là các ứng dụng khác cần sử dụng cổng COM, chẳng hạn các công cụ gỡ rối, có thể
ñược dùng khi Flash Magic ñã ñược tải.
2.4 Các yêu cầu tối thiểu khi sử dụng phần mềm Flash Magic:
Cấu hình máy tính tối thiểu cần phải có ñể có thể sử dụng ñược phần mềm Flash Magic:
• Hệ ñiều hành Windows 95/98/ME/NT/2000/XP.
• Chuột.
• Cổng COM.
• 16Mb RAM.
• HDD còn trống 3Mb.
2.5 Giới thiệu giao diện người dùng của phần mềm Flash Magic:

2.5.1 Cửa sổ chính:
Bên dưới trình bày cửa sổ chính của phần mềm Flash Magic. Tùy thuộc vào thiết bị ñược chọn mà cửa sổ này
có thể hơi khác một chút so với hình ñược trình bày dưới ñây.

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 10 Biên soạn: Phạm Quang Trí
Cửa sổ này ñược chia làm 5 phần. Cách thức làm việc của bạn là ñi từ phần 1 ñến phần 5 ñể lập trình một thiết
bị bằng cách sử dụng các chức năng cơ bản nhất. Mỗi phần ñược mô tả chi tiết trong các mục sau.
Tại góc dưới bên trái của cửa sổ là vùng dùng ñể hiển thị các thông tin của quá trình xử lý và góc dưới bên phải
của cửa sổ là vùng dùng ñể hiển thị tiến trình xử lý ñã diễn ra ñến ñâu. Giữa hai vùng này là bộ ñếm số lần chọn tập
tin HEX ñể lập trình.
Phía trên vùng hiển thị các thông tin của quá trình xử lý ñược dùng ñể hiển thị các thông tin hướng dẫn kèm
theo phần mềm. Các thông tin này xoay quanh các liên kết Internet mà bạn có thể nhấp chuột vào ñó ñể ñi tới một
trang web bằng cách sử dụng trình duyệt web mặc ñịnh của bạn. Nếu bạn muốn xem nhanh qua các thông tin
hướng dẫn này thì khi ñó bạn có thể nhấp chuột vào nút nhấn:

2.5.2 Các menu:
Trong phần mềm có 5 menu: File, ISP, Options, Tools và Help.
• Menu File:
o Open…: dùng ñể mở một tập tin HEX ñã có sẵn (ñịnh dạng
.HEX), tập tin này ñể nạp vào IC.
o Save as…: dùng ñể lưu các thông tin chứa trong IC thành tập
tin HEX (ñịnh dạng .HEX), có thể chọn lựa khoảng ñịa chỉ cần
lấy thông tin từ IC.
o Information…: dùng ñể hiển thị một số thông tin về tập tin
HEX ñã chọn (tên, nơi lưu trữ, kích thước, ngày khởi tạo và
ngày sửa ñổi tập tin; khoảng ñịa chỉ lưu tập tin trong IC, số
byte bộ nhớ cần sử dụng, tỉ lệ bộ nhớ cần dùng ñể lưu thông
tin, khối bộ nhớ sử dụng).
o Open Settings…: dùng ñể mở tập tin lưu trữ thông tin cấu hình

cài ñặt cho Flash Magic (ñịnh dạng .FMS), việc này giúp cho người sử dụng có thể nhanh chóng
thiết lập lại cấu hình chương trình Flash Magic tương thích cho thiết bị ñã sử dụng trước ñây.
o Save Settings…: dùng ñể lưu lại thông tin cấu hình cài ñặt hiện tại của Flash Magic (ñịnh dạng
.FMS).
o Save Command Line Directives: dùng ñể lưu các thông tin cấu hình cài ñặt cho Flash Magic dưới
dạng các dòng lệnh (ñịnh dạng .TXT).
o Exit: dùng ñể thoát khỏi Flash Magic.
• Menu ISP:
o Blank Check…: dùng ñể kiểm tra các không gian còn trống
trong bộ nhớ của thiết bị (IC).
o Read Security…: dùng ñể ñọc các thông tin bảo mật của IC.
o Read Device Signature…: dùng ñể ñọc ký hiệu nhận dạng của
IC do nhà sản xuất thiết lập.
o Boot Vector and Status Byte…: dùng ñể ñiều chỉnh Boot
vector và byte trạng thái của IC.
o Display Memory…: dùng ñể hiển thị nội dung bộ nhớ chương
trình của IC.
o Erase Flash…: dùng ñể xóa bộ nhớ Flash (xóa theo từng khối,
xóa toàn bộ bộ nhớ hoặc chỉ xóa vùng nhớ cần sử dụng bởi tập
tin HEX).
o Erase Flash Pages…: dùng ñể xóa bộ nhớ Flash (xóa theo
từng trang 128 byte hoặc xóa toàn bộ bộ nhớ).
o Verify…: dùng ñể so sánh nội dung thông tin ñã nạp trong IC
với nội dung của một tập tin HEX nào ñó.
o Excute…: dùng ñể ñiều khiển việc thực thi chương trình ñã
nạp trong IC.
o Reset…: dùng ñể ñiều khiển reset lại hoạt ñộng của IC (chỉ
dùng ñược khi tín hiệu RST của IC ñược thiết kế ñể có thể
nhận ñiều khiển từ PC thông qua chân DTR của cổng COM).
o Go…: dùng ñể ñiều khiển việc thực thi chương trình ñã nạp

trong IC từ ñịa chỉ do ta xác ñịnh.
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 11 Biên soạn: Phạm Quang Trí
o Start Bootloader…: dùng ñể gửi các lệnh từ máy tính sang vùng nhớ Bootloader của IC. Xem
thêm ở các mục sau.
o Read Clocks…: dùng ñể ñọc các xung nhịp từ IC.
o Device Configuration…: dùng ñể thiết lập cấu hình chế ñộ ngõ vào ISP cho IC.
o Cyclic Redundancy Check…: dùng ñể kiểm tra lỗi (CRC) tự ñộng. Xem thêm ở các mục sau.
o Read MISR…: dùng ñể ñọc các giá trị MISR từ bộ nhớ Flash của IC. Xem thêm ở các mục sau.
o Serial Number…: dùng ñể thiết lập số serial cho IC, việc này nhằm mục ñích không cho phép truy
xuất IC thông qua giao tiếp ISP nếu biết số serial này.
o Enable SoftICE…: dùng ñể cho phép thực hiện tính năng SoftICE của IC.
o Additional Security Bits…: dùng ñể thiết lập các bit bảo mật cho IC. Xem thêm ở các mục sau.
o Update Bootloader…: dùng ñể cập nhật lại nội dung chương trình trong Bootloader của IC. Xem
thêm ở các mục sau.
Lưu ý: Khi dùng tính năng này nếu không cẩn thận thì có khả năng làm hỏng nội
dung chương trình Bootloader dẫn ñến không thể dùng IC giao tiếp theo kiểu
ISP ñược nữa, lúc này muốn sử dụng lại chế ñộ ISP của IC phải tiến hành
nạp lại chương trình trong Bootloader cho IC bằng một bộ nạp chương trình
chuyên dụng).
o EEPROM…: dùng ñể ñọc nội dung thông tin trong EEPROM của IC.
• Menu Options:
o Advanced Options…: dùng ñể thiết lập một số tính năng ñặc
biệt như cấu hình phần cứng mạch giao tiếp ISP, tốc ñộ giao
tiếp, bảo mật chương trình,…
o Disable Hints Update…: dùng ñể cho phép hoặc không cho
phép cập nhật các thông tin hỗ trợ trực tiếp từ website của
nhà cung cấp phần mềm.
• Menu Tools:
o Terminal: dùng ñể thực hiện việc giao tiếp truyền dữ liệu

thông qua cổng COM giữa Flash Magic với thiết bị bên
ngoài, chức năng này ñược thiết kế ñể cho phép người lập
trình có thể giao tiếp với vi ñiều khiển trong việc kiểm tra
chương trình ñiều khiển. Xem thêm ở các mục sau.
o Script: dùng ñể hỗ trợ viết các lệnh trong ngôn ngữ lập trình Python. Các lệnh này có thể ñược
thực thi bởi Flash Magic và truy xuất hoàn toàn ñến API mức thấp, cho phép bất cứ thao tác ISP
nào ñược thực hiện. Xem thêm ở các mục sau.
• Menu Help:
Dùng ñể hỗ trợ trực tuyến cho người sử
dụng khi dùng phần mềm Flash Magic
(chỉ dùng ñược khi có kết nối Internet).
Ngoài ra ñể có thể sử dụng ñược ñầy ñủ
các tính năng cao cấp của phần mềm
Flash Magic thì ñòi hỏi ta phải ñược nhà
sản xuất cung cấp cho một mã ñăng nhập
(Access Code) ñể ñiền vào mục Enter
Accesss Code. Nếu không có mã ñăng
nhập này thì ta chỉ có thể sử dụng ñược
cái tính năng cơ bản nhất của phần mềm
mà thôi.
2.5.3 Chú thích công cụ:
ðể hỗ trợ cho người dùng khi làm việc với Flash Magic, nhà sản
xuất ñã tích hợp sẵn chức năng chú thích công cụ trong phần mềm. ðể
có thể biết chức năng của một công cụ nào ñó trong Flash Magic, bạn di
chuyển con trỏ ñến phía trên công cụ ñó và ñể nó tại vị trí ñó trong
khoảng một hoặc hai giây thì sẽ thấy có một ñoạn chú thích hiện lên.
Nên nhớ rằng các chú thích sẽ không xuất hiện khi công cụ ñó ở
trạng thái không hoạt ñộng (ñang bị ẩn).
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 12 Biên soạn: Phạm Quang Trí

2.6 Các bước ñể lập trình cho IC:
Việc lập trình cho IC ñược tiến hành qua 5 bước, mỗi bước tương ứng với một phần trong cửa số chính ñã ñược
mô tả trong mục “2.5 Giới thiệu giao diện người dùng của phần mềm Flash Magic”.
Tuy nhiên, trước khi tiến hành các bước này ta cần thiết lập cấu hình hoạt ñộng cho phần mềm Flash Magic ñể
tương thích với cấu hình phần cứng bên ngoài. Chi tiết xem hình bên dưới.

“ NẾU KHÔNG THIẾT LẬP ðÚNG THÌ KHÔNG THỂ NẠP CHƯƠNG TRÌNH SANG CHO IC ðƯỢC “
Ghi chú: Mặc ñịnh khi cài ñặt phần mềm Flash Magic vào máy tính lần ñầu tiên thì ô này sẽ ñược ñánh
dấu. Tuy nhiên, do mô hình thí nghiệm vi ñiều khiển ñược thiết kế chỉ dùng hai chân TXD và RXD của
cổng COM ñể giao tiếp (không dùng chân DTR) nên không ñược ñánh dấu vào ô này.
2.6.1 Bước 1: Chọn thông số hoạt ñộng.
• Chọn cổng COM:
Chọn cổng COM từ danh sách thả xuống. Hiện nay các máy PC ñều có thiết kế 1 cổng COM nằm phía sau máy
(cổng RS232 – có 9 chân), ñối với các máy này thì cổng COM thông thường ñược mặc ñịnh là COM 1. Nên khi kết
nối hệ thống vi ñiều khiển với máy PC ñể nạp chương trình cho IC thì ta chọn COM 1.

Trường hợp khi máy không có thiết kế cổng COM mà chỉ có các cổng USB (như là các máy tính xách tay) thì
ta có thể dùng cáp chuyển ñổi USB-RS232. Khi sử dụng loại cáp chuyển ñổi này ta cần phải cài ñặt driver ñi kèm
theo cáp vào máy tính thì mới có thể sử dụng
ñược. Tuy nhiên, trong trường hợp này cổng
COM sẽ có số ngẫu nhiên tùy thuộc vào
driver ñã cài ñặt. ðể xác ñịnh số cổng COM
ta cần gắn cáp chuyển ñổi vào máy tính, sau
ñó thực hiện như sau: nhấp phải chuột vào
My Computer

→→

Properties


→→

Hardware

→→

Device Manager

→→

Ports (LPT & COM) và xem số cổng do máy qui ñịnh (ví dụ trong hình minh họa dưới ñây
cổng COM có số thứ tự là COM 23) ñể từ ñó chọn cổng COM chính xác.

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 13 Biên soạn: Phạm Quang Trí
• Chọn tốc ñộ truyền dữ liệu:
Chọn tốc ñộ truyền dữ liệu từ danh sách thả xuống. ðầu tiên ta thử chọn một tốc ñộ thấp. Tốc ñộ cực ñại có thể
sử dụng ñược phụ thuộc vào tần số thạch anh trên phần cứng hệ thống vi ñiều khiển của bạn. Bạn có thể thử kết nối
với tốc ñộ càng lúc càng cao cho ñến khi việc kết nối xảy ra lỗi. Khi ñó bạn sẽ tìm thấy tốc ñộ truyền dữ liệu cao
nhất ñể kết nối với thiết bị.

Một vài thiết bị hỗ trợ truyền thông tốc ñộ cao. Vấn ñề này xem thêm trong mục “Truyền thông tốc ñộ cao” ñể
có thêm thông tin chi tiết hơn.
• Chọn thiết bị (IC):
Chọn thiết bị từ danh sách thả xuống. Bạn phải chắc rằng ñã chọn ñúng một thiết bị từ danh sách này, bởi vì
các thiết bị khác nhau thì có các ñặc ñiểm khác nhau và các phương pháp cài ñặt truyền thông nối tiếp cũng khác
nhau.

• Chọn giao diện:
Chọn giao diện từ danh sách thả xuống. Giao diện là cách thức kết nối giữa máy PC của bạn và phần cứng của

hệ thống vi ñiều khiển. Nếu ñơn giản bạn có một cáp nối tiếp hoặc cáp chuyển ñổi từ USB sang nối tiếp kết nối
cổng COM của máy PC với phần cứng của hệ thống vi ñiều khiển thì khi ñó chọn “None (ISP)”. Việc chọn ñúng
giao diện sẽ cấu hình một cách tự ñộng Flash Magic cho giao diện ñó, cùng với việc cho phép và không cho phép
các tính năng có liên quan.

Ngoài ra, một vài thiết bị có yêu cầu cung cấp tần số bộ dao ñộng (xem
hình minh họa bên dưới), các thiết bị nếu không yêu cầu cung cấp tần số bộ
dao ñộng thì vùng này sẽ không ñược hiển thị. Nhập vào tần số dao ñộng
ñược sử dụng trên phần cứng của hệ thống. Không ñược làm tròn giá trị tần
số này, thậm chí nó phải ñược nhập vào một cách chính xác và chi tiết.
2.6.2 Bước 2: Xóa bộ nhớ Flash.
ðây là bước bắt buộc, nếu bạn lập trình cho IC mà không thực hiện
xóa ít nhất một khối Flash thì khi ñó Flash Magic sẽ thông báo và hỏi bạn nếu bạn chắc chắn là mình muốn lập
trình cho IC. Vì thế, ñể ñảm bào cho quá trình lập trình ñược chính xác và không gây ra lỗi (có nhiều trường hợp
nếu bạn không xóa Flash trước khi nạp một chương trình mới vào thì quá trình nạp sẽ có lỗi) thì ta cần phải xóa
Flash. Việc xóa Flash có thể thực hiện bằng hai cách: thực hiện xóa tự ñộng tại Bước 2 hoặc thực hiện xóa thủ công
bằng các lệnh trong menu ISP.
• Trường hợp xóa tự ñộng tại Bước 2: Khi cần xóa
khối Flash nào thì chọn khối Flash mà bạn cần xóa
bằng cách nhấp chuột vào tên của nó. Nếu bạn
muốn xóa toàn bộ Flash thì khi ñó ñánh dấu chọn
vào tùy chọn “Erase all Flash”. Nếu bạn ñánh dấu
vào xóa một khối Flash và toàn bộ Flash thì khi ñó
khối Flash này sẽ không ñược xóa một cách riêng
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 14 Biên soạn: Phạm Quang Trí
lẻ. Nếu bạn chỉ muốn xóa các khối Flash ñược dùng cho tập tin HEX thì khi ñó bạn ñánh dấu chọn vào
tùy chọn “Erase blocks used by Hex File”. Nếu bạn không ñánh dấu vào một trong các tùy chọn ñã
trình bày ở trên thì khi lập trình cho IC chương trình sẽ ñưa ra thông báo yêu cầu xác nhận việc không
xóa Flash hoặc các khối ñược yêu cầu ñể lưu trữ tập tin HEX thì khi lập trình và kiểm tra chương trình

hoặc tạo giá trị kiểm tra tổng có thể xảy ra lỗi. Nếu chấp nhận việc này thì bạn chọn “Yes” ñể tiếp tục
quá trình lập trình cho IC còn ngược lại thì bạn chọn “No” ñể tiến hành xóa các khối Flash cần thiết
trước khi tiếp tục các bước sau.

• Trường hợp xóa thủ công bằng các lệnh trong menu ISP: Từ menu ISP ta có thể chọn xóa theo khối
“Erase Flash…” hoặc chọn xóa theo trang “Erase Flash Pages…” (mỗi trang có dung lượng là 128
byte).
o Khi xóa theo khối, ta chọn khối cần xóa
trong danh sách liệt kê bằng cách nhấp
chuột vào tên khối sau ñó nhấn nút “Erase”
ñể tiến hành xóa khối ñó; nếu ta cần xóa
toàn bộ Flash thì ta ñánh dấu chọn vào tùy
chọn “Erase all Flash” sau ñó nhấn nút
“Erase” ñể tiến hành xóa toàn bộ Flash; nếu
ta chỉ cần xóa những khối mà tập tin HEX
cần dùng ñến mà thôi thì ta ñánh dấu chọn
vào tùy chọn “Erase blocks used by Hex
File” sau ñó nhấn nút “Erase” ñể tiến hành
xóa các khối cần thiết.
o Khi xóa theo trang, ta chọn các trang cần
xóa trong danh sách liệt kê, nếu cần chọn
nhiều trang bất kỳ ta nhấn và giữ phím
CTRL sau ñó nhấp chuột vào trang mong
muốn ñể chọn nó (các trang ñược chọn sẽ
ñổi màu), nếu cần chọn một khoảng nhiều
trang liên tục nhau ta nhấp chuột vào trang
ñầu tiên sau ñó nhấn và giữ chuột ñồng thời
kéo rê chuột tới trang cuối cùng rồi thả
chuột ra (một loạt các trang liên tục nhau sẽ
ñược chọn) hoặc ta có thể thực hiện bằng

cách nhấp chuột vào trang ñầu tiên sau ñó
nhấn và giữ phím SHIFT rồi nhấp chuột
vào trang cuối cùng (một loạt các trang liên
tục nhau sẽ ñược chọn), sau ñó nhấn nút “Erase” ñể tiến hành xóa các trang ñã chọn; ngoài ra bạn
còn có thể xóa toàn bộ các trang bằng cách nhấp chuột vào nút “Erase All” thì toàn bộ các trang
(toàn bộ Flash) sẽ ñược xóa.


Sau khi nhấn nút “Erase” hoặc “Erase All”, nếu phần
cứng của hệ thống ñã ñược reset thì quá trình xóa Flash
của IC sẽ ñược diễn ra ngay lập tức, còn nếu phần cứng hệ
thống chưa ñược reset thì sẽ xuất hiện thông báo “Reset
Device” ñể yêu cầu bạn reset phần cứng của hệ thống. Bạn
chỉ cần nhấn nút RESET trên phần cứng của hệ thống thì
quá trình xóa Flash của IC sẽ ñược diễn ra.
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 15 Biên soạn: Phạm Quang Trí
Một số hình ảnh minh họa quá trình xóa Flash của IC ñang ñược diễn ra như sau:

2.6.3 Bước 3: Chọn tập tin HEX cần nạp cho IC.
ðây là bước bắt buộc, ñể chọn tập
tin HEX cần nạp cho IC ta nhấp chuột
vào nút “Browse…”, hộp thoại
“Select Hex File” sẽ xuất hiện ñể bạn
chọn tập tin HEX cần nạp cho vi ñiều
khiển. Lưu ý rằng, trong mục File of
type phải chọn kiểu HEX Files
(*.hex), tuyệt ñối không ñược chọn
kiểu All Files vì nếu chọn kiểu này sẽ
dễ dẫn ñến trường hợp ta chọn không

ñúng loại tập tin chương trình ñể nạp
vào chip vi ñiều khiển (nói chung là
ñừng ñiều chỉnh gì ở mục này, cứ ñể
mặc ñịnh của máy). Chọn tập tin HEX
cần nạp và nhấp chuột vào nút
“Open”.
Ngoài ra, bạn cũng có thể chọn
tập tin HEX bằng cách chọn lệnh
Open… từ menu File, và hộp thoại
“Select Hex File” sẽ xuất hiện và bạn tiến hành như trên ñã trình bày. Sau khi chọn xong thì tên tập tin HEX ñược
chọn sẽ xuất hiện trong mục “Hex File” của Bước 3, xem hình minh họa dưới ñây.

Ghi nhớ rằng tập tin HEX không ñược tải vào chương trình tại thời ñiềm này. ðiều này có nghĩa là nếu tập tin
HEX bị thay ñổi, ban không cần phải chọn lại nó trong Flash Magic. Mỗi lần tập tin HEX ñược lập trình, việc ñầu
tiên là phần mềm sẽ ñọc lại tập tin này từ nơi ñã ñược xác ñịnh trong cửa sổ chính.
Ngày giờ tập tin HEX này ñược hiệu chỉnh lần cuối cùng cũng ñược trình bày trong phần này. Thông tin này
ñược cập nhật bất cứ khi nào mà tập tin HEX ñược hiệu chỉnh. Tập tin HEX này không cần phải chọn lại. Nhấp
chuột vào “more info” hoặc chọn “Information” từ menu File sẽ hiển thị thêm các thông tin về tập tin HEX này.
Thông tin này bao gồm tầm ñịa chỉ bộ nhớ Flash ñược dùng cho tập tin HEX, số byte bộ nhớ Flash ñược dùng và
phần trăm bộ nhớ của IC ñược chọn bị chiếm bởi việc lập trình tập tin HEX này.
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 16 Biên soạn: Phạm Quang Trí
2.6.4 Bước 4: Chọn các chức năng ñặc biệt.
ðây là phần tự chọn tùy ý và không bắt buộc, tuy nhiên
thông thường thì ta nên chọn chức năng kiểm tra lại nội
dung bộ nhớ sau khi ñược lập trình (Verify After
Programming) nhằm mục ñích ñảm bảo tính chính xác của
chương trình sau khi ñược nạp vào IC. Các chức năng khác
không cần thiết phải chọn.
Chọn tùy chọn “Verify After Programming” sẽ dẫn ñến việc dữ liệu ñược chứa trong tập tin HEX sẽ ñược ñọc

trở lại từ Flash và ñược so sánh với tập tin HEX sau khi ñược lập trình. ðiều này giúp cho việc ñảm bảo rằng tập
tin HEX ñã ñược lập trình một cách chính xác. Nếu IC không hỗ trợ việc kiểm tra thì khi ñó tùy chọn này sẽ bị ẩn
ñi không hoạt ñộng.
Chọn tùy chọn “Fill Unused Flash” sẽ dẫn ñến việc mỗi vị trí bộ nhớ không ñược dùng bởi tập tin HEX thì
ñược lập trình bằng giá trị mà nó ñặt tất cả các bit vào trạng thái ñã ñược lập trình. Các vị trí ñược lập trình bằng
cách thức này thì nó không thể ñược lập trình lại bằng bất cứ giá trị nào khác, nhằm mục ñích ngăn cấm một ai ñó
muốn ñọc ra toàn bộ nội dung của Flash bằng cách lập trình lại IC bằng một chương trình dung lượng nhỏ hoặc làm
sai sự hoạt ñộng của ứng dụng.
Chọn tùy chọn “Gen Block Checksums” sẽ dẫn ñến việc chỉ thị Flash Magic lập trình vùng nhớ cao nhất trong
mỗi khối Flash ñược dùng bởi tập tin HEX bằng một “giá trị bộ ñiều chỉnh kiểm tra tổng”. Giá trị này bảo ñảm
rằng kiểm tra tổng ñược tính toán cho toàn bộ khối Flash thì nó sẽ bằng 55H, với ñiều kiện là các nội dung của khối
Flash không bị thay ñổi hoặc bị hư hỏng.Xem chi tiết ở mục kiểm tra tổng khối ñể biết thêm thông tin.
Chọn tùy chọn “Execute” sẽ dẫn ñến việc tập tin HEX sau khi ñược lập trình vào IC hoàn tất sẽ tự ñộng ñược
thực thi. Chú ý rằng ñiều này sẽ không xảy ra nếu ta dung tùy chọn reset bằng phần cứng (Hardware Reset) hoặc IC
không hỗ trợ tính năng này.
2.6.5 Bước 5: Nạp chương trình cho IC.
Nhấp chuột vào nút “Start” sẽ dẫn ñến việc tất cả các thao tác ñược chọn trong cửa sổ chính ñược diễn ra.
Chúng sẽ thực hiện theo thứ tự:
• Xóa Flash.
• Lập trình tập tin HEX.
• Kiểm tra tập tin HEX ñã nạp vào IC.
• Lấp ñầy Flash không ñược dùng.
• Tạo các kiểm tra tổng.
• Lập trình các bit clock.
• Lập trình các bit bảo mật.
• Thực thi chương trình sau khi nạp vào IC.
Sau khi nhấn nút “Start”, nếu phần cứng của hệ thống ñã ñược reset (việc reset này ñược ñã ñược thực hiện ở
Bước 2 – Xóa bộ nhớ Flash) thì quá trình lập trình cho IC
sẽ ñược diễn ra ngay lập tức, còn nếu phần cứng hệ thống
chưa ñược reset thì sẽ xuất hiện thông báo “Reset Device”

ñể yêu cầu bạn reset phần cứng của hệ thống. Bạn chỉ cần
nhấn nút RESET trên phần cứng của hệ thống thì quá trình
lập trình cho IC sẽ ñược diễn ra.
Khi ta nhấn nút “Start” thì thông tin về quá trình xử lý và hình ảnh minh họa quá trình xử lý ñang diễn ra sẽ
ñược hiển thị ở phía dưới của cửa sổ chính. Thêm vào ñó, nút “Start” sẽ thay ñổi thành nút “Cancel”. Nhấp chuột
lên nút “Cancel” nếu bạn muốn hủy quá trình xử lý. Chú ý rằng nếu bạn hủy quá trình xử lý trong khi ñang xóa
toàn bộ Flash, nó sẽ phải mất một vài giây trước khi quá trình xử lý ñược hủy. Một số hình ảnh minh họa quá trình
lập trình cho IC ñang ñược diễn ra như sau:
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 17 Biên soạn: Phạm Quang Trí
o Kiểm tra lại sự kết nối giữa Flash Magic và phần cứng của hệ thống cần ñược lập trình:

o Tiến hành xóa nội dung của Flash như ñã chọn ở Bước 2:

o Tiến hành lập trình cho IC.

o Tiến hành kiểm tra lại nội dung ñã nạp cho IC với nội dung của tập tin HEX ñược chọn ở Bước 3:

o Quá trình lập trình hoàn tất (không có lỗi trong quá trình lập trình):

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 18 Biên soạn: Phạm Quang Trí
Khi các hoạt ñộng ñã ñược hoàn tất, thông tin quá trình xử lý sẽ hiện lên thông báo ngắn gọn “Finished…”. Bộ
ñếm số lần ñược lập trình ñược hiển thị kế bên
hình ảnh minh họa quá trình xử lý ñang diễn ra sẽ
tăng lên.Tại ñây hiển thị tổng số lần tập tin HEX
này ñược lập trình. Hiệu chỉnh tập tin HEX hoặc
chọn lựa một tập tin HEX khác sẽ làm cho bộ
ñếm bị reset. Ngoài ra, ta còn có thể reset bộ ñếm
này bằng cách nhấp phải chuột vào giá trị bộ ñếm

và chọn “Reset Count”.
Trường hợp nếu quá trình lập trình có lỗi làm
cho nội dung của IC không giống với nội dung của tập tin HEX thì một thông báo lỗi sẽ xuất hiện (ghi nhớ rằng
Flash Magic chỉ phát hiện ra lỗi này khi trong Bước 4 ta có ñánh dấu ñể chọn tùy chọn “Verify After
Programming”), lỗi này thông thường là do ta không tiến hành xóa bộ nhớ Flash của IC trước khi lập trình cho nó.
Trong trường hợp này ta cần tiến hành xóa bộ nhớ Flash rồi lập trình lại cho IC. Hình dưới ñây minh họa trường
hợp lỗi xuất hiện trong quá trình lập trình.

2.7 Các ñặc tính ISP ñược hỗ trợ:
2.7.1 Lưu tập tin HEX:
Dùng ñể ñọc nội dung của chương trình trong bộ nhớ Flash của IC. Sau khi kết nối, chọn “Save As…” từ menu
File ñể mở cửa sổ “File Save”.

Ta có thể chọn vùng nhớ Flash cần lưu lại thành một tập tin HEX. Nhập ñịa chỉ bắt ñầu và ñịa chỉ kết thúc của
vùng nhớ mà bạn cần lưu. Ghi nhớ rằng ñịa chỉ bắt ñầu và ñịa chỉ kết thúc không cần phải tương ñương với một
khối Flash. Nếu muốn bạn cũng có thể lưu lại một vị trí nhớ ñơn lẻ của bộ nhớ (giá trị của một ô nhớ bất kỳ) bằng
cách nhập ñịa chỉ của vị trí ñó vào cả hai ô ñịa chỉ bắt ñầu và ñịa chỉ kết thúc.
Tiếp theo chọn lựa vị trí và tên của tệp tin HEX ñể lưu lại bằng cách nhập vào ñường dẫn trong mục “Hex
File” hoặc nhấp chuột vào nút “Browse…” và dẫn ñến một thư mục. Cuối cùng,nhấp chuột vào nút “Save” ñể bắt
ñầu lưu. Thông tin tiến trình lưu tập tin sẽ ñược trình bày ở phía dưới cửa sổ.

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 19 Biên soạn: Phạm Quang Trí
Trường hợp nếu ta chọn tầm ñịa chỉ cần ñọc nội dung không phù hợp như là ñịa chỉ bắt ñầu lớn hơn ñịa chỉ kết
thúc hoặc ñịa chỉ kết thúc nằm ngoài tầm bộ nhớ Flash của IC thì phần mềm sẽ ñưa ra các thông báo lỗi như các
hình ñược trình bày dưới ñây.



2.7.2 Kiểm tra vùng nhớ trống (chưa dùng):

Chọn “Bank Check…” từ menu ISP ñể thực hiện việc kiểm tra vùng nhớ trống trên toàn bộ các khối Flash của
IC. Sau khi hoàn tất việc kiểm tra vùng nhớ trống cửa sổ “Blank Check” sẽ hiển thị như hình dưới ñây.

Cột trạng thái (Status) chỉ thị tình trạng của khối là còn trống (Blank) hoặc không còn trống (Not blank). ðánh
dấu vào tùy chọn “Mark non-blank blocks to be erased” (ñánh dấu các khối không còn trống ñể xóa chúng) sẽ dẫn
ñến việc Flash Magic sẽ ñánh dấu chọn các khối tướng ứng trong phần Erase của cửa sổ chính (trong Bước 2). Ví
dụ nếu Khối 0 không còn trống, thì khi ñánh dấu chọn vào tùy chọn này sẽ làm cho Khối 0 trong phần Erase của
cửa sổ chính ñược ñánh dấu.

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 20 Biên soạn: Phạm Quang Trí
2.7.3 ðọc các thiết lập bảo mật:
Khi Flash Magic ñược chạy lần ñầu tiên nó sẽ tìm cách ñọc các bit
bảo mật của bất cứ IC nào ñã ñược kết nối với cổng COM ñã ñịnh sẵn.
Nếu không có IC nào ñược kết nối thì bạn có thể kết nối một IC vào và
chọn “Read Security…” từ menu ISP. Các thiết lập bảo mật sẽ ñược
ñọc và một cửa sổ như bên cạnh ñược mở ra.
Nếu một bit bảo mật ñược thiết lập thì khi ñó nó sẽ ñược làm nổi bật
lên.
2.7.4 ðọc ký hiệu nhận dạng IC:
Ký hiệu nhận dạng IC gồm có 2 hoặc 3 byte dùng ñể nhận dạng cho IC. ðể ñọc ký hiệu nhận dạng IC này ta
chọn “Read Device Signature…” từ menu ISP. Ký hiệu nhận dạng sẽ ñược ñọc và một cửa sổ như dưới ñây ñược
mở ra hiển thị 3 byte.

2.7.5 Hiển thị nội dung bộ nhớ:
Một tính năng hữu ích của phần mềm là có khả năng xem thấy nội dung của bộ nhớ. Chọn “Display
Memory…” từ menu ISP ñể thực hiện tính năng này. Nội dung bộ nhớ ñược hiển thị theo từng khối, khối cần hiển
thị có thể ñược chọn từ danh sách thả xuống nằm phía dưới của cửa sổ Display Memory.

Mỗi dòng trình bày 16 byte dữ liệu thể hiện qua hai chữ số HEX liên tiếp nhau, mỗi dòng ñược bắt ñầu bằng

ñịa chỉ của dữ liệu ñứng ñầu dòng ñó trong bộ nhớ IC. Nếu trong một dòng có chứa các dấu chấm hỏi “?” thì ñiều
này có nghĩa là các dữ liệu tại các vị trí ñó chưa ñược ñọc. Nội dung của bộ nhớ ñược ñọc và hiển thị ngay lên cửa
sổ Display Memory, nó cho phép ta có thể xem ñược nội dung bộ nhớ mà không cần phải ñợi cho ñến khi toàn bộ
bộ nhớ ñược ñọc vào. Việc chọn hiển thị một khối hoặc ñóng cửa sổ có thể thực hiện bất cứ lúc nào mà không phải
chờ ñợi hoàn tất quá trình ñọc nội dung. Mỗi dòng trình bày 16 byte dữ liệu ở dạng HEX và sau ñó là dạng ASCII.
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 21 Biên soạn: Phạm Quang Trí
2.7.6 Kiểm tra tập tin HEX sau khi nạp cho IC:
Việc kiểm tra này nhằm mục ñích kiểm tra tính chính xác giữa chương trình ñã nạp trong bộ nhớ của IC với
một tập tin HEX do ta chỉ ñịnh. ðể thực hiệ tính năng kiểm tra này ta chọn “Verify…” từ menu ISP. Bạn sẽ thấy
xuất hiện một cửa sổ như sau:

Chọn một tập tin HEX ñể kiểm tra bằng cách nhập ñường dẫn ñến tập tin ñó hoặc nhấp chuột vào nút Browse
và chọn tập tin. Nếu kiểm tra tổng ñược dùng trong quá trình lập trình IC thì khi ñó cần ñánh dấu vào tùy chọn
“Ignore checksum locations” ñể bỏ qua các vị trí kiểm tra tổng trước khi tiến hành kiểm tra. Nhấp chuột vào nút
“Verify” ñể bắt ñầu tiến trình kiểm tra. Thông tin về tiến trình kiểm tra sẽ ñược trình bày phía bên dưới của cửa sổ.

2.7.7 Số serial cho IC:
Một vài IC cung cấp tính năng số serial, nó ñược dùng ñể bảo vệ chống lại sự xâm nhập IC thông ISP. Nếu số
serial ñược cung cấp cho IC thì khi ñó vào lần reset kế tiếp IC sẽ khóa hầu hết các tính năng ISP cho ñến khi nó
ñược mở khóa bằng cách cung cấp một số serial ñúng. Số serial có thể bị reset tuy nhiên ñiều này sẽ luôn luôn dẫn
ñến việc IC sẽ bị xóa ñể ngăn cản việc truy xuất chương trình trong IC. Xem lại bảng thông số kỹ thuật của IC do
nhà sản xuất cung cấp ñể biết chính xác tính năng này có ñược hỗ trợ hay không. Nếu IC ñược chọn có hỗ trợ số
serial thì khi ñó lệnh “Serial Number…” trong menu ISP sẽ ñược kích hoạt. Chọn tính năng này sẽ làm xuất hiện
một cửa sổ như sau:

ðể khóa IC bằng cách ñặt số serial ta phải tiến hành nhập số serial hai lần, ta nhập lần thứ nhất vào ô “Enter
Serial Number” và nhập lại lần hai ñể xác nhận lại vào ô “Re-enter Serial Number”. Nội dung nhập vào hai ô này
phải giống nhau. Sau ñó nhấp chuột vào nút “Set Serial Number”.
ðể bỏ không thiết lập số serial thì ta nhấp chuột vào nút “Reset Serial Number”, nhưng nên nhớ rằng thao tác

này sẽ làm xóa tất cả nội dung chương trình chứa trong bộ nhớ Flash.
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 22 Biên soạn: Phạm Quang Trí
ðể mở khóa IC bằng cách dùng số serial, nhập chính xác số serial vào trong ô “Enter Serial Number” và nhấp
chuột vào nút “Unlock Device”.
Số serial có thể ñược nhập vào dưới dạng ASCII hoặc HEX, bằng cách chọn trong danh sách thả xuống. Ví dụ
các số serial dạng ASCII: “2A45bc2” hoặc “foobar” hoặc “MyOldMan”. Ví dụ các số serial dạng HEX:
“23BD4C2101ED3451” hoặc “112233AABBCC”. Các số serial có thể có ñộ dài cực ñại ñược phép là bất kỳ, các
số serial dạng HEX không cần phải thêm tiền tố 0x hoặc hậu tố H/h ñi kèm theo.
Sau khi Flash Magic ñã thiết lập xong thì bạn bắt buộc phải reset lại IC ñể cập nhật thông tin này, nếu không
thì mọi thiết lập ở trên coi như vô nghĩa. Khi ñã thiết lập số serial cho IC thì bạn không thể truy xuất IC ñược nữa
(ví dụ như là ñọc chương trình, hiển thị nội dung bộ nhớ, kiểm tra chương trình, xóa các trang Flash,…). Lúc này
chỉ còn có một thao tác còn tác dụng là xóa toàn bộ Flash nhưng nên nhớ rằng thao tác này sẽ làm xóa tất cả nội
dung chương trình chứa trong bộ nhớ Flash ñồng thời xóa luôn các số serial mà ta ñã thiết lập (IC trở về trạng thái
ban ñầu khi chưa thiết lập số serial). Nếu IC ñang ñược thiết lập số serial mà bạn truy xuất IC này thì một thông
báo như hình dưới ñây sẽ xuất hiện, bạn cần chọn “No” ñể dừng thao tác ñang thực hiện và tiến hành mở khóa cho
IC, sau ñó mới ñược tiếp tục thao tác cũ nhằm mục ñích ñảm bảo tính chính xác. Xem hình minh họa dưới ñây.

Nếu chưa mở khóa IC mà vẫn tiếp tục thực hiện thao tác sau khi nhận ñược thông báo bên trên (nghĩa là chọn
“Yes”) thì hoặc là thao tác vẫn tiếp tục diễn ra nhưng toàn bộ nội dung bộ nhớ Flash sẽ bị xóa và có khả năng là IC
sẽ không sử dụng ñược nữa hoặc là thao tác sẽ bị ngắt và một thông báo khác lại xuất hiện yêu cầu bạn phải mở
khóa cho IC bằng cách cung cấp một mật mã ñể bảo toàn nội dung bộ nhớ Flash. Xem hình minh họa dưới ñây.

ðể mở khóa cho IC bạn cần nhập chính xác số serial của IC, nếu nhập sai thi Flash Magic sẽ thông báo rằng số
serial mà bạn cung cấp không phù hợp và IC chưa ñược mở khóa.

Trường hợp bạn nhập ñúng số serial thì Flash Magic sẽ xuất hiện thông báo như hình minh họa dưới ñây, bạn cần
nhập chuột vào nút “Yes” ñể tiến hành mở khóa và tiếp tục làm việc.

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.

Giáo trình thực hành vi xử lý. 23 Biên soạn: Phạm Quang Trí
2.7.8 Cập nhật lại chương trình trong Bootloader:
Một vài loại IC cho phép bootloader có thể ñược cập nhật thông qua ISP. ðiều này chỉ có thể ñược thực hiện
bằng cách sử dụng một tập tin HEX cập nhật bootloader ñặc biệt ñược cung cấp bởi NXP Semiconductors. Flash
Magic hỗ trợ các tập tin HEX này. Nếu IC hiện tại ñang sử dụng có hỗ trợ tính năng này thì khi ñó lệnh “Update
Bootloader…” trên menu ISP sẽ ñược cho phép. Chọn lệnh này sẽ là hiển thị một cửa sổ làm việc.

Một cách ñơn giản, chọn tập tin HEX cập nhật bootloader bằng cách nhập ñường dẫn ñến tập tin hoặc nhấp
chuột vào nút “Browse” ñể chọn nó. Nhấp chuột vào nút “Update” ñể bắt ñầu quá trình cập nhật. Thông tin trạng
thái cập nhật sẽ ñược trình bày phía bên dưới của cửa sổ này.
Sau khi hoàn tất quá trình cập nhật, Flash Magic sẽ hiển thị cho biết bootloader
ñã ñược cập nhật hoặc lý do tại sao quá trình cập nhật bị lỗi. Một lưu ý ñặc biệt quan
trọng là chỉ sử dụng tập tin HEX cập nhật bootloader ñược cung cấp bởi NXP
Semiconductors mà nó ñược tạo ra cho tính năng này. Trong quá trình IC ñang ñược
cập nhật tuyệt ñối không ñược ngắt nguồn cung cấp hoặc reset lại IC. Nếu lỗi ñược
gây ra bởi các lý do bên tên không ñược ñáp ứng thì bootloader của IC sẽ bị hư hỏng
làm cho IC không thể sử dụng tính năng ISP ñược nữa. Lúc này muốn sử dụng lại
tính năng này ta chỉ còn một cách là lập trình lại ISP cho IC bằng các thiết bị lập trình chuyên dụng (lập trình dạng
song song).
Phiên bản bootloader trong IC có thể ñược biết bằng cách dùng lệnh “Read Device Signature…” từ menu ISP.
2.8 Các tùy chọn nâng cao:
2.8.1 Truyền thông tốc ñộ cao (High Speed Communications):
Một vài IC có khả năng chuyển từ tốc ñộ truyền dữ liệu mặc ñịnh sang chế ñộ truyền thông tốc ñộ cao, cho
phép các tốc ñộ cao hơn phương pháp tốc ñộ tự ñộng trong bootloader sẽ có thể ño ñược một cách chính xác.

ðể cho phép chế ñộ truyền thông tốc ñộ cao hoạt ñộng, chọn tùy chọn này trong cửa sổ “Advanced Options”
trong menu Options và chọn IC hoạt ñộng ở chế ñộ “6-clock” hoặc “12-clock” (nếu có thể).
Flash Magic sẽ tính toán tốc ñộ truyền dữ liệu cao nhất có thể thực hiện ñược ñể có thể sử dụng ñược cho cả IC
và cổng COM của PC và tự ñộng chuyển ñổi tốc ñộ sau khi kết nối tại tốc ñộ truyền dữ liệu khởi tạo ñược xác ñịnh
ở Bước 1 trong cửa sổ chính.

Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 24 Biên soạn: Phạm Quang Trí
Nếu bạn ñã có kinh nghiệm làm việc với tính năng này thì khi ñó thử giới hạn tốc ñộ truyền dữ liệu cao nhất có
thể thực hiện ñược. Chọn tốc ñộ lớn nhất từ danh sách thả xuống ở Bước 1 trong cửa sổ chính. Nếu không chắc
chắn thì chọn tốc ñộ 9600 và tăng dần tốc ñộ hoạt ñộng cho tới khi xuất hiện các sự cố.

2.8.2 Truyền thông bán song công (Half-duplex Communications):
Khi truyền thông với Flash Magic có thể gửi và nhận dữ liệu tại cùng một thời ñiểm ñể ñạt ñược tốc ñộ dữ liệu
nhanh nhất. Kiểu truyền dữ liệu này ñược gọi là song công (full-duplex). Ngược lại, tùy chọn bán song công (half-
duplex) bên trên sẽ là nguyên nhân làm Flash Magic chỉ truyền một byte dữ liệu tại một thời ñiểm, chờ ñợi cho
byte này ñược truyền xong từ bootloader trước khi truyền byte kế tiếp. Khi ñó việc này sẽ làm chậm tốc ñộ dữ liệu
xuống, nó cho phép ISP hoạt ñộng ñược thông qua các bus nối tiếp bán song công, chẳng hạn như RS-485 và cải
biến của RS-485 như là J1708.
2.8.3 Cấu hình phần cứng:

ðối với một số IC, Flash Magic có thể ñiều khiển DTR và RST ñể nhập vào chế ñộ hoặc thực thi mã chương
trình mới vừa tải xuống IC. ðể làm ñược ñiều này thì yêu cầu phần cứng phải ñược thiết kế ñể hỗ trợ ñiều khiển IC
sử dụng DTR và RTS.
Các tùy chọn ñể ñiều khiển tính năng này ñược truy xuất bằng cách nhấp chuột vào thẻ “Hardware Config”.
Các tùy chọn sẽ khác nhau phụ thuộc vào IC ñã ñược chọn trong cửa sổ chính. Các mục nhỏ dưới ñây mô tả các tùy
chọn cho các loại IC khác nhau.
Những ưu ñiểm mang lại từ tính năng này gồm có:
 Thực hiện công việc nhanh hơn.
 Loại bỏ sự cần thiết các chyển mạch hoặc các ñầu nối trên phần cứng hệ thống.
 Bắt ñầu thực hiện công việc cho ñến khi kết thúc chỉ cần thao tác trên các cửa sổ ñiều khiển thông qua
các nút lệnh và hộp thoại mà không cần thao tác trực tiếp trên phần cứng.
Chương 2: Hướng dẫn sử dụng phần mềm Flash Magic.
Giáo trình thực hành vi xử lý. 25 Biên soạn: Phạm Quang Trí
• 89C51Rx2xx, 89C6xX2, 89C51Rx2Hxx, 89C66x, 89C51Rx+, XA-Gx9:


Bắt ñầu của thao tác ISP (bắt ñầu Bootloader):



Kết thúc của thao tác ISP (thực thi chương trình nội):

• 89LPC9xx:

×