Tôi không thể trả lời 8051 câu hỏi cụ thể, nhưng tôi có thể giúp đỡ với vấn đề đầu tiên của bạn.
Phương pháp tiêu chuẩn để thực hiện việc này trong công nghiệp (ít nhất là theo như tôi có thể nói) là sử dụng chân pogo:
(nguồn: sparkfun.com )
Phần vàng dính qua một số protoboard hoặc PCB khác. Bạn kết nối lập trình viên của bạn với mạch này. Mảnh PCB này (hoặc thứ gì đó dày hơn và cứng hơn như masonite hoặc acrylic nếu bạn đang thực hiện hàng trăm bảng) cũng có các chân lớn hơn đi qua các lỗ trên bảng mục tiêu của bạn, để xác định chính xác bảng mục tiêu của bạn phía trên các chân pogo. Áp lực giảm nhẹ trên bảng làm cho tiếp xúc giữa các chân pogo được tải bằng lò xo và các điểm kiểm tra trên PCB mục tiêu.
Công ty tôi làm việc sử dụng loại ghim này để lập trình cho mỗi một trong số hàng triệu bảng mạch họ tạo ra mỗi năm và mỗi dấu vết đều có một điểm kiểm tra nhỏ được thử nghiệm bởi những người thử nghiệm thông qua các chân này.
Nếu bạn muốn một tiêu đề gỡ lỗi, có các phương pháp tiêu chuẩn khác. Tôi hoàn toàn không quen thuộc với con chip này, vì vậy tôi không thể trả lời điều đó cho bạn. Tiêu đề 8, 14 và 20 pin là phổ biến cho các thiết bị khác.
EDIT:
Tôi đã xem nhanh bảng dữ liệu và tìm thấy trên trang 10:
3. Chức năng lập trình trong hệ thống (ISP)
SM5964 có thể tạo tín hiệu điều khiển flash bằng mạch phần cứng bên trong. Người dùng sử dụng thanh ghi điều khiển flash, thanh ghi địa chỉ flash và thanh ghi dữ liệu flash để thực hiện chức năng ISP mà không cần loại bỏ SM5964 khỏi hệ thống. SM5964 cung cấp các tín hiệu điều khiển flash bên trong có thể thực hiện các chức năng xóa / xóa trang / chương trình flash. Người dùng cần thiết kế và sử dụng bất kỳ loại giao diện nào mà SM5964 có thể nhập dữ liệu. Sau đó, người dùng sử dụng chương trình dịch vụ ISP để thực hiện các chức năng flash / xóa xóa chương trình / xóa trang.
3.1 Chương trình dịch vụ ISP
Chương trình dịch vụ ISP là chương trình phần mềm do người dùng phát triển nằm trong không gian chương trình dịch vụ ISP. Sau khi người dùng phát triển chương trình dịch vụ ISP, người dùng sẽ xác định kích thước của chương trình dịch vụ ISP. Người dùng cần lập trình chương trình dịch vụ ISP trong SM5964 cho mục đích ISP. Chương trình dịch vụ ISP được phát triển bởi người dùng để nó bao gồm bất kỳ tính năng nào liên quan đến chức năng lập trình bộ nhớ flash cũng như giao thức liên lạc giữa SM5964 và thiết bị chủ lưu trữ dữ liệu ra SM5964. Ví dụ: nếu người dùng sử dụng giao diện UART để nhận / truyền dữ liệu giữa SM5964 và thiết bị chủ, chương trình dịch vụ ISP nên bao gồm tốc độ baud, kiểm tra tổng hoặc kiểm tra chẵn lẻ hoặc bất kỳ cơ chế kiểm tra lỗi nào để tránh lỗi truyền dữ liệu. Chương trình dịch vụ ISP có thể được bắt đầu trong chế độ hoạt động hoặc nhàn rỗi SM5964. Nó không thể được bắt đầu dưới chế độ tắt nguồn.
Vì vậy, có vẻ như bạn có thể cung cấp chương trình bộ nạp khởi động để đọc dữ liệu từ bất kỳ giao diện nào bạn muốn. Đây có thể là một số GPIO hoặc UART mà bạn truy cập bằng các chân pogo hoặc đi đến một đầu nối hiện có trên bảng. Làm thế nào để bạn có được chương trình này để chạy?
3.4 Khởi tạo chương trình dịch vụ ISP
Để khởi tạo chương trình dịch vụ ISP là tải bộ đếm chương trình (PC) với địa chỉ bắt đầu của chương trình dịch vụ ISP và thực hiện nó. Có hai cách để làm như vậy:
(1) Đặt lại trống. Thiết lập lại phần cứng với trống địa chỉ flash đầu tiên ($ 0000 = # FFH) sẽ tải PC với địa chỉ bắt đầu của chương trình dịch vụ ISP.
(2) Thực hiện lệnh nhảy có thể tải địa chỉ bắt đầu của chương trình dịch vụ ISP sang PC.
Tuy nhiên, tôi không biết làm thế nào bạn có thể có được chương trình ISP trên chip trống. Trang này có một vài chương trình và lập trình viên, MSM9042 trông gần hơn với những gì bạn muốn cho lập trình trong mạch (không phải ổ cắm).