Na potrzeby jednego z moich projektów napisa³em prosty interpreter mojego w³asnego jêzyka, który steruje pewnym urz±dzeniem po SPI.
Potem pomy¶la³em, ¿e na bazie tego mo¿na zrobiæ uniwersalny programator procesorów wyposa¿onych w SPI. Wygl±da³oby to tak, ¿e opis procedur programuj±cych dany procesor by³by w pliku tekstowym w pewnym pseudojêzyku. Dziêki temu:
-po wypuszczeniu na rynek nowego procesora wystarczy³o by zmodyfikowaæ plik i ju¿!
-ka¿dy móg³by to zrobiæ, nie tylko autor programu, ró¿ne wersje kr±¿y³yby po internecie
-dodatkowo mo¿na by by³o zastosowaæ ten programator w dowolnym innym zastosowaniu!
Co o tym s±dzicie - macie jakie¶ uwagi, pomys³y?
W tej chwili dzia³a mi co¶ takiego:
PINNING //Opis pod³±czenia do portu równoleg³ego - DT-006 SETPIN RESET 4 SETPIN SCK 5 SETPIN MISO 11 SETPIN MOSI 2 ENDPINNING
FUNCTION PROGRAM_ENABLE SET_RESET 0 SET_SCK 0 DELAY_US 1 SET_RESET 1 DELAY_US 1 SET_RESET 0 //odpowiednie impulsy do wej¶cia w tryb programowania
DELAY_US 20000 // odczekanie 20 ms
SPI_SEND 0xac $10 // Wysy³amy bajt 0xac, odebrany l±duje w komórce $10 SHOW $10 // Ogl±damy, co uk³ad odes³a³ SPI_SEND 0x53 $10 SHOW $10 SPI_SEND 0 $11 SHOW $11 // tu powinni¶my dostaæ 0x53 SPI_SEND $1 $10 SHOW 10
IF ( $11 != 0x53 ) EXITERROR "Uk³ad odpowiedzia³ niepoprawnie na Program Enable" // Je¶li nie dostali¶my prawid³owego bajtu, znaczy ¿e // co¶ nie tak
ENDFUNCTION