По мотивам этой темы на ум пришёл один метод:
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? Стоит ли вообще копать эту тему, может лучше забить и пойти наконец выучить СИ?..
) Если интересно, передо мной сейчас лежит устройство на Atbanned6A с прицепленным к ниму LAN-модулем от ардуины. Всё устройство заказывали на стороне, а мне же нужно собрать свой собственный вариант по-новому и учесть недостатки.