dcjw 0 Posted January 28, 2019 Share Posted January 28, 2019 Hi I am developing a program for CC3200. The global variables in my program consumes quite an amount of space. As I continue to develop, I foresee there will be more space required. I am seeing the following from Energia compiler output. CC3200 has 1MB Flash. Both .text section and .bss section take 196KB. It seems like there is still space available. Is it possible to change the loader configuration to extend the address space of .bss section? "Sketch uses 35440 bytes (18%) of program storage space. Maximum is 196608 bytes. Global variables use 167124 bytes (85%) of dynamic memory, leaving 29484 bytes for local variables. Maximum is 196608 bytes. Low memory available, stability problems may occur." Thanks, Dennis Quote Link to post Share on other sites
Rei Vilo 695 Posted January 28, 2019 Share Posted January 28, 2019 The Flash is external. Program and data must fit into the 256 kB RAM of the CC3200. Quote Link to post Share on other sites
dcjw 0 Posted January 29, 2019 Author Share Posted January 29, 2019 From the compiler output, it seems like the max space is 196KB. Is it possible to increase it to 256KB? Thanks! Quote Link to post Share on other sites
Rei Vilo 695 Posted January 29, 2019 Share Posted January 29, 2019 It depends on the version of the board, Rev. A or Rev. B. Please refer to http://www.ti.com/ and http://e2e.ti.com/ for more information. Quote Link to post Share on other sites
dcjw 0 Posted January 30, 2019 Author Share Posted January 30, 2019 I am using rev4.1 board, so it has 256kB RAM. Can Energia IDE automatically determine what type of board and how much RAM I am using? Quote Link to post Share on other sites
Rei Vilo 695 Posted January 31, 2019 Share Posted January 31, 2019 I'm afraid not. You may need to edit the linker script manually. Quote Link to post Share on other sites
dcjw 0 Posted February 1, 2019 Author Share Posted February 1, 2019 I see. May I know where is the linker script and how to modify it? Quote Link to post Share on other sites
Rei Vilo 695 Posted February 1, 2019 Share Posted February 1, 2019 The script is a text file located at ~/Library/Energia15/packages/energia/hardware/cc3200/1.0.3/cores/cc3200/cc3200.ld on macOS. Quote Link to post Share on other sites
dcjw 0 Posted February 2, 2019 Author Share Posted February 2, 2019 Hi Rei, I am not quite familiar with the syntax for linker. It seems like I just need to change the length like the following. May I run by you if this is the only place to be modified or is there other place require update as well? Thanks! MEMORY { SRAM (rwx) : ORIGIN = 0x20004000, LENGTH = 0x00040000 } Quote Link to post Share on other sites
Rei Vilo 695 Posted February 3, 2019 Share Posted February 3, 2019 The only change I made on the cc3200.ld was to modify the heap size. You can find more information at the §3 Linker Scripts of The GNU linker. Alternatively, Have a look at the linker scripts provided by CCS Post your question at the E2E forum, for example CC3200MODLAUNCHXL: How to handle the stack and CC3200MOD Bottom 16 KB SRAM usable? Quote Link to post Share on other sites
dcjw 0 Posted February 4, 2019 Author Share Posted February 4, 2019 Got it, thanks for the lead. I will check them out Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.