Usually AVR chips include flash, eeprom, fuse, lockbits, user signature and other non-volatile contents that need to be burned into the chip during programming. Among them, the fuse part can only be rewritten by an external programmer, and the application itself cannot be changed.
During ISP burning, users want to complete the burning with a single action such as clicking a button, which requires combining the actions of erasing, burning, and comparing in different parts. ELF format can be used to achieve this goal. The target file in ELF format can contain different area segments, and the download tool can extract and burn them to the corresponding locations respectively.
1) Software development using Atmel Studio 6
If the developer uses Atmel Studio 6 (or AVR Studio 4/5, anyway, GCC is fine) to write the user's source code, avr glibc provides a set of methods to specify the values of these different areas in the source code.
If you want the generated ELF file to contain a chip ID segment, you can use it to compare the ELF Production file before downloading it to see if it matches the download file of the current device. This step only requires adding the header file #include in the source code
const unsigned char __signature[3] __attribute__((section (".signature"))) =
{ SIGNATURE_2, SIGNATURE_1, SIGNATURE_0 };
2) Software development using IAR AVR
Since IAR extended syntax cannot support the definition of fuses, lockbits and other bits, IAR can only produce single FLASH content, usually in HEX format.
At this time, you need to use the ELF Production File Fomart function in AVR Studio 4: after selecting the HEX file location of flash and eeprom, go to the fuse and lockbits pages to check the corresponding configuration, then come back to set the ELF file path to be generated, and click Save to let AVR Studio 4 generate an ELF file format containing the contents of each segment. You can simply click the Program button or use the command line tool atprogram.exe to burn it.
Previous article:ATmega16 Timer 1 Time Setting
Next article:AVR usage example - using Bootloader to upgrade the program in the chip
Recommended ReadingLatest update time:2024-11-23 07:52
- Popular Resources
- Popular amplifiers
- Principles and Applications of Single Chip Microcomputers 3rd Edition (Zhang Yigang)
- Metronom Real-Time Operating System RTOS for AVR microcontrollers
- Multimodal perception parameterized decision making for autonomous driving
- Semantic Segmentation for Autonomous Driving: Model Evaluation, Dataset Generation, Viewpoint Comparison, and Real-time Performance
- Naxin Micro and Xinxian jointly launched the NS800RT series of real-time control MCUs
- How to learn embedded systems based on ARM platform
- Summary of jffs2_scan_eraseblock issues
- Application of SPCOMM Control in Serial Communication of Delphi7.0
- Using TComm component to realize serial communication in Delphi environment
- Bar chart code for embedded development practices
- Embedded Development Learning (10)
- Embedded Development Learning (8)
- Embedded Development Learning (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- STMicroelectronics discloses its 2027-2028 financial model and path to achieve its 2030 goals
- 2024 China Automotive Charging and Battery Swapping Ecosystem Conference held in Taiyuan
- State-owned enterprises team up to invest in solid-state battery giant
- The evolution of electronic and electrical architecture is accelerating
- The first! National Automotive Chip Quality Inspection Center established
- BYD releases self-developed automotive chip using 4nm process, with a running score of up to 1.15 million
- GEODNET launches GEO-PULSE, a car GPS navigation device
- Should Chinese car companies develop their own high-computing chips?
- Infineon and Siemens combine embedded automotive software platform with microcontrollers to provide the necessary functions for next-generation SDVs
- Continental launches invisible biometric sensor display to monitor passengers' vital signs
- A detailed introduction to MSP430 development tools and their features
- iis3dwb three-axis acceleration sensor driver code PCB package
- Pre-registration for the live broadcast with prizes | Rochester Electronics Semiconductor Full Cycle Solutions Help You Deal with Supply Chain Disruptions and Component Outages...
- Application of PLC in temperature control system
- [Project Source Code] Do you really know how to check the compilation error information of NIOS II C program?
- [National Technology N32WB452 Evaluation] + GCC development environment construction + mdk environment
- Issues to note when connecting the SWD mode of the Huada HC32F460 offline downloader
- 【Goodbye 2021, Hello 2022】+ Changes and Constancy
- Pressure measurement
- How to use ADI System Solutions Selection to develop new products