Bootloader-less Pro - Advanced AVR 3.0 Core - Part 1 - GCC Sections functions attribute

Channel:
Subscribers:
580
Published on ● Video Link: https://www.youtube.com/watch?v=oHrHgg0TThk



Duration: 2:20
0 views
0


Boot header from AVR-c actually suck BBC, (Probably written by someone from Britain?) thus SPM and LPM code are rewritten. Bootloader mechanism found in the AVR is good only for the protection part of the feature. Self-program can be done without it with a little bit extra care. Beside on being able to update its own source code, the flash memory can be easily used as flash to store data, for instance a logger that requires a lot of memory can store its data to the flash memory.

Part 1 tested the idea of using GCC's extended functions attribute feature to partition the little tiny amount of flash memory into sections, and it works as expected. There are 2 other known ways to do similar thing, but this seems to be the best route. Why is this useful? This is less to do with the actual function, but to manually reserve some programming space. The partitioned space can be used as bootloader, flash memory, whatever and etc. The user defined function addressing location also makes it easy to write in C-language a SPM function inside the bootloader section, of which is required to reside in to increase the memory security of the system.




Other Videos By Flyandance


2023-03-17SPM 3.0 writes to self - Advanced AVR 3.0 Core Bootloader
2023-03-16SPM 2.0 writes to self - Advanced AVR 3.0 Core Bootloader
2023-03-14You jump, ijmp - Inline asm Indirect Jump - Advanced AVR 3.0 Core Bootloader
2023-03-05yt-dlp - A ultimate guide (The result of 2 weeks of hard work)
2023-03-03True bare Minimal code - Advanced AVR 3.0 Core Bootloader Pro Part 4 Size does matters getting naked
2023-02-28Bootloader-less Pro - Advanced AVR 3.0 Core - Part 3 - SPM - App Writes to App section - programmer
2023-02-27Bootloader-less Pro - Advanced AVR 3.0 Core - Part 2 - SPM erase self destruction code
2023-02-26Inline ASM - Advanced AVR 3.0 Core - LMP read from flash Load Program Memory
2023-02-25Inline ASM - Advanced AVR 3.0 Core - Finalizing
2023-02-22Inline ASM - Advanced AVR 3.0 Core
2023-02-19Bootloader-less Pro - Advanced AVR 3.0 Core - Part 1 - GCC Sections functions attribute
2023-02-17Script cowboy - the power of one line of code
2023-02-15Bootloader Pro - Advanced AVR 3.0 Core - AVR-C 2.0 sucks BBC
2023-02-11Juno ABC - Advanced Button Core 4.0 - Sleep mode ultra low power
2023-02-07My Coffee ritual 2.0 - Simple Minimalistic - Dry milk + sugar
2023-02-03Sleep mode - Advanced AVR 3.0 - Atiny13 watchdog less than 100nA - Peripheral leakage current Button
2023-02-02Definition of good soup - Chicken Turmeric
2023-02-01Sleep mode - Advanced AVR 3.0 - 32kHz Timer2 Asynchronous mode - Atmega8 low power 8-12uA
2023-01-31Sleep mode - Advanced AVR 3.0 - 1 second timer - Atmega8 low power down + watchdog + eeprom MCU
2023-01-30Watchdog - Advanced AVR 3.1 Core - Atmega8 + EEPROM + External RC + Low power timer + MCU underclock
2023-01-26Juno ABC - Advanced Button Core - TTP223 Attiny10 AVR - LED watchdog Sleep PWM Timer