RISC-V/V203F6P6/programmer/main.cpp
2025-02-04 16:32:08 +01:00

33 lines
1.1 KiB
C++

#include "system.h"
#include "gpio.h"
#include "cdc_class.h"
#include "linkprotocol.h"
#include "helpers.h"
/*********************************************************************************
* Do mluvícího teploměru bylo potřeba nějak dostat data do externí flash.
* Zde je základ programátoru, je to recyklovaný kód, takže zatím to umí jen
* binární soubory. Dodělat Intel hex není problém, ale nepotřebuji to.
* Umí to jen nor flash se stránkou 4096 bytů, předpokládaná velikost je 32Mbit.
* Software je dost surový, bez kontrol, prostě jen aby to trochu fungovalo.
**********************************************************************************/
static GpioClass led (GPIOB, 8);
static cdc_class cdc;
static MemoryBase mem;
static CdcCmd cmd;
static LinkProtocol lnk (cmd, mem);
int main () {
led << true;
cdc.init ();
cmd += cdc;
unsigned pass = 0u, command;
for (;;) {
char * res = cmd.GetLine(command);
if (command == 0u) continue;
lnk.ParseLine(res);
pass += 1u;
const bool b = pass & 1u;
led << b;
}
return 0;
}