Tuesday, 2018-01-23

*** tpb has joined #tomu00:00
alecthegeekI have the bootloader working. Cool00:01
*** alecthegeek has quit IRC00:02
*** alecthegeek has joined #tomu00:19
xobsalecthegeek: cool!00:59
*** NoGodDamnIdea has quit IRC00:59
*** alecthegeek has quit IRC00:59
*** alecthegeek has joined #tomu01:02
*** alecthegeek has quit IRC03:05
*** alecthegeek has joined #tomu03:15
xobsCool!  Someone got eChronos running on Tomu: https://github.com/schnommus/echronos-sandbox/tree/tomu03:28
tpbTitle: GitHub - schnommus/echronos-sandbox at tomu (at github.com)03:28
*** alecthegeek has quit IRC03:45
*** alecthegeek has joined #tomu03:52
*** alecthegeek has quit IRC03:57
*** alecthegeek has joined #tomu04:01
dtornabenethis is super cool04:01
*** dtornabene has quit IRC04:06
*** dtornabene has joined #tomu04:06
*** alecthegeek has quit IRC04:34
*** alecthegeek has joined #tomu04:48
*** dtornabene has quit IRC05:16
*** alecthegeek has quit IRC05:16
*** dtornabene has joined #tomu05:17
*** dtornabene has quit IRC05:18
*** alecthegeek has joined #tomu05:19
*** alecthegeek has quit IRC06:14
*** nrossi has joined #tomu06:20
*** alecthegeek has joined #tomu06:22
*** alecthegeek has quit IRC06:39
*** alecthegeek has joined #tomu06:41
*** alecthegeek has quit IRC07:07
*** alecthegeek has joined #tomu07:14
*** alecthegeek has quit IRC07:37
*** alecthegeek has joined #tomu07:41
*** alecthegeek has quit IRC08:06
*** alecthegeek has joined #tomu08:11
*** alecthegeek has quit IRC08:48
*** _anomaly_ has joined #tomu09:00
_anomaly_hi, is my interpretation of the tomu website correct in that to program a usb-accessible bootloader on the v0.3 boards we still need to attach an external ttl uart to the pads n the board - but can skip the pullup resistor?09:03
_anomaly_*pads on the board09:03
_anomaly_also, should the boards handed out at LCA2018 already have that bootloader?  If so I think I might have gotten a bad unit09:05
_anomaly_it appears as a cdc-acm device but after i attach a termial emulator to the tty device it just prints garbage, using 115200 8,n,109:07
_anomaly_*terminal09:07
nbags[m]_anomaly_: mine didn't work right away but after stopping ModemManager it worked09:08
_anomaly_not using modemmanager09:09
_anomaly_i don't think, i'll check09:09
_anomaly_nope09:09
nbags[m]I don't know then. Mine also didn't work with screen right away but did with minicom. But that was something weird going on with me I guess09:10
_anomaly_ok, i am using screen, i'll try minicom09:10
_anomaly_yer that's weird09:13
_anomaly_screen just spews stuff constantly, but minicom has a little spat but then works09:13
_anomaly_wonder what's different09:13
_anomaly_thanks for the pointer though at least I can do something with it now :)09:13
nbags[m]And I also couldn't get the firmware on it with minicom but I gave up at that point cause I I has stuff to do09:14
nbags[m]Np09:14
*** alecthegeek has joined #tomu09:19
_anomaly_"*Don't* press 'd' otherwise you'll need to use JTAG to recover the device (that is destructive upload that clears the bootloader)."09:39
_anomaly_haha well i wish i read that about 3 seconds earlier09:39
* _anomaly_ fetches the soldering iron09:40
nbags[m]Oh that sucks09:47
*** myNameIs has joined #tomu10:07
*** myNameIs has quit IRC10:12
CRImier_anomaly_ I wonder if that's bad UX and could be safeguarded, by having to use a 2- or 3-character sequence10:38
*** SergeiG has quit IRC10:41
*** SergeiG has joined #tomu10:43
*** alecthegeek has quit IRC11:00
_anomaly_CRImier: confirmation prompt wouldnt go astray11:14
CRImierThat depends on whether the bootloader is meant to be exposed to people11:15
CRImierAlso, the flash space used for it11:15
_anomaly_i think 'delete and overwrite yourself' should have a confirmation either way11:16
CRImierIf you have, say, 512 bytes for a bootloader, it might be more space-efficient to implement sequence parsing11:16
_anomaly_but code size is always a concern11:16
CRImierAs opposed to storing and displaying a string11:16
CRImierSee, bootloader code area might be limited (I don't know if it's actually the case for tomu, but I know it is for some systems)11:19
_anomaly_doesnt need to be a long string, just something to break the process in the case of spurious input or noise on the uart11:20
_anomaly_maybe require the unique identifier11:20
_anomaly_either way, with the way screen weirds out a stray 'd' is far too easy11:23
kyaputenbootloader space is shared with the rest of the programs11:58
kyaputenso the smaller it is, the larger other program you can put on the tomu board11:58
kyaputenfrom what I guess, the final board will have a dfu bootloader (xobs actually completed first version)11:59
xobs_anomaly_: If you're at LCA, you can use the tester jig we've got set up.12:00
xobsThe DFU bootloader is a hair over 4kB, but still jumps to offset 0x4000 so that all the old code will still work (provided it resets the watchdog timer).12:00
xobsCode is free, however, to erase offsets 0x1400-0x4000 if it needs to use it for e.g. storage, or store code there.12:01
kyaputenwhat is below <0x1400 ?12:02
kyaputenalso: on the bluepill with a dfu bootloader, they have a way (didn't look into it yet) to force dfu mode even if the program is running12:03
kyaputenI wonder how they do it12:03
kyaputen(so you don't need to reset a watchdog)12:03
_anomaly_xobs: i think i saw it when leaving the hall, will it be there tomorrow as well?12:07
xobs_anomaly_: As long as nothing happens to it, it'll be there until the end of Friday.12:08
_anomaly_ok ta12:08
xobskyaputen: What do you mean "force dfu mode"?12:08
xobsWith Tomu, if a program writes 0x74624346 to address 0x20000000 and reboots, it will enter DFU mode.  Documented here, but perhaps I should call it out some more: https://github.com/im-tomu/tomu-bootloader/blob/master/API.md#boot-token12:14
tpbTitle: tomu-bootloader/API.md at master · im-tomu/tomu-bootloader · GitHub (at github.com)12:14
SergeiGxobs: new bootloader works great! since it leaves some extra space below 0x4000, would it make sense to support set address command, so that one could upload binary with command like "dfu-util -d 1209:70b1 -s 0x1400:leave -D myfile.bin" ?13:49
kyaputenxobs: lemme check14:02
kyaputenthis: https://pastebin.com/9WBKyQEe14:04
tpbTitle: dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be req - Pastebin.com (at pastebin.com)14:04
kyaputenI was referring to "Determining device status: state = appIDLE, status = 014:05
kyaputenDevice really in Runtime Mode, send DFU detach request..."14:05
kyaputenI'm not good enough at dfu to know what that means14:05
*** nrossi has quit IRC19:56
xobsSergeiG: I didn't implement that command.  I actually didn't know about it!  Perhaps we can do that in a future version.22:43
xobsThe solution I came up with was to look at offset 0x98, which ordinarily is an interrupt vector, but if the lower 16 bits are 0x6fb0 then treat bits 16-23 as the load offset.22:45
xobsToboot sets those values correctly, which is how Toboot is able to replace itself.22:45
xobsSee https://github.com/im-tomu/tomu-bootloader/blob/master/API.md#toboot-configuration-values (though again, it would be nice to call out that value more clearly.)22:46
tpbTitle: tomu-bootloader/API.md at master · im-tomu/tomu-bootloader · GitHub (at github.com)22:46
*** drewww has joined #tomu22:46
*** drewww has quit IRC22:53
*** seb__ has joined #tomu23:32
*** schnebbus has joined #tomu23:37
*** seb__ has quit IRC23:46
*** nullobject has joined #tomu23:47
*** schnebbus has quit IRC23:48
nullobjectHi all, I got my tomu device in my LCA swag but I'm having trouble running anything on it. I've tried uploading the blinky example using minicom on macos, but it doesn't seem to be working. Any pointers would be much appreciated :)23:48
*** mijofa has joined #tomu23:50
*** schnebbus has joined #tomu23:52
*** k-man has joined #tomu23:58
k-manhi23:58
k-manwhat device does the tomu turn up as on linux?23:58
k-manunder /dev23:58
mijofak-man: With the original bootloader it came up as /dev/ttyACM0 for me23:59
k-mani flashed mine23:59
*** drewww has joined #tomu23:59
*** drewwwau has joined #tomu23:59

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!