concordia-fsae / firmware

Firmware Repo
2 stars 0 forks source link

UDS App Download #43

Closed rickyelopez closed 5 months ago

rickyelopez commented 6 months ago

Adding support for downloading an app using UDS!

Status:

I'm working on building out the UDS Client (which is what folks will run from their computers to actually run UDS operations) here, but right now it's incredibly hacky

rickyelopez commented 6 months ago

I got a successful app download (and subsequent checksum verification + successful boot), which is pretty sick. There's a bug in the CRC calculation that causes the cpu to hang if it is started before the app has fully downloaded but I haven't been able to figure out why yet. I circumvented it by adding the UDS boot timeout extend calls (which were required anyway), but we should probably dig into that at some point.

Updated TODOs in the PR description

rickyelopez commented 5 months ago

I think this is pretty much ready to go. The two open items in the PR description can happen in a future PR.

Next step here would be to try to integrate the bootloader with an actual app (as opposed to the heartbeat I wrote), and to add UDS support to an app (so that we can, at the very least, issue a UDS reset to be able to get into the bootloader and write a new app). I'll probably do both these things with the steering wheel app for now, since that's the board I have on-hand.

@JoshLafleur, wanna take a look?