Shawn Silverman
Shawn Silverman
I was thinking about this some more. @PaulStoffregen how does Teensyduino 1.57 know which of the hex or ehex to give to the loader? Or does it just try to...
Thanks, @PaulStoffregen, for the guidance. I was playing with this and it looks like one can always call the `teensy_secure` program because it will automatically look for a key in...
There's two outstanding questions here: 1. Does the alignment in memory appear on the wire? For example, if there was padding before the strip flags because of struct alignment rules,...
I just plugged in a PixelPusher and recorded its announcement packets. It's an 84-byte packet and it looks like there's a 2-byte padding both before and after the strip flags....
That's the thing. "Struct alignment" dictates that the strip flags should be at location 30 and not location 32. For both packed and unpacked. I'll contact you offline about the...
Here’s how I understand this; what am I missing: The element before `strip_flags` is `my_port` (see `PixelPusherBase` above) and is a uint16_t, and that’s 16-bit-aligned in the struct. Byte arrays...
Here's the test program. Note that there's a 2-byte padding _after_ `strip_flags`, as expected (size=40). When the struct is changed to _packed_, the size changes to 38, but `strip_flags` stays...
Byte arrays inside structs are not stored as pointers. sizeof(uint8_t[8]) is 8. If instead the member was actually a uint8_t* then it would be word-aligned. uint8_t[8], however, is a different...
Ok, I hear you. Sounds like RVCT doesn’t follow the traditional C struct alignment rules and word-aligns byte arrays?
When you say “single object of sizeof(n)” do you mean “treats it as a pointer”? Objects of size “n” are usually themselves aligned to the size of the largest member....