Programming ARM CM3 into ROM & RAM -


currently i'm making step upgrade spare-time projects use of arm instead of 8bit micros microchip.

but unfortunately ran problems:

i not understand differences in ways of programming: - programming rom - programming ram (which 32k in case)

i did "hello world" tests iar ide compiling/programming done given configuration didn't worry about. didn't iar ide , 32k limit of iar compiler decided set new environment (see configuration below).

after setting eclipse environment, using examples provided iar managed program arm ram. when wanted program arm rom program doesn't seem anything. used example makefiles believe did sort of mapping rom or ram, had define 1 of them each time.

i know rom read-only memory , wont empty after power has been disconnected , ram faster requires program downloaded arm each time.

do need devide program parts of rom , ram, or can program rom in way arm remap code ram when powered up?

currently using following configuration:

  • codesourcery gcc
  • eclipse c/c++
  • segger jlink programmer (gdb server)
  • cmsis or lpcopen library (not working yet)
  • nxp lpc1766 cortex m3
  • windows 8 64-bit
  • iar examples lpc1768 , cmsis
  • examples nxp: lpc17xx.cmsis.driver.library

could please me understand different uses of rom , ram , how should set compiler/makefiles make use of rom , ram memory.

in end want able program arm (i think) rom in way can power-off arm without having reprogram each time.

i think need @ linker map files provided examples. these files have .ld extension , see letters ram or rom or flash in file name. linker file text file can examine in eclipse editor. important part .text section located in rom.

the launcher gdb have startup script associated it. can edit using configure... choice under same eclipse menu item starts gdb. script needs end lines like

monitor flash device = lpc1343 monitor flash download = 1 

the monitor command in gdb sends rest of line gdb server. flash commands explained in jlink gdb server manual.

edit: .text section default section used linker executable code. in gcc_arm.ld file have this:

sections {     .text :     {         keep(*(.isr_vector))         *(.text*)      } > flash 

i put reset , interrupt vectors in own section , force linker put @ beginning of executable code.


Comments

Popular posts from this blog

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -