We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am using the startup code which is currently being used for on-chip ROM and RAM. What are the changes to be made to use the same for External ROM and RAM.
I will be using an external ROM of 1MB and a 512KB RAM. Currently I have only unchecked the Options for target stating On-chip ROM and RAM on KEIL MicroVision3. And have set the address for external ROM as 0x000000 and for RAM as 0X200000. Still i see my application goes to location 0xC00000 which is the start address for on-chip ROM and it give error access violation at 0xC000000H.
You need to check the hardware configuration to make sure you boot to the correct memory. The same for the simulator, what is the state of the EA pin?
Hallo!
1) Make sure your target options you set in uVision IDE are correct for ROM and RAM in terms of mapping, see tab <Target>, <External memory> 2) Assembler file with all adjustable setting is really crutual part of f/w design: double check everything. Do not believe the h/w is OK (e.g. pull-down/up resistors which configure external bus at startup can have layout error...). Go through the cfg file, pay attention to the _WRCFG, etc. You may want to override h/w cfgs 3) Remember debug configuration may be pretty different from your release project: <Target>/<External memory> typically should use RAM only, and all your code should be relocated from the ROM during debug session. Correspondingly, assembler file would be also different for the debug cfg 4) Check whether memory mapping EDE options fit the assembler confuguration file (/CSxxx, address range, bus config) 5) Fully rebuild you project
Good luck, Nikolay.
Thanks Nikolay!