I'm almost afraid to try it
-
In absence of hardware, while waiting for it to ship I've taken to producing a starting codebase for my new project. It's a Cortex-A based CPU, and those are not typically "real time" - for those of you familiar with embedded these work like your smartphone and are complex enough that they generally require an operating system like linux or android in order to function. The problem with that is boot times. There have been successful efforts to get linux boot times down to less than half a second but it requires so much u-boot hacking and linux kernel hacking that it's not much easier than going bare metal. I'm going bare metal. I'm terrified that I've accepted a contract for something I've never done before. It has been years since I coded anything in assembly. I read it, but I don't typically write it these days. That's about to change. I'm dealing with stripped down C and C++, multiple cores but no scheduler, and therefore no synchronization primitives other than say, suspending the other core entirely, if possible? And that's yikes. I just managed to scrape together enough of the CubeMX HAL under this environment to give me SPI support (I think), but I won't know until I get this board and connect my logic analyzer, and I'm really anxious about it. Lots of moving parts, and I haven't tested a single thing yet. It's out for delivery now. I was excited yesterday. Right now I'm kinda freaked out. :~
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
In absence of hardware, while waiting for it to ship I've taken to producing a starting codebase for my new project. It's a Cortex-A based CPU, and those are not typically "real time" - for those of you familiar with embedded these work like your smartphone and are complex enough that they generally require an operating system like linux or android in order to function. The problem with that is boot times. There have been successful efforts to get linux boot times down to less than half a second but it requires so much u-boot hacking and linux kernel hacking that it's not much easier than going bare metal. I'm going bare metal. I'm terrified that I've accepted a contract for something I've never done before. It has been years since I coded anything in assembly. I read it, but I don't typically write it these days. That's about to change. I'm dealing with stripped down C and C++, multiple cores but no scheduler, and therefore no synchronization primitives other than say, suspending the other core entirely, if possible? And that's yikes. I just managed to scrape together enough of the CubeMX HAL under this environment to give me SPI support (I think), but I won't know until I get this board and connect my logic analyzer, and I'm really anxious about it. Lots of moving parts, and I haven't tested a single thing yet. It's out for delivery now. I was excited yesterday. Right now I'm kinda freaked out. :~
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
Ah, the unknown. Exciting, terrifying, challenging, mysterious, bound to be frustrating and also with great successes and stories. It's times like these, if you had a crystal ball to show you the future (in detail!), would you look into it? ;)
Latest Articles:
A Lightweight Thread Safe In-Memory Keyed Generic Cache Collection Service A Dynamic Where Implementation for Entity Framework