Electronics > Microcontrollers
Tiny MCU architectures: AVR, PIC, 8051, STM8, MSP430, custom RISC...
josuah:
--- Quote from: Nominal Animal on December 11, 2022, 05:39:18 pm ---However, there are cheap crypto chips like ATECC608A and ATECC608B that can do the handshake externally. With one of these, even public-key crypto is not outside small microcontrollers, even 8-bit ones.
--- End quote ---
I always forget to give a look at external chips.
--- Quote from: Nominal Animal on December 11, 2022, 05:39:18 pm ---However, even AES can be implemented on a small 8-bit microcontroller. For example, see AVR-AES-faster at github. While the achievable bandwidth is relatively low compared to 32-bitters, it can definitely be done for e.g. CAN message data (payloads only, treating each message as one 128-bit block) or UART.
--- End quote ---
Surprising to see the amount of software pushing AVR chip outside what they are expected to be able to do.
--- Quote from: Nominal Animal on December 11, 2022, 05:39:18 pm ---As I described earlier, the reason for such encryption may not be 'secrecy', but really authenticity and integrity, which is easier to get right with encryption than it is with pure message authentication codes (due to the nonce stuff I mentioned).
--- End quote ---
The use-cases are much more clear now.
Thank you all.
spth:
--- Quote from: HwAoRrDk on November 16, 2022, 12:35:31 pm ---I say for the most part because there is one gotcha: function pointers are only ever 16-bit, so if you try to take a pointer to a function stored in flash at an address greater than 0xFFFF, things won't work properly.
--- End quote ---
Function pointers should be 24 bit in the large memory model. If you can reproduce the issue you mentioned, please file a bug report at https://sourceforge.net/p/sdcc/bugs/
For me, the following works fine when compiled via sdcc -mstm8 --model-large:
--- Code: ---void (*p)(void);
void dummy(void) // A function just at the 64K boundary to give some tolerance to array size below.
{
dummy ();
}
void f(void)
{
}
const char array[32725] = {0}; // Large array to force f above 64 K.
void main(void)
{
p = &f;
(*p)();
}
--- End code ---
HwAoRrDk:
--- Quote from: spth on December 13, 2022, 05:25:22 pm ---Function pointers should be 24 bit in the large memory model.
--- End quote ---
Ah, so they are. I must admit last time I looked at it in detail was a few years ago, so maybe something changed since 3.x times. Or perhaps I'm mistaken.
neil555:
Thanks to this thread i remembered how nice STM8's are.
I dug out an STM8207RB a few days ago and it's now playing 8 channel Amiga protracker tunes mixed at 31kHz (in stereo with true panning) outputting 16 bit (ish) PWM at 125Khz, I did overclock to 32Mhz but so far i'm only using about 52% cpu time!
neil555:
So ...
I was browsing ST's website last night and ALL the STM8's are now marked as NRND! Oddly i couldn't find any mention from ST that these parts are being discontinued, has anyone here heard anything?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version