However there was a time in space before the big bang when the program was living entirely on the flash and the RAM was just a jumble of random bits. This is the what the memory looks like when we are executing a program. The data used by a program can be split into statically allocated global data regions - the initialized DATA segment and the zero-initialised BSS segment and the runtime allocated memory - the Stack and the Heap. The code in an embedded system goes into the flash the the data goes into the RAM if it's mutable and flash or RAM if it's read-only. At the highest level the program can be divided into components - the code and the data it manipulates. In this post I will first talk about the data that's exposed (and not exposed) in a map file followed by a description of the program itself.Ī simple embedded system typically has the memory map shown below (ignoring peripheral memory). However since the FT32 toolchain is based on GCC, the application code can be easily configured/updated to work with other GCC + BINUTILS based toolchains (I have tried it on Microchip's XC16 toolchain). The application was developed while I was writing firmware for the FT900 micro-controller which is a new 32 bit micro-controller by FTDI. This article is available in PDF format for easy printing
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |