По мотивам этой темы на ум пришёл один метод:
1) Пишем код на уютненьком пурике, и делаем ASM-вставки (если нужно конечно).
2) Транслируем его на .asm
3) На основе .asm компилируем .hex под конкретный процессор, например, через Atmel Studio.
Но, потому-что вот так , выполнил я только второй пункт. Вот программка:
; PureBasic 5.51 #MV_createAsm = " /COMMENTED" SourceFileName$ = ProgramParameter(0) PBHomeDirectory$ = ProgramParameter(1) If Len(SourceFileName$) If Not Len(DestinationFileName$) DestinationFileName$ = SaveFileRequester("Экспорт ASM-файла", GetFilePart(SourceFileName$, #PB_FileSystem_NoExtension), "ASM-Файлы (*.asm)|*.asm|Все Файлы (*.*)|*.*", 0) If Not Len(GetExtensionPart(DestinationFileName$)) DestinationFileName$+".asm" EndIf EndIf If Len(DestinationFileName$) CompilerDirectory$ = PBHomeDirectory$ + "\Compilers" PBCompiler$ = CompilerDirectory$ + "\pbcompiler.exe" Parameter$ =~"\""+SourceFileName$+~"\""+#MV_createAsm If RunProgram(PBCompiler$, Parameter$, CompilerDirectory$, #PB_Program_Hide | #PB_Program_Wait) FileASM$=CompilerDirectory$ + "\purebasic.asm" If CopyFile(FileASM$, DestinationFileName$) ;MessageRequester("Сообщение", DestinationFileName$ + " файл создан!", #PB_MessageRequester_Ok ) Else : MessageRequester("Ошибка экспорта ASM", "Создать файл "+#CRLF$+DestinationFileName$+" не удалось.", #PB_MessageRequester_Error) EndIf Else : MessageRequester("Ошибка экспорта ASM", "Не удалось запусть компиллятор."+#CRLF$+PBCompiler$, #PB_MessageRequester_Error) EndIf Else : MessageRequester("Ошибка экспорта ASM", "Неверно указано имя конечного файла.", #PB_MessageRequester_Error) EndIf Else : MessageRequester("Ошибка экспорта ASM", "Имя исходного файла указано неверно.", #PB_MessageRequester_Error) EndIf
Возможно ли в принципе написание прошивок из под PB? Стоит ли вообще копать эту тему, может лучше забить и пойти наконец выучить СИ?..