Nie mogę odpowiedzieć na szczegółowe pytania z 8051, ale mogę pomóc w rozwiązaniu pierwszego problemu.
Standardową metodą robienia tego w przemyśle (przynajmniej o ile wiem) jest użycie szpilek pogo:
(źródło: sparkfun.com)
Złota część przebija się przez jakąś protoboard lub inną PCB. Podłączasz programator do tego obwodu. Ten kawałek PCB (lub coś grubszego i mocniejszego, jak masonit lub akryl, jeśli robisz setki płyt) ma również większe szpilki, które przechodzą przez otwory w tablicy docelowej, aby precyzyjnie zlokalizować płytkę docelową nad pinami pogo. Lekki nacisk na płytkę styka się między sprężynowymi pinami pogo a punktami testowymi na docelowej płytce drukowanej.
Firma, w której pracuję, używa tego rodzaju pinów do programowania każdego z milionów obwodów deski, które robią co roku, a każdy ślad ma mały punkt testowy, który jest testowany przez tester przez te szpilki.
Jeśli potrzebujesz nagłówka debugowania, istnieją inne standardowe metody. Całkowicie nie znam tego chipa, więc nie mogę Ci odpowiedzieć. 8, 14 i 20-pinowe nagłówki są wspólne dla innych urządzeń.
EDYTUJ: Rzuciłem okiem na arkusz danych i znalazłem na stronie 10:
3. Funkcja programowania w systemie (ISP)
SM5964 może generować sygnał sterujący błyskiem przez wewnętrzny obwód sprzętowy. Użytkownik wykorzystuje rejestr sterujący błyskiem, rejestr adresu pamięci flash i rejestr danych flash do wykonywania funkcji ISP bez usuwania SM5964 z systemu. SM5964 zapewnia wewnętrzne sygnały sterujące lampą błyskową, które mogą wykonywać program flash / wymazywanie chipa / kasowanie strony / funkcje ochrony. Użytkownik musi zaprojektować i używać dowolnego rodzaju interfejsu, do którego SM5964 może wprowadzać dane. Następnie użytkownik wykorzystuje program usługowy ISP do wykonywania funkcji flash programu / wymazywania chipa / kasowania stron / ochrony.
3.1 Program usługowy ISP
Program usługowy ISP został opracowany przez użytkownika
program oprogramowania układowego, który znajduje się w przestrzeni programu usług ISP. Po opracowaniu przez użytkownika programu usługowego ISP, użytkownik określa następnie rozmiar programu usługowego ISP. Użytkownik musi zaprogramować program usługowy ISP w SM5964 do celów ISP. Program serwisowy ISP został opracowany przez użytkownika tak, aby zawierał wszelkie funkcje związane z funkcją programowania pamięci flash oraz protokołem komunikacyjnym pomiędzy SM5964 a urządzeniem głównym, które wysyła dane do SM5964. Na przykład, jeśli użytkownik wykorzystuje interfejs UART do odbierania / przesyłania danych między SM5964 a urządzeniem hosta, program usługowy ISP powinien zawierać szybkość transmisji, kontrolę sumy kontrolnej lub parzystości lub dowolny mechanizm sprawdzania błędów, aby uniknąć błędów transmisji danych. Program serwisowy ISP można zainicjować w trybie aktywnym SM5964 lub w trybie bezczynności. Nie można go zainicjować w trybie wyłączenia.
Wygląda na to, że możesz udostępnić program ładujący, który wczyta dane z dowolnego interfejsu. Może to być jakiś GPIO lub UART, do którego uzyskujesz dostęp za pomocą pinów pogo lub przejdź do istniejącego złącza na płycie. Jak uruchomić ten program?
3.4 Zainicjowanie programu usługowego dostawcy usług internetowych
Aby zainicjować program usługowy dostawcy usług internetowych, należy załadować licznik programów (komputer) adres startowy programu usługi ISP i wykonaj go. Można to zrobić na dwa sposoby:
(1) Puste resetowanie. Reset sprzętowy z pustym pierwszym adresem flash ($ 0000 = # FFH) załaduje komputer z adresem początkowym programu usługowego ISP.
(2) Wykonanie instrukcji skoku może załadować adres początkowy programu usługowego ISP do komputera.
Jednak nie mam pojęcia, jak można uzyskać program ISP na pustym chipie. Ta strona ma kilka programów i programistów, MSM9042 wygląda bliżej tego, czego oczekujesz od programowania w obwodzie (nie gniazda).