LOGO MICROCHIP

MICROCHIP PIC24 Lập Trình Flash

MICROCHIP-PIC24-Flash-Lập trình-PRO

Thông tin sản phẩm

Lập trình Flash
Dòng thiết bị dsPIC33/PIC24 có bộ nhớ chương trình Flash có thể lập trình bên trong để thực thi mã người dùng. Có tối đa ba phương pháp để lập trình bộ nhớ này:

  • Thao tác hướng dẫn bảng
  • Lập trình nối tiếp trong mạch (ICSP)
  • Lập trình trong ứng dụng (IAP)

Hướng dẫn bảng cung cấp phương pháp truyền dữ liệu giữa không gian bộ nhớ chương trình Flash và không gian bộ nhớ dữ liệu của thiết bị dsPIC33/PIC24. Lệnh TBLRDL được sử dụng để đọc từ bit[15:0] của không gian bộ nhớ chương trình. Lệnh TBLWTL được sử dụng để ghi vào bit[15:0] của không gian bộ nhớ chương trình Flash. TBLRDL và TBLWTL có thể truy cập bộ nhớ chương trình Flash ở chế độ Word hoặc chế độ Byte.

Ngoài địa chỉ bộ nhớ chương trình Flash, hướng dẫn bảng cũng chỉ định thanh ghi W (hoặc Con trỏ thanh ghi W tới một vị trí bộ nhớ), đó là nguồn của dữ liệu bộ nhớ chương trình Flash sẽ được ghi hoặc đích cho chương trình Flash bộ nhớ đã đọc.

Phần này mô tả kỹ thuật lập trình bộ nhớ chương trình Flash. Dòng thiết bị dsPIC33/PIC24 có bộ nhớ chương trình Flash có thể lập trình bên trong để thực thi mã người dùng. Có tối đa ba phương pháp để lập trình bộ nhớ này:

  • Tự lập trình thời gian chạy (RTSP)
  • Lập trình nối tiếp trong mạch™ (ICSP™)
  • Lập trình nối tiếp trong mạch nâng cao (EICSP)

RTSP được thực hiện bởi phần mềm ứng dụng trong quá trình thực thi, trong khi ICSP và EICSP được thực hiện từ một lập trình viên bên ngoài bằng cách sử dụng kết nối dữ liệu nối tiếp với thiết bị. ICSP và EICSP cho phép thời gian lập trình nhanh hơn nhiều so với RTSP. Các kỹ thuật RTSP được mô tả trong Phần 4.0 “Tự lập trình trong thời gian chạy (RTSP)”. Các giao thức ICSP và EICSP được xác định trong tài liệu Thông số kỹ thuật lập trình cho các thiết bị tương ứng, có thể tải xuống từ Microchip webĐịa điểm (http://www.microchip.com). Khi lập trình bằng ngôn ngữ C, có sẵn một số chức năng tích hợp sẵn hỗ trợ lập trình Flash. Xem “Hướng dẫn sử dụng trình biên dịch MPLAB® XC16 C” (DS50002071) để biết chi tiết về các chức năng tích hợp.

Hướng dẫn sử dụng sản phẩm

Để lập trình bộ nhớ chương trình Flash, hãy làm theo các bước sau:

  1. Tham khảo bảng dữ liệu thiết bị để kiểm tra xem phần hướng dẫn tham khảo gia đình có hỗ trợ thiết bị bạn đang sử dụng hay không.
  2. Tải xuống bảng dữ liệu thiết bị và các phần hướng dẫn tham khảo dòng sản phẩm từ Microchip Worldwide Webtrang web tại: http://www.microchip.com.
  3. Chọn một trong ba phương pháp để lập trình bộ nhớ (Thao tác hướng dẫn bảng, Lập trình nối tiếp trong mạch (ICSP), Lập trình trong ứng dụng (IAP)).
  4. Nếu sử dụng Thao tác lệnh bảng, hãy sử dụng lệnh TBLRDL để đọc từ bit[15:0] của không gian bộ nhớ chương trình và lệnh TBLWTL để ghi vào bit[15:0] của không gian bộ nhớ chương trình Flash.
  5. Đảm bảo chỉ định một thanh ghi W (hoặc một Con trỏ thanh ghi W tới một vị trí bộ nhớ) làm nguồn dữ liệu bộ nhớ chương trình Flash sẽ được ghi hoặc đích để đọc bộ nhớ chương trình Flash.

Để biết thêm thông tin và chi tiết về lập trình bộ nhớ chương trình Flash, hãy tham khảo Hướng dẫn tham khảo dòng dsPIC33/PIC24.

BẢNG HƯỚNG DẪN VẬN HÀNH

Bảng hướng dẫn cung cấp phương pháp truyền dữ liệu giữa không gian bộ nhớ chương trình Flash và không gian bộ nhớ dữ liệu của thiết bị dsPIC33/PIC24. Phần này cung cấp một bản tóm tắt các hướng dẫn bảng được sử dụng trong quá trình lập trình bộ nhớ chương trình Flash. Có bốn hướng dẫn bảng cơ bản:

  • TBLRDL: Bảng đọc thấp
  • TBLRDH: Bảng đọc cao
  • TBLWTL: Bảng Viết Thấp
  • TBWTH: Bảng Viết Cao

Lệnh TBLRDL được sử dụng để đọc từ bit[15:0] của không gian bộ nhớ chương trình. Lệnh TBLWTL được sử dụng để ghi vào bit[15:0] của không gian bộ nhớ chương trình Flash. TBLRDL và TBLWTL có thể truy cập bộ nhớ chương trình Flash ở chế độ Word hoặc chế độ Byte.

Các lệnh TBLRDH và TBLWTH được sử dụng để đọc hoặc ghi vào bit[23:16] của không gian bộ nhớ chương trình. TBLRDH và TBLWTH có thể truy cập bộ nhớ chương trình Flash ở chế độ Word hoặc Byte. Do bộ nhớ chương trình Flash chỉ rộng 24 bit nên các lệnh TBLRDH và TBLWTH có thể xử lý một byte trên của bộ nhớ chương trình Flash không tồn tại. Byte này được gọi là “byte ảo”. Mọi lần đọc byte ảo sẽ trả về 0x00. Ghi vào byte ảo không có tác dụng. Bộ nhớ chương trình Flash 24 bit có thể được coi là hai không gian 16 bit cạnh nhau, với mỗi không gian chia sẻ cùng một dải địa chỉ. Do đó, các lệnh TBLRDL và TBLWTL truy cập vào không gian bộ nhớ chương trình “thấp” (PM[15:0]). Các lệnh TBLRDH và TBLWTH truy cập không gian bộ nhớ chương trình “cao” (PM[31:16]). Mọi lần đọc hoặc ghi vào PM[31:24] sẽ truy cập vào byte ảo (chưa thực hiện). Khi bất kỳ hướng dẫn bảng nào được sử dụng ở chế độ Byte, bit Ít quan trọng nhất (LSb) của địa chỉ bảng sẽ được sử dụng làm bit chọn byte. LSb xác định byte nào trong không gian bộ nhớ chương trình cao hoặc thấp được truy cập.

Hình 2-1 minh họa cách xử lý bộ nhớ chương trình Flash bằng bảng hướng dẫn. Địa chỉ bộ nhớ chương trình 24-bit được hình thành bằng cách sử dụng các bit[7:0] của thanh ghi TBLPAG và Địa chỉ Hiệu quả (EA) từ thanh ghi W được chỉ định trong lệnh bảng. Bộ đếm chương trình 24 bit (PC) được minh họa trong Hình 2-1 để tham khảo. 23 bit trên của EA được sử dụng để chọn vị trí bộ nhớ chương trình Flash.

Đối với hướng dẫn bảng chế độ Byte, LSb của thanh ghi W EA được sử dụng để chọn byte nào của từ bộ nhớ chương trình Flash 16 bit được xử lý; '1' chọn bit[15:8] và '0' chọn bit[7:0]. LSb của thanh ghi W EA bị bỏ qua đối với hướng dẫn bảng trong chế độ Word. Ngoài địa chỉ bộ nhớ chương trình Flash, hướng dẫn bảng cũng chỉ định thanh ghi W (hoặc Con trỏ thanh ghi W tới một vị trí bộ nhớ), đó là nguồn của dữ liệu bộ nhớ chương trình Flash sẽ được ghi hoặc đích cho chương trình Flash bộ nhớ đã đọc. Đối với thao tác ghi bảng ở chế độ Byte, các bit[15:8] của thanh ghi Làm việc nguồn bị bỏ qua.MICROCHIP-PIC24-Lập trình Flash- (1)

Sử dụng hướng dẫn đọc bảng
Việc đọc bảng yêu cầu hai bước:

  1. Con trỏ địa chỉ được thiết lập bằng thanh ghi TBLPAG và một trong các thanh ghi W.
  2. Nội dung bộ nhớ chương trình Flash tại vị trí địa chỉ có thể được đọc.

 

  1. CHẾ ĐỘ ĐỌC TỪ
    Mã hiển thị trong Example 2-1 và Example 2-2 trình bày cách đọc một từ trong bộ nhớ chương trình Flash bằng bảng hướng dẫn trong chế độ Word.MICROCHIP-PIC24-Lập trình Flash- (2) MICROCHIP-PIC24-Lập trình Flash- (3)
  2. CHẾ ĐỘ ĐỌC BYTE
    Mã hiển thị trong Example 2-3 hiển thị toán tử tăng sau khi đọc byte thấp, làm cho địa chỉ trong thanh ghi Working tăng thêm một. Điều này đặt EA[0] thành '1' để truy cập vào byte giữa trong lệnh ghi thứ ba. Phần tăng sau cuối cùng đặt W0 trở lại địa chỉ chẵn, trỏ đến vị trí bộ nhớ chương trình Flash tiếp theo.MICROCHIP-PIC24-Lập trình Flash- (4)
  3. CHỐT GHI BẢNG
    Hướng dẫn ghi bảng không ghi trực tiếp vào bộ nhớ chương trình cố định. Thay vào đó, các lệnh ghi bảng tải các chốt ghi lưu trữ dữ liệu ghi. Các thanh ghi Địa chỉ NVM phải được tải với địa chỉ đầu tiên mà dữ liệu được chốt sẽ được ghi. Khi tất cả các chốt ghi đã được tải, hoạt động lập trình bộ nhớ thực tế được bắt đầu bằng cách thực hiện một chuỗi lệnh đặc biệt. Trong quá trình lập trình, phần cứng chuyển dữ liệu trong chốt ghi sang bộ nhớ Flash. Các chốt ghi luôn bắt đầu tại địa chỉ 0xFA0000 và mở rộng qua 0xFA0002 đối với lập trình từ hoặc qua 0xFA00FE đối với các thiết bị có lập trình hàng.

Ghi chú: Số lượng chốt ghi khác nhau tùy theo thiết bị. Tham khảo chương “Bộ nhớ chương trình Flash” trong bảng dữ liệu thiết bị cụ thể để biết số chốt ghi có sẵn.

ĐĂNG KÝ KIỂM SOÁT

Một số Thanh ghi Chức năng Đặc biệt (SFR) được sử dụng để lập trình các thao tác xóa và ghi bộ nhớ chương trình Flash: NVMCON, NVMKEY và các thanh ghi Địa chỉ NVM, NVMADR và ​​NVMADRU.

Đăng ký NVMCON
Thanh ghi NVMCON là thanh ghi điều khiển chính cho Flash và các hoạt động lập trình/xóa. Thanh ghi này chọn liệu một thao tác xóa hoặc chương trình sẽ được thực hiện hay không và có thể bắt đầu chương trình hoặc chu trình xóa. Thanh ghi NVMCON được hiển thị trong Thanh ghi 3-1. Byte thấp hơn của NVMCON cấu hình loại hoạt động NVM sẽ được thực hiện.

Đăng ký NVMKEY
Thanh ghi NVMKEY (xem Thanh ghi 3-4) là thanh ghi chỉ ghi được sử dụng để ngăn việc ghi NVMCON vô tình có thể làm hỏng bộ nhớ Flash. Sau khi được mở khóa, việc ghi vào NVMCON được cho phép trong một chu kỳ lệnh trong đó bit WR có thể được đặt để gọi một quy trình xóa hoặc chương trình. Với các yêu cầu về thời gian, việc vô hiệu hóa các ngắt là bắt buộc.
Thực hiện các bước sau để bắt đầu trình tự xóa hoặc lập trình:

  1. Vô hiệu hóa ngắt.
  2. Viết 0x55 vào NVMKEY.
  3. Viết 0xAA vào NVMKEY.
  4. Bắt đầu chu trình ghi chương trình bằng cách thiết lập bit WR (NVMCON[15]).
  5. Thực hiện hai lệnh NOP.
  6. Khôi phục các ngắt.

MICROCHIP-PIC24-Lập trình Flash- (5)

TẮT GIÁN ĐOẠN
Vô hiệu hóa ngắt là cần thiết cho tất cả các hoạt động Flash để đảm bảo kết quả thành công. Nếu một ngắt xảy ra trong trình tự mở khóa NVMKEY, nó có thể chặn việc ghi vào bit WR. Trình tự mở khóa NVMKEY phải được thực hiện liên tục, như đã thảo luận trong Phần 3.2 “Thanh ghi NVMKEY”.

Ngắt có thể bị vô hiệu hóa theo một trong hai phương pháp, bằng cách vô hiệu hóa Kích hoạt ngắt toàn cầu (bit GIE) hoặc bằng cách sử dụng lệnh DISI. Lệnh DISI không được khuyến nghị vì nó chỉ vô hiệu hóa các ngắt có Mức độ ưu tiên 6 trở xuống; do đó, nên sử dụng phương pháp Kích hoạt ngắt toàn cầu.

CPU ghi vào GIE mất hai chu kỳ lệnh trước khi ảnh hưởng đến luồng mã. Cần có hai hướng dẫn NOP sau đó hoặc có thể được thay thế bằng bất kỳ hướng dẫn công việc hữu ích nào khác, chẳng hạn như tải NVMKEY; điều này được áp dụng cho cả hoạt động thiết lập và xóa. Cần thận trọng khi kích hoạt lại các ngắt để quy trình được nhắm mục tiêu NVM không cho phép các ngắt khi chức năng được gọi trước đó đã vô hiệu hóa chúng vì những lý do khác. Để giải quyết vấn đề này trong Hợp ngữ, có thể sử dụng thao tác đẩy và bật ngăn xếp để giữ lại trạng thái của bit GIE. Trong C, một biến trong RAM có thể được sử dụng để lưu trữ INTCON2 trước khi xóa GIE. Sử dụng trình tự sau để vô hiệu hóa các ngắt:

  1. Đẩy INTCON2 vào ngăn xếp.
  2. Xóa bit GIE.
  3. Hai NOP hoặc ghi vào NVMKEY.
  4. Bắt đầu chu kỳ lập trình bằng cách thiết lập bit WR (NVMCON[15]).
  5. Khôi phục trạng thái GIE bằng POP của INTCON2.MICROCHIP-PIC24-Lập trình Flash- (6)

Thanh ghi địa chỉ NVM
Hai thanh ghi Địa chỉ NVM, NVMADRU và NVMADR, khi được ghép nối, tạo thành EA 24 bit của hàng hoặc từ đã chọn cho các hoạt động lập trình. Thanh ghi NVMADRU được sử dụng để giữ 16 bit trên của EA và thanh ghi NVMADR được sử dụng để giữ XNUMX bit dưới của EA. Một số thiết bị có thể đề cập đến các thanh ghi giống như NVMADRL và NVMADRH. Thanh ghi Địa chỉ NVM phải luôn trỏ đến ranh giới từ lệnh kép khi thực hiện thao tác lập trình từ lệnh kép, ranh giới hàng khi thực hiện thao tác lập trình hàng hoặc ranh giới trang khi thực hiện thao tác xóa trang.

Thanh ghi 3-1: NVMCON: Thanh ghi Điều khiển Bộ nhớ FlashMICROCHIP-PIC24-Lập trình Flash- (7) MICROCHIP-PIC24-Lập trình Flash- (8)

Ghi chú

  1. Bit này chỉ có thể được đặt lại (nghĩa là xóa) khi Đặt lại khi bật nguồn (POR).
  2. Khi thoát khỏi chế độ Chờ, sẽ có độ trễ bật nguồn (TVREG) trước khi bộ nhớ chương trình Flash hoạt động. Tham khảo chương “Đặc tính điện” của bảng dữ liệu thiết bị cụ thể để biết thêm thông tin.
  3. Tất cả các kết hợp khác của NVMOP[3:0] đều chưa được thực hiện.
  4. Chức năng này không khả dụng trên tất cả các thiết bị. Tham khảo chương “Bộ nhớ chương trình flash” trong bảng dữ liệu thiết bị cụ thể để biết các hoạt động khả dụng.
  5. Việc vào chế độ tiết kiệm năng lượng sau khi thực hiện lệnh PWRSAV phụ thuộc vào việc hoàn thành tất cả các hoạt động NVM đang chờ xử lý.
  6. Bit này chỉ khả dụng trên các thiết bị hỗ trợ lập trình hàng trong bộ đệm RAM. Tham khảo bảng dữ liệu dành riêng cho thiết bị để biết tính khả dụng.

MICROCHIP-PIC24-Lập trình Flash- (9)

Ghi chú

  1. Bit này chỉ có thể được đặt lại (nghĩa là xóa) khi Đặt lại khi bật nguồn (POR).
  2. Khi thoát khỏi chế độ Chờ, sẽ có độ trễ bật nguồn (TVREG) trước khi bộ nhớ chương trình Flash hoạt động. Tham khảo chương “Đặc tính điện” của bảng dữ liệu thiết bị cụ thể để biết thêm thông tin.
  3. Tất cả các kết hợp khác của NVMOP[3:0] đều chưa được thực hiện.
  4. Chức năng này không khả dụng trên tất cả các thiết bị. Tham khảo chương “Bộ nhớ chương trình flash” trong bảng dữ liệu thiết bị cụ thể để biết các hoạt động khả dụng.
  5. Việc vào chế độ tiết kiệm năng lượng sau khi thực hiện lệnh PWRSAV phụ thuộc vào việc hoàn thành tất cả các hoạt động NVM đang chờ xử lý.
  6. Bit này chỉ khả dụng trên các thiết bị hỗ trợ lập trình hàng trong bộ đệm RAM. Tham khảo bảng dữ liệu dành riêng cho thiết bị để biết tính khả dụng.

Thanh ghi 3-2: NVMADRU: Thanh ghi địa chỉ trên bộ nhớ cố định

MICROCHIP-PIC24-Lập trình Flash- (10)

Thanh ghi 3-3: NVMADR: Thanh ghi địa chỉ bộ nhớ cố định

MICROCHIP-PIC24-Lập trình Flash- (11)

Thanh ghi 3-4: NVMKEY: Thanh ghi khóa bộ nhớ cố định

MICROCHIP-PIC24-Lập trình Flash- (12)

TỰ LẬP TRÌNH TRONG THỜI GIAN CHẠY (RTSP)

RTSP cho phép ứng dụng người dùng sửa đổi nội dung bộ nhớ chương trình Flash. RTSP được thực hiện bằng cách sử dụng các lệnh TBLRD (Đọc bảng) và TBLWT (Ghi bảng), thanh ghi TBLPAG và thanh ghi Điều khiển NVM. Với RTSP, ứng dụng người dùng có thể xóa một trang bộ nhớ Flash và lập trình hai từ lệnh hoặc tối đa 128 từ lệnh trên một số thiết bị nhất định.

Vận hành RTSP
The dsPIC33/PIC24 Flash program memory array is organized into erase pages that can contain up to 1024 instructions. The double-word programming option is available in all devices in the dsPIC33/PIC24 families. In addition, certain devices have row programming capability, which allows the programming of up to 128 instruction words at a time. Programming and erase operations always occur on an even double programming word, row or page boundaries. Refer to the “Flash Program Memory” chapter of the specific device data sheet for the availability and sizes of a programming row, and the page size for erasing. The Flash program memory implements holding buffers, called write latches, that can contain up to 128 instructions of programming data depending on the device. Prior to the actual programming operation, the write data must be loaded into the write latches. The basic sequence for RTSP is to set up the Table Pointer, TBLPAG register, and then perform a series of TBLWT instructions to load the write latches. Programming is performed by setting the control bits in the NVMCON register. The number of TBLWTL and TBLWTH instructions needed to load the write latches is equal to the number of program words to be written.

Ghi chú: Bạn nên lưu thanh ghi TBLPAG trước khi sửa đổi và khôi phục sau khi sử dụng.

THẬN TRỌNG
Trên một số thiết bị, các bit Cấu hình được lưu trữ trong trang cuối cùng của không gian bộ nhớ người dùng Flash của chương trình trong một phần có tên là “Byte Cấu hình Flash”. Với các thiết bị này, việc thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình sẽ xóa các byte Cấu hình Flash, cho phép bảo vệ mã. Do đó, người dùng không nên thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình. Đây không phải là vấn đề đáng lo ngại khi các bit Cấu hình được lưu trữ trong không gian bộ nhớ Cấu hình trong phần có tên là “Thanh ghi Cấu hình Thiết bị”. Tham khảo Bản đồ bộ nhớ chương trình trong chương “Tổ chức bộ nhớ” của bảng dữ liệu thiết bị cụ thể để xác định vị trí của các bit Cấu hình.

Hoạt động lập trình flash
A program or erase operation is necessary for programming or erasing the internal Flash program memory in RTSP mode. The program or erase operation is automatically timed by the device (refer to the specific device data sheet for timing information). Setting the WR bit (NVMCON[15]) starts the operation. The WR bit is automatically cleared when the operation is finished. The CPU stalls until the programming operation is finished. The CPU will not execute any instructions or respond to interrupts during this time. If any interrupts occur during the programming cycle, they will remain pending until the cycle completes. Some dsPIC33/PIC24 devices may provide auxiliary Flash program memory (refer to the “Memory Organization” chapter of the specific device data sheet for details), which allows instruction execution without CPU Stalls while user Flash program memory is being erased and/ or programmed. Conversely, auxiliary Flash program memory can be programmed without CPU Stalls, as long as code is executed from the user Flash program memory. The NVM interrupt can be used to indicate that the programming operation is complete.

Ghi chú

  1. Nếu một sự kiện POR hoặc BOR xảy ra trong khi thao tác lập trình hoặc xóa RTSP đang diễn ra, thao tác RTSP sẽ bị hủy bỏ ngay lập tức. Người dùng nên thực hiện lại thao tác RTSP sau khi thiết bị thoát khỏi Đặt lại.
  2. Nếu sự kiện Đặt lại EXTR, SWR, WDTO, TRAPR, CM hoặc IOPUWR xảy ra trong khi thao tác lập trình hoặc xóa RTSP đang diễn ra, thiết bị sẽ chỉ được đặt lại sau khi thao tác RTSP hoàn tất.

THUẬT TOÁN LẬP TRÌNH RTSP
Phần này mô tả lập trình RTSP, bao gồm ba quy trình chính.

Tạo hình ảnh RAM của trang dữ liệu sẽ được sửa đổi
Thực hiện hai bước sau để tạo ảnh RAM của trang dữ liệu cần sửa đổi:

  1. Đọc trang của bộ nhớ chương trình Flash và lưu trữ nó vào RAM dữ liệu dưới dạng “hình ảnh” dữ liệu. Hình ảnh RAM phải được đọc bắt đầu từ ranh giới địa chỉ trang.
  2. Sửa đổi hình ảnh dữ liệu RAM nếu cần.

Erasing Flash Program Memory
Sau khi hoàn thành Bước 1 và 2 ở trên, hãy thực hiện bốn bước sau để xóa trang bộ nhớ chương trình Flash:

  1. Đặt các bit NVMOP[3:0] (NVMCON[3:0]) để xóa trang của bộ nhớ chương trình Flash đã đọc từ Bước 1.
  2. Viết địa chỉ bắt đầu của trang sẽ bị xóa vào thanh ghi NVMADRU và NMVADR.
  3. Với các ngắt bị vô hiệu hóa:
    • a) Ghi chuỗi khóa vào thanh ghi NVMKEY để cho phép cài đặt bit WR (NVMCON[15]).
    • b) Đặt bit WR; điều này sẽ bắt đầu chu kỳ xóa.
    • c) Thực hiện hai lệnh NOP.
  4. Bit WR bị xóa khi chu kỳ xóa hoàn tất.

Lập trình trang bộ nhớ flash
Phần tiếp theo của quy trình là lập trình trang bộ nhớ Flash. Trang bộ nhớ Flash được lập trình bằng cách sử dụng dữ liệu từ hình ảnh được tạo ở Bước 1. Dữ liệu được chuyển đến các chốt ghi theo gia số của các từ hoặc hàng lệnh kép. Tất cả các thiết bị đều có khả năng lập trình từ hướng dẫn kép. (Tham khảo chương “Bộ nhớ chương trình Flash” trong bảng dữ liệu thiết bị cụ thể để xác định xem có sẵn loại lập trình hàng nào hay không.) Sau khi tải các chốt ghi, hoạt động lập trình được bắt đầu, chuyển dữ liệu từ ghi chốt vào bộ nhớ Flash. Điều này được lặp lại cho đến khi toàn bộ trang đã được lập trình. Lặp lại ba bước sau, bắt đầu từ từ hướng dẫn đầu tiên của trang Flash và tăng dần theo các bước của từ chương trình kép hoặc hàng hướng dẫn cho đến khi toàn bộ trang đã được lập trình:

  1. Tải các chốt ghi:
    • a) Đặt thanh ghi TBLPAG trỏ đến vị trí của các chốt ghi.
    • b) Tải số lượng chốt mong muốn bằng cách sử dụng các cặp hướng dẫn TBLWTL và TBLWTH:
    • Đối với lập trình từ kép, cần có hai cặp lệnh TBLWTL và TBLWTH
    • Đối với lập trình hàng, cần có một cặp hướng dẫn TBLWTL và TBLWTH cho mỗi thành phần hàng từ lệnh hướng dẫn
  2. Bắt đầu hoạt động lập trình:
    • a) Đặt các bit NVMOP[3:0] (NVMCON[3:0]) để lập trình các từ lệnh kép hoặc một hàng lệnh, nếu thích hợp.
      b) Viết địa chỉ đầu tiên của từ lệnh kép hoặc hàng lệnh sẽ được lập trình vào các thanh ghi NVMADRU và NVMADR.
      c) Khi tắt ngắt:
      • Ghi chuỗi khóa vào thanh ghi NVMKEY để cho phép cài đặt bit WR (NVMCON[15])
      • Đặt bit WR; điều này sẽ bắt đầu chu kỳ xóa
      • Thực hiện hai lệnh NOP
  3. Bit WR bị xóa khi chu kỳ lập trình hoàn tất.

Lặp lại toàn bộ quy trình nếu cần để lập trình lượng bộ nhớ chương trình Flash mong muốn.

Ghi chú

  1. Người dùng nên nhớ rằng dung lượng tối thiểu của bộ nhớ chương trình Flash có thể bị xóa bằng RTSP là một trang bị xóa. Do đó, điều quan trọng là hình ảnh của các vị trí này phải được lưu trữ trong RAM mục đích chung trước khi bắt đầu chu trình xóa.
  2. Một hàng hoặc một từ trong bộ nhớ chương trình Flash không được lập trình nhiều hơn hai lần trước khi bị xóa.
  3. Trên các thiết bị có các byte Cấu hình được lưu trữ trong trang cuối cùng của Flash, việc thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình sẽ xóa các byte Cấu hình, thao tác này cho phép bảo vệ mã. Trên các thiết bị này, không nên xóa trang cuối cùng của bộ nhớ Flash.

ERASING ONE PAGE OF FLASH
Trình tự mã được hiển thị trong Example 4-1 có thể được sử dụng để xóa một trang của bộ nhớ chương trình Flash. Thanh ghi NVMCON được cấu hình để xóa một trang bộ nhớ chương trình. Các thanh ghi NVMADR và ​​NMVADRU được tải với địa chỉ bắt đầu của trang sẽ bị xóa. Bộ nhớ chương trình phải được xóa ở ranh giới địa chỉ trang "chẵn". Xem chương “Bộ nhớ chương trình Flash” của bảng dữ liệu thiết bị cụ thể để xác định kích thước của trang Flash.
Thao tác xóa được bắt đầu bằng cách ghi một chuỗi khóa hoặc mở khóa đặc biệt vào thanh ghi NVMKEY trước khi đặt bit WR (NVMCON[15]). Trình tự mở khóa cần được thực hiện theo thứ tự chính xác, như trong Ví dụample 4-1, không bị gián đoạn; do đó, các ngắt phải bị vô hiệu hóa.
Hai hướng dẫn NOP phải được chèn vào mã sau chu kỳ xóa. Trên một số thiết bị nhất định, các bit Cấu hình được lưu trữ trong trang cuối cùng của chương trình Flash. Với các thiết bị này, việc thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình sẽ xóa các byte Cấu hình Flash, kết quả là cho phép bảo vệ mã. Người dùng không nên thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình.MICROCHIP-PIC24-Lập trình Flash- (13)MICROCHIP-PIC24-Lập trình Flash- (14)

CHỐT GHI TẢI
Các chốt ghi được sử dụng như một cơ chế lưu trữ giữa các Ghi bảng của ứng dụng người dùng và trình tự lập trình thực tế. Trong quá trình thao tác lập trình, thiết bị sẽ chuyển dữ liệu từ các chốt ghi vào bộ nhớ Flash. Đối với các thiết bị hỗ trợ lập trình hàng, ExampTập tin 4-3 trình bày chuỗi lệnh có thể được sử dụng để tải 128 chốt ghi (128 từ lệnh). Cần có các lệnh 128 TBLWTL và 128 TBLWTH để tải các chốt ghi để lập trình một hàng bộ nhớ chương trình Flash. Tham khảo chương “Bộ nhớ chương trình Flash” trong bảng dữ liệu thiết bị cụ thể để xác định số chốt lập trình có sẵn trên thiết bị của bạn. Đối với các thiết bị không hỗ trợ lập trình hàng, Example 4-4 trình bày chuỗi lệnh có thể được sử dụng để tải hai chốt ghi (hai từ lệnh). Cần có hai lệnh TBLWTL và hai lệnh TBLWTH để tải các chốt ghi.

Ghi chú

  1. Mã cho Load_Write_Latch_Row được hiển thị trong Example 4-3 và mã cho Load_Write_Latch_Word được hiển thị trong Example 4-4. Mã trong cả hai ex nàyamples được nhắc đến trong ex tiếp theoampđồng nghiệp.
  2. Tham khảo bảng dữ liệu thiết bị cụ thể để biết số lượng chốt.MICROCHIP-PIC24-Lập trình Flash- (15)

LẬP TRÌNH HÀNG ĐƠN EXAMPLE
Thanh ghi NVMCON được cấu hình để lập trình một hàng bộ nhớ chương trình Flash. Hoạt động của chương trình được bắt đầu bằng cách ghi một chuỗi khóa hoặc mở khóa đặc biệt vào thanh ghi NVMKEY trước khi đặt bit WR (NVMCON[15]). Trình tự mở khóa cần được thực hiện liên tục và theo thứ tự chính xác, như trong Ví dụamplê 4-5. Do đó, các ngắt phải bị vô hiệu hóa trước khi viết trình tự.

Ghi chú: Không phải tất cả các thiết bị đều có khả năng lập trình hàng. Tham khảo chương “Bộ nhớ chương trình Flash” trong bảng dữ liệu thiết bị cụ thể để xác định xem tùy chọn này có khả dụng hay không.

Hai lệnh NOP nên được chèn vào mã sau chu trình lập trình.MICROCHIP-PIC24-Lập trình Flash- (16) MICROCHIP-PIC24-Lập trình Flash- (17)

LẬP TRÌNH ROW SỬ DỤNG BỘ ĐỆM RAM
Một số thiết bị dsPIC33 chọn lọc cho phép lập trình hàng được thực hiện trực tiếp từ không gian bộ đệm trong RAM dữ liệu, thay vì đi qua các chốt giữ để truyền dữ liệu bằng các lệnh TBLWT. Vị trí của bộ đệm RAM được xác định bởi (các) thanh ghi NVMSRCADR, được tải với địa chỉ RAM dữ liệu chứa từ đầu tiên của dữ liệu chương trình sẽ được ghi.

Trước khi thực hiện hoạt động của chương trình, không gian bộ đệm trong RAM phải được tải với hàng dữ liệu sẽ được lập trình. RAM có thể được tải ở định dạng nén (đóng gói) hoặc không nén. Lưu trữ nén sử dụng một từ dữ liệu để lưu trữ Byte quan trọng nhất (MSB) của hai từ dữ liệu chương trình liền kề. Định dạng không nén sử dụng hai từ dữ liệu cho mỗi từ dữ liệu chương trình, với byte trên của mỗi từ khác là 00h. Định dạng nén sử dụng khoảng 3/4 dung lượng trong RAM dữ liệu so với định dạng không nén. Mặt khác, định dạng không nén bắt chước cấu trúc của từ dữ liệu chương trình 24 bit, hoàn chỉnh với byte ảo phía trên. Định dạng dữ liệu được chọn bởi bit RPDF (NVMCON[9]). Hai định dạng này được thể hiện trong Hình 4-1.

Sau khi bộ đệm RAM được tải, Con trỏ Địa chỉ Flash, NVMADR và ​​NVMADRU, được tải với địa chỉ bắt đầu 24 bit của hàng Flash sẽ được ghi. Như với việc lập trình các chốt ghi, quá trình được bắt đầu bằng cách ghi trình tự mở khóa NVM, tiếp theo là thiết lập bit WR. Sau khi bắt đầu, thiết bị sẽ tự động tải các chốt bên phải và tăng các thanh ghi Địa chỉ NVM cho đến khi tất cả các byte đã được lập trình. Bán tạiample 4-7 cho thấy một examptập tin của quá trình. Nếu NVMSRCADR được đặt thành một giá trị sao cho xảy ra tình trạng lỗi chạy ngầm dữ liệu, thì bit URERR (NVMCON[8]) sẽ được đặt để chỉ báo tình trạng đó.
Các thiết bị thực hiện lập trình hàng bộ đệm RAM cũng thực hiện một hoặc hai chốt ghi. Chúng được tải bằng các hướng dẫn TBLWT và được sử dụng để thực hiện các thao tác lập trình từ.MICROCHIP-PIC24-Lập trình Flash- (18)

LẬP TRÌNH WORD
Thanh ghi NVMCON được cấu hình để lập trình hai từ lệnh của bộ nhớ chương trình Flash. Hoạt động của chương trình được bắt đầu bằng cách ghi một chuỗi khóa hoặc mở khóa đặc biệt vào thanh ghi NVMKEY trước khi đặt bit WR (NVMCON[15]). Trình tự mở khóa cần được thực hiện theo thứ tự chính xác, như trong Ví dụample 4-8, không bị gián đoạn. Do đó, các ngắt nên bị vô hiệu hóa trước khi viết trình tự.
Hai lệnh NOP nên được chèn vào mã sau chu trình lập trình.MICROCHIP-PIC24-Lập trình Flash- (19) MICROCHIP-PIC24-Lập trình Flash- (20)

Ghi vào thanh ghi cấu hình thiết bị
Trên một số thiết bị nhất định, các bit Cấu hình được lưu trữ trong không gian bộ nhớ cấu hình trong phần có tên là “Thanh ghi Cấu hình Thiết bị”. Trên các thiết bị khác, các bit Cấu hình được lưu trữ trong trang cuối cùng của không gian bộ nhớ người dùng Flash của chương trình trong một phần có tên là “Các byte Cấu hình Flash”. Với các thiết bị này, việc thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình sẽ xóa các byte Cấu hình Flash, cho phép bảo vệ mã. Do đó, người dùng không nên thực hiện thao tác xóa trang trên trang cuối cùng của bộ nhớ chương trình. Tham khảo Bản đồ bộ nhớ chương trình trong chương “Tổ chức bộ nhớ” của bảng dữ liệu thiết bị cụ thể để xác định vị trí của các bit Cấu hình.

Khi các bit Cấu hình được lưu trữ trong không gian bộ nhớ cấu hình, RTSP có thể được sử dụng để ghi vào các thanh ghi Cấu hình của thiết bị và RTSP cho phép mỗi thanh ghi Cấu hình được ghi lại riêng lẻ mà không cần thực hiện chu kỳ xóa trước. Phải thận trọng khi ghi các thanh ghi Cấu hình vì chúng kiểm soát các tham số vận hành thiết bị quan trọng, chẳng hạn như nguồn đồng hồ hệ thống, kích hoạt PLL và WDT.

Quy trình lập trình thanh ghi cấu hình thiết bị tương tự như quy trình lập trình bộ nhớ chương trình Flash, ngoại trừ chỉ yêu cầu các lệnh TBLWTL. Điều này là do tám bit trên trong mỗi thanh ghi Cấu hình thiết bị không được sử dụng. Hơn nữa, bit 23 của địa chỉ Ghi bảng phải được đặt để truy cập các thanh ghi Cấu hình. Tham khảo “Cấu hình thiết bị” (DS70000618) trong “Hướng dẫn tham khảo dòng dsPIC33/PIC24” và chương “Tính năng đặc biệt” trong bảng dữ liệu thiết bị cụ thể để biết mô tả đầy đủ về các thanh ghi Cấu hình thiết bị.

Ghi chú

  1. Ghi vào thiết bị Thanh ghi cấu hình không có sẵn trong tất cả các thiết bị. Tham khảo chương “Các tính năng đặc biệt” trong bảng dữ liệu thiết bị cụ thể để xác định các chế độ khả dụng theo định nghĩa bit NVMOP[3:0] dành riêng cho thiết bị.
  2. Trong khi thực hiện RTSP trên các thanh ghi Cấu hình thiết bị, thiết bị phải hoạt động bằng Bộ tạo dao động FRC bên trong (không có PLL). Nếu thiết bị đang hoạt động từ một nguồn đồng hồ khác, thì phải thực hiện chuyển đổi đồng hồ sang Bộ tạo dao động FRC bên trong (NOSC[2:0] = 000) trước khi thực hiện thao tác RTSP trong thanh ghi Cấu hình thiết bị.
  3. Nếu các bit Chọn chế độ Bộ dao động Chính (POSCMD[1:0]) trong thanh ghi Cấu hình Bộ tạo Dao động (FOSC) đang được lập trình lại thành một giá trị mới, người dùng phải đảm bảo rằng các bit Chế độ Chuyển đổi Đồng hồ (FCKSM[1:0]) trong thanh ghi FOSC có giá trị được lập trình ban đầu là '0', trước khi thực hiện thao tác RTSP này.

CẤU HÌNH ĐĂNG KÝ VIẾT THUẬT TOÁN
Quy trình chung như sau:

  1. Viết giá trị cấu hình mới vào chốt Ghi bảng bằng cách sử dụng lệnh TBLWTL.
  2. Định cấu hình NVMCON để ghi vào thanh ghi Cấu hình (NVMCON = 0x4000).
  3. Ghi địa chỉ của thanh ghi Cấu hình sẽ được lập trình vào thanh ghi NVMADRU và NVMADR.
  4. Vô hiệu hóa ngắt, nếu được kích hoạt.
  5. Viết chuỗi khóa vào thanh ghi NVMKEY.
  6. Bắt đầu trình tự ghi bằng cách đặt bit WR (NVMCON[15]).
  7. Kích hoạt lại ngắt, nếu cần.

ExampTập tin 4-10 hiển thị chuỗi mã có thể được sử dụng để sửa đổi thanh ghi Cấu hình thiết bị.MICROCHIP-PIC24-Lập trình Flash- (21)

ĐĂNG KÝ BẢN ĐỒ

Bảng tóm tắt các thanh ghi liên quan đến Lập trình Flash được cung cấp trong Bảng 5-1.MICROCHIP-PIC24-Lập trình Flash- (22)

LƯU Ý ỨNG DỤNG LIÊN QUAN

Phần này liệt kê các ghi chú ứng dụng có liên quan đến phần này của sách hướng dẫn. Các ghi chú ứng dụng này có thể không được viết riêng cho các dòng sản phẩm dsPIC33/PIC24, nhưng các khái niệm này phù hợp và có thể được sử dụng với sự sửa đổi và các hạn chế có thể có. Các ghi chú ứng dụng hiện tại liên quan đến Lập trình Flash là:

Ghi chú: Vui lòng truy cập Microchip webĐịa điểm (www.microchip.com) để biết Ghi chú ứng dụng bổ sung và mã exampcác tập tin cho dòng thiết bị dsPIC33/PIC24.

LỊCH SỬ SỬA ĐỔI

Bản sửa đổi A (tháng 2009 năm XNUMX)
Đây là phiên bản phát hành đầu tiên của tài liệu này.

Bản sửa đổi B (tháng 2011 năm XNUMX)
Bản sửa đổi này bao gồm các bản cập nhật sau:

  • Exampcác bạn:
    • Đã xóa người yêu cũample 5-3 và Examptỷ số 5-4
    • Cập nhật Example 4-1, Ví dụample 4-5 và Examptỷ số 4-10
    • Mọi tham chiếu đến #WR đã được cập nhật lên #15 trong Example 4-1, Ví dụample 4-5 và Examptỷ số 4-8
    • Đã cập nhật phần sau trong Exampcâu 4-3:
  • Đã cập nhật tiêu đề “Lập trình Word” thành “Loading Write Latches for Row Programming”
  • Mọi tham chiếu đến #ram_image đã được cập nhật thành #0xFA
    • Đã thêm Examptỷ số 4-4
    • Đã cập nhật tiêu đề trong Examptỷ số 4-8
  • Ghi chú:
    • Đã thêm hai ghi chú trong Phần 4.2 “Hoạt động lập trình flash”
    • Đã cập nhật ghi chú trong Phần 4.5.2 “Loading Write Latches”
    • Đã thêm ba ghi chú trong Phần 4.6 “Ghi vào Thanh ghi Cấu hình Thiết bị”
    • Đã thêm Ghi chú 1 vào Bảng 5-1
  • Đăng ký:
    • Đã cập nhật các giá trị bit cho NVMOP[3:0]: Hoạt động NVM Chọn các bit trong thanh ghi Điều khiển bộ nhớ Flash (NVMCON) (xem Thanh ghi 3-1)
  • Các phần:
    • Đã xóa các phần 5.2.1.4 “Chế độ ghi từ” và 5.2.1.5 “Chế độ ghi byte”
    • Đã cập nhật Phần 3.0 “Thanh ghi điều khiển”
    • Đã cập nhật nội dung sau trong Phần 4.5.5 “Lập trình Word”:
  • Đã thay đổi tiêu đề phần “Lập trình một từ trong bộ nhớ flash” thành “Lập trình từ”
  • Đã cập nhật đoạn đầu tiên
  • Đã thay đổi thuật ngữ “một từ” thành “một cặp từ” trong đoạn thứ hai
    • Đã thêm Bước 1 mới vào Phần 4.6.1 “Thuật toán Viết Thanh ghi Cấu hình”
  • Bảng:
    • Cập nhật bảng 5-1
  • Một số tham chiếu đến bộ nhớ chương trình đã được cập nhật vào bộ nhớ chương trình Flash
  • Các cập nhật nhỏ khác như cập nhật ngôn ngữ và định dạng được kết hợp trong toàn bộ tài liệu

Bản sửa đổi C (tháng 2011 năm XNUMX)
Bản sửa đổi này bao gồm các bản cập nhật sau:

  • Exampcác bạn:
    • Cập nhật Examptỷ số 4-1
    • Cập nhật Examptỷ số 4-8
  • Ghi chú:
    • Đã thêm một ghi chú trong Phần 4.1 “Hoạt động RTSP”
    • Đã thêm Lưu ý 3 trong Phần 4.2 “Hoạt động lập trình flash”
    • Đã thêm Lưu ý 3 trong Phần 4.2.1 “Thuật toán lập trình RTSP”
    • Added a note in Section 4.5.1 “Erasing One Page of Flash”
    • Đã thêm Lưu ý 2 trong Phần 4.5.2 “Chốt Ghi Tải”
  • Đăng ký:
    • Đã cập nhật mô tả bit cho các bit 15-0 trong thanh ghi Địa chỉ bộ nhớ cố định (xem Thanh ghi 3-3)
  • Các phần:
    • Đã cập nhật Mục 4.1 “Hoạt động RTSP”
    • Đã cập nhật Mục 4.5.5 “Lập trình Word”
  • Các cập nhật nhỏ khác như cập nhật ngôn ngữ và định dạng được kết hợp trong toàn bộ tài liệu

Bản sửa đổi D (tháng 2011 năm XNUMX)
Bản sửa đổi này bao gồm các bản cập nhật sau:

  • Đã cập nhật Phần 2.1.3 “Chốt ghi bảng”
  • Đã cập nhật Phần 3.2 “Đăng ký NVMKEY”
  • Đã cập nhật các ghi chú trong NVMCON: Thanh ghi Điều khiển Bộ nhớ Flash (xem Thanh ghi 3-1)
  • Các bản cập nhật mở rộng đã được thực hiện trong suốt Phần 4.0 “Tự lập trình trong thời gian chạy (RTSP)”
  • Các cập nhật nhỏ khác như cập nhật ngôn ngữ và định dạng được kết hợp trong toàn bộ tài liệu

Bản sửa đổi E (tháng 2018 năm XNUMX)
Bản sửa đổi này bao gồm các bản cập nhật sau:

  • Đã thêm Example 2-2, Ví dụample 4-2, Ví dụample 4-6 và Examptỷ số 4-9
  • Đã thêm Phần 4.5.4 “Lập trình hàng sử dụng bộ đệm RAM”
  • Đã cập nhật Phần 1.0 “Giới thiệu”, Phần 3.3 “Thanh ghi địa chỉ NVM”, Phần 4.0 “Tự lập trình trong thời gian chạy (RTSP)” và Phần 4.5.3 “Lập trình một hàng Example ”
  • Đăng ký cập nhật 3-1
  • Cập nhật Examptỷ số 4-7
  • Cập nhật bảng 5-1

Bản sửa đổi F (tháng 2021 năm XNUMX)
Đã thêm Mục 3.2.1 “Vô hiệu hóa ngắt”.
Cập nhật Example 3-1, Ví dụample 4-1, Ví dụample 4-2, Ví dụample 4-5, Ví dụample 4-6, Ví dụample 4-7, Ví dụample 4-8, Ví dụample 4-9 và Example 4-10.
Updated Section 3.2 “NVMKEY Register”, Section 4.5.1 “Erasing One Page of Flash”, Section 4.5.3 “Single Row Programming Example” và Mục 4.6.1 “Thuật toán ghi thanh ghi cấu hình”.

Lưu ý các chi tiết sau đây về tính năng bảo vệ mã trên các sản phẩm của Microchip:

  • Các sản phẩm Microchip đáp ứng các thông số kỹ thuật có trong Bảng dữ liệu Microchip cụ thể của sản phẩm đó.
  • Microchip tin rằng dòng sản phẩm của mình an toàn khi sử dụng đúng mục đích, trong thông số kỹ thuật vận hành và trong điều kiện bình thường.
  • Microchip coi trọng và tích cực bảo vệ quyền sở hữu trí tuệ của mình. Việc cố gắng vi phạm các tính năng bảo vệ mã của sản phẩm Microchip bị nghiêm cấm và có thể vi phạm Đạo luật Bản quyền Thiên niên kỷ Kỹ thuật số.
  • Cả Microchip hay bất kỳ nhà sản xuất chất bán dẫn nào khác đều không thể đảm bảo tính bảo mật cho mã của mình. Bảo vệ mã không có nghĩa là chúng tôi đảm bảo sản phẩm là “không thể phá vỡ”. bảo vệ đang không ngừng phát triển. Microchip cam kết không ngừng cải tiến các tính năng bảo vệ mã của các sản phẩm của chúng tôi

Ấn phẩm này và thông tin ở đây chỉ có thể được sử dụng với các sản phẩm Vi mạch, bao gồm cả để thiết kế, kiểm tra và tích hợp các sản phẩm Vi mạch với ứng dụng của bạn. Sử dụng thông tin này theo bất kỳ cách nào khác vi phạm các điều khoản này. Thông tin liên quan đến các ứng dụng thiết bị chỉ được cung cấp để thuận tiện cho bạn và có thể được thay thế bằng các bản cập nhật. Bạn có trách nhiệm đảm bảo rằng ứng dụng của bạn đáp ứng các thông số kỹ thuật của bạn. Liên hệ với văn phòng kinh doanh Microchip tại địa phương của bạn để được hỗ trợ thêm hoặc nhận hỗ trợ bổ sung tại https://www.microchip.com/en-us/support/design-help/client-supportservices.

THÔNG TIN NÀY ĐƯỢC CUNG CẤP BỞI MICROCHIP “NGUYÊN TRẠNG”. MICROCHIP KHÔNG TUYÊN BỐ HOẶC ĐẢM BẢO DƯỚI BẤT KỲ HÌNH THỨC NÀO, DÙ RÕ RÀNG HAY NGỤ Ý, BẰNG VĂN BẢN HOẶC BẰNG LỜI, THEO LUẬT ĐỊNH HOẶC CÁCH KHÁC, LIÊN QUAN ĐẾN THÔNG TIN BAO GỒM NHƯNG KHÔNG GIỚI HẠN BẤT KỲ BẢO ĐẢM NGỤ Ý NÀO VỀ VIỆC KHÔNG VI PHẠM, KHẢ NĂNG BÁN ĐƯỢC VÀ SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ, HOẶC BẢO ĐẢM CÓ LIÊN QUAN TÌNH TRẠNG, CHẤT LƯỢNG HOẶC HIỆU SUẤT CỦA NÓ. Trong mọi trường hợp, MICROCHIP SẼ KHÔNG CHỊU TRÁCH NHIỆM PHÁP LÝ CHO BẤT KỲ MẤT MẤT, THIỆT HẠI, CHI PHÍ, HOẶC CHI PHÍ TRỰC TIẾP, ĐẶC BIỆT, TRÁCH NHIỆM, NGẪU NHIÊN HOẶC DUY NHẤT DƯỚI BẤT KỲ HÌNH THỨC NÀO LIÊN QUAN ĐẾN THÔNG TIN HOẶC VIỆC SỬ DỤNG THÔNG TIN, TUY NHIÊN GÂY RA, NGAY CẢ KHI MICROCHIP ĐÃ ĐƯỢC TƯ VẤN CỦA MICROCHIP KHẢ NĂNG HOẶC THIỆT HẠI LÀ CÓ THỂ DỰ ĐOÁN. TRONG PHẠM VI TỐI ĐA ĐƯỢC PHÁP LUẬT CHO PHÉP, TOÀN BỘ TRÁCH NHIỆM PHÁP LÝ CỦA MICROCHIP ĐỐI VỚI TẤT CẢ CÁC KHIẾU NẠI DƯỚI BẤT KỲ CÁCH NÀO LIÊN QUAN ĐẾN THÔNG TIN HOẶC VIỆC SỬ DỤNG THÔNG TIN SẼ KHÔNG VƯỢT QUÁ KHOẢN PHÍ MÀ BẠN ĐÃ THANH TOÁN TRỰC TIẾP CHO MICROCHIP, NẾU CÓ.

Việc sử dụng các thiết bị Microchip trong các ứng dụng hỗ trợ sự sống và/hoặc an toàn hoàn toàn do người mua chịu rủi ro và người mua đồng ý bảo vệ, bồi thường và giữ cho Microchip vô hại khỏi mọi thiệt hại, khiếu nại, vụ kiện hoặc chi phí phát sinh từ việc sử dụng đó. Không có giấy phép nào được chuyển giao, ngầm định hoặc theo cách khác, theo bất kỳ quyền sở hữu trí tuệ nào của Microchip trừ khi có quy định khác.

Để biết thông tin về Hệ thống quản lý chất lượng của Microchip, vui lòng truy cập www.microchip.com/quality.

Nhãn hiệu

Tên và logo Microchip, logo Microchip, Adaptec, AnyRate, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, logo MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron và XMEGA là các thương hiệu đã đăng ký của Microchip Technology Incorporated tại Hoa Kỳ và các quốc gia khác. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Silent-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath và ZL là các nhãn hiệu đã đăng ký của Microchip Technology Incorporated tại Hoa Kỳ

Chặn khóa liền kề, AKS, Tương tự cho thời đại kỹ thuật số, Tụ điện bất kỳ, AnyIn, AnyOut, Chuyển mạch tăng cường, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Kết hợp trung bình động , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Lập trình nối tiếp trong mạch, ICSP, INICnet, Song song thông minh, Kết nối liên chip, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Biểu trưng được chứng nhận, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Tạo mã toàn trí, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE , Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect và ZENA là các thương hiệu của Microchip Technology Incorporated tại Hoa Kỳ và các quốc gia khác.

SQTP là nhãn hiệu dịch vụ của Microchip Technology Incorporated tại Hoa Kỳ
Biểu trưng Adaptec, Tần suất theo yêu cầu, Công nghệ lưu trữ Silicon, Symmcom và Thời gian tin cậy là các thương hiệu đã đăng ký của Microchip Technology Inc. ở các quốc gia khác.
GestIC là nhãn hiệu đã đăng ký của Microchip Technology Germany II GmbH & Co. KG, một công ty con của Microchip Technology Inc., tại các quốc gia khác.
Mọi nhãn hiệu khác được đề cập ở đây đều là tài sản của các công ty tương ứng.
© 2009-2021, Microchip Technology Incorporated và các công ty con.
Mọi quyền được bảo lưu.
ISBN: 978-1-5224-9314-3

Bán hàng và dịch vụ trên toàn thế giới

CHÂU MỸ

CHÂU Á/THÁI BÌNH DƯƠNG

  • Úc – Sydney
    Điện thoại: 61-2-9868-6733
  • Trung Quốc – Bắc Kinh
    Điện thoại: 86-10-8569-7000
  • Trung Quốc - Thành Đô
    Điện thoại: 86-28-8665-5511
  • Trung Quốc – Trùng Khánh
    Điện thoại: 86-23-8980-9588
  • Trung Quốc - Dongguan
    Điện thoại: 86-769-8702-9880
  • Trung Quốc – Quảng Châu
    Điện thoại: 86-20-8755-8029
  • Trung Quốc - Hàng Châu
    Điện thoại: 86-571-8792-8115
  • Trung Quốc - Đặc khu hành chính Hồng Kông
    Điện thoại: 852-2943-5100
  • Trung Quốc - Nam Kinh
    Điện thoại: 86-25-8473-2460
  • Trung Quốc - Thanh Đảo
    Điện thoại: 86-532-8502-7355
  • Trung Quốc – Thượng Hải
    Điện thoại: 86-21-3326-8000
  • Trung Quốc - Thẩm Dương
    Điện thoại: 86-24-2334-2829
  • Trung Quốc - Thâm Quyến
    Điện thoại: 86-755-8864-2200
  • Trung Quốc - Tô Châu
    Điện thoại: 86-186-6233-1526
  • Trung Quốc - Vũ Hán
    Điện thoại: 86-27-5980-5300
  • Trung Quốc - Tây An
    Điện thoại: 86-29-8833-7252
  • Trung Quốc - Hạ Môn
    Điện thoại: 86-592-2388138
  • Trung Quốc - Chu Hải
    Điện thoại: 86-756-3210040
  • Ấn Độ – Bangalore
    Điện thoại: 91-80-3090-4444
  • Ấn Độ - New Delhi
    Điện thoại: 91-11-4160-8631
  • Ấn Độ - Pune
    Điện thoại: 91-20-4121-0141
  • Nhật Bản - Osaka
    Điện thoại: 81-6-6152-7160
  • Nhật Bản – Tokyo
    Điện thoại: 81-3-6880-3770
  • Hàn Quốc - Daegu
    Điện thoại: 82-53-744-4301
  • Hàn Quốc - Seoul
    Điện thoại: 82-2-554-7200
  • Malaysia - Kuala Lumpur
    Điện thoại: 60-3-7651-7906
  • Malaysia - Penang
    Điện thoại: 60-4-227-8870
  • Philippines – Manila
    Điện thoại: 63-2-634-9065
  • Singapore
    Điện thoại: 65-6334-8870
  • Đài Loan - Hsin Chu
    Điện thoại: 886-3-577-8366
  • Đài Loan - Cao Hùng
    Điện thoại: 886-7-213-7830
  • Đài Loan - Đài Bắc
    Điện thoại: 886-2-2508-8600
  • Thái Lan – Băng Cốc
    Điện thoại: 66-2-694-1351
  • Việt Nam - Hồ Chí Minh
    Điện thoại: 84-28-5448-2100

CHÂU ÂU

  • Áo - Wels
    Điện thoại: 43-7242-2244-39
    Fax: 43-7242-2244-393
  • Đan Mạch – Copenhagen
    Điện thoại: 45-4485-5910
    Fax: 45-4485-2829
  • Phần Lan - Espoo
    Điện thoại: 358-9-4520-820
  • Pháp – Paris
    Điện thoại: 33-1-69-53-63-20
    Fax: 33-1-69-30-90-79
  • Đức – Garching
    Điện thoại: 49-8931-9700
  • Đức - Haan
    Điện thoại: 49-2129-3766400
  • Đức – Heilbronn
    Điện thoại: 49-7131-72400
  • Đức - Karlsruhe
    Điện thoại: 49-721-625370
  • Đức – Munich
    Điện thoại: 49-89-627-144-0
    Fax: 49-89-627-144-44
  • Đức – Rosenheim
    Điện thoại: 49-8031-354-560
  • Ý - Milan
    Điện thoại: 39-0331-742611
    Fax: 39-0331-466781
  • Ý - Padova
    Điện thoại: 39-049-7625286
  • Hà Lan - Drunen
    Điện thoại: 31-416-690399
    Fax: 31-416-690340
  • Na Uy - Trondheim
    Điện thoại: 47-7288-4388
  • Ba Lan – Warsaw
    Điện thoại: 48-22-3325737
  • Rumani – Bucharest
    Điện thoại: 40-21-407-87-50
  • Tây Ban Nha - Madrid
    Điện thoại: 34-91-708-08-90
    Fax: 34-91-708-08-91
  • Thụy Điển - Gothenberg
    Điện thoại: 46-31-704-60-40
  • Thụy Điển – Stockholm
    Điện thoại: 46-8-5090-4654
  • Vương quốc Anh - Wokingham
    Điện thoại: 44-118-921-5800
    Fax: 44-118-921-5820

Ghi chú:

Phần hướng dẫn tham khảo gia đình này nhằm phục vụ như một phần bổ sung cho bảng dữ liệu thiết bị. Tùy thuộc vào kiểu thiết bị, phần thủ công này có thể không áp dụng cho tất cả các thiết bị dsPIC33/PIC24. Vui lòng tham khảo ghi chú ở đầu chương “Bộ nhớ chương trình Flash” trong bảng dữ liệu thiết bị hiện tại để kiểm tra xem tài liệu này có hỗ trợ thiết bị bạn đang sử dụng hay không.
Bảng dữ liệu thiết bị và các phần hướng dẫn tham khảo dòng sản phẩm có sẵn để tải xuống từ Microchip Worldwide Webtrang web tại: http://www.microchip.com.

Tài liệu / Tài nguyên

MICROCHIP PIC24 Lập Trình Flash [tập tin pdf] Hướng dẫn sử dụng
Lập trình PIC24 Flash, PIC24, Lập trình Flash, Lập trình
MICROCHIP PIC24 Lập Trình Flash [tập tin pdf] Hướng dẫn sử dụng
Lập trình PIC24 Flash, PIC24, Lập trình Flash

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *