<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Monitor error 3</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/14965/monitor-error-3</link><description> When I am using the monitor in boostrap mode I cannot sucessfully download code. I keep getting the error 
*** MONITOR ERROR 3 : CANNTOT WRITE TO ADDRESS E7AAAA. 
I am using an in house designed board with 64K RAM on CS2 at address 40000H. 
I have set</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/141180?ContentTypeID=1</link><pubDate>Thu, 21 Jul 2005 04:44:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c6048c83-7739-4a1e-bde6-32afe1ef32e7</guid><dc:creator>Michael Fielding</dc:creator><description>&lt;p&gt;We have just had the same problem, but have tracked it down.&lt;br /&gt;
&lt;br /&gt;
We had defined a C-accessible variable in the mm310.a66 startup file, using the DW statement. DW creates an initialised variable - the monitor initialises it not the application. However, the monitor and application have different memory maps. The monitor was reading the location of the variable from the uploaded .h86 file, but whereas the monitor considered that location to be in external flash (and couldn&amp;#39;t write there, hence the error), our application configures that to be in external SRAM.&lt;br /&gt;
&lt;br /&gt;
The solution was to use the DS statement instead of DW - this is an uninitialised variable so the monitor never tries to write to the external flash.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/137598?ContentTypeID=1</link><pubDate>Fri, 31 May 2002 10:12:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cea5dccd-35ab-4869-880e-bfb53aceda85</guid><dc:creator>Mik Kleshov</dc:creator><description>&lt;p&gt;&lt;i&gt;I have also Added the following reserve lines&lt;br /&gt;
8H-0BH, 0ACH-0AFH&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Those lines are supposed to be added not to the monitor&amp;#39;s linker configuration, but to the application&amp;#39;s. They prevent the application from using these memory areas because the monitor uses them as interrupt vectors. The monitor will not overwrite them during download anyway, so the RESERVE directive only prevents the warning.&lt;br /&gt;
By the way, the interrupt vector table MUST be in RAM, otherwise the monitor in bootstrap mode simply will not work. You have to change your boards memory layout - the RAM area must start at 0. You will have to modify ADDRSELx registers.&lt;br /&gt;
There may be other points that you are missing. Read Keil&amp;#39;s documentation on Monitor166: Keil\C166\hlp\GS166.PDF, Keil\C166\MONITOR\README.TXT. Look through articles on Monitor166 in Keil&amp;#39;s Support Knowledgebase:&lt;br /&gt;
&lt;a href="http://www.keil.com/support/index.asp?product=MON166&amp;amp;title=MON166%20Target%20Monito"&gt;http://www.keil.com/support/index.asp?product=MON166&amp;amp;title=MON166%20Target%20Monito&lt;/a&gt;r&lt;br /&gt;
&lt;br /&gt;
It took me a while to get the monitor working first time: simply finding the working configuration can be very tricky.&lt;br /&gt;
Regards,&lt;br /&gt;
- Mike&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/129716?ContentTypeID=1</link><pubDate>Fri, 31 May 2002 09:20:49 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b8e204fc-5605-4b80-86f8-cabc45ef4a79</guid><dc:creator>Patrick Storey</dc:creator><description>&lt;p&gt;Cheers for the help Mike.&lt;br /&gt;
&lt;br /&gt;
Here is a snippet of the m66 file.&lt;br /&gt;
&lt;br /&gt;
MEMORY MAP OF MODULE:  Monitor (INST167)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
START     STOP      LENGTH    TYPE  RTYP  ALIGN  TGR  GRP  COMB  CLASS   SECTION NAME&lt;br /&gt;
=====================================================================================&lt;br /&gt;
000000H   000001H   000002H   CODE  REL   WORD   ---  ---  PRIV  FCODE   ?C_STI_INIT&lt;br /&gt;
000002H   000003H   000002H   CODE  REL   WORD   ---  ---  PRIV  FCODE   ?C_STD_INIT&lt;br /&gt;
000008H   00000BH   000004H   ---   ---   ---    ---  ---  ---   * RESERVED MEMORY *&lt;br /&gt;
0000ACH   0000AFH   000004H   ---   ---   ---    ---  ---  ---   * RESERVED MEMORY *&lt;br /&gt;
040000H   ---       000000H   DATA  ABS   AT..   ---  ---  PRIV  M_DATA  MON166_DATA_START&lt;br /&gt;
040000H   0400A1H   0000A2H   DATA  REL   WORD   ---  ---  PUBL  M_DATA  MON166_W_DATA&lt;br /&gt;
0400A2H   0400ADH   00000CH   CODE  REL   WORD   ---  ---  PRIV  M_DATA  MON166_EXEC&lt;br /&gt;
0400AEH   0401B7H   00010AH   DATA  REL   BYTE   ---  ---  PUBL  M_DATA  MON166_B_DATA&lt;br /&gt;
040800H   040863H   000064H   CODE  ABS   AT..   ---  ---  PRIV  ---     INIT_CODE&lt;br /&gt;
040864H   0418A5H   001042H   CODE  REL   WORD   ---  ---  PUBL  ---     MON166_CODE&lt;br /&gt;
0418A6H   041A27H   000182H   CODE  REL   WORD   ---  ---  PUBL  ---     MON166_CONST&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I think it looks fine. Any more suggestions ?&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/121766?ContentTypeID=1</link><pubDate>Fri, 31 May 2002 07:09:57 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d3f263c4-5c36-4cdc-bf41-a39218f742c8</guid><dc:creator>Mik Kleshov</dc:creator><description>&lt;p&gt;You can look at the code that downloads the monitor, it&amp;#39;s in BOOT167.A66. Also check Monitor.M66 to make sure that memory layout of your monitor configuration looks as expected. Check serial communications with your board, you may need to lower the baudrate.&lt;br /&gt;
Good luck!&lt;br /&gt;
- Mike&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/110049?ContentTypeID=1</link><pubDate>Fri, 31 May 2002 06:12:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:397f89c5-602a-4c1d-9122-b404b6f79235</guid><dc:creator>Patrick Storey</dc:creator><description>&lt;p&gt;The error is when UV2 is attempting to download the monitor code, the progress bar reaches 69% and then stops with the E7AAAA error. I have checked every parameter in the config.inc and I am absolutely stuck.&lt;br /&gt;
Any help would be greatly appreciated&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/95065?ContentTypeID=1</link><pubDate>Thu, 30 May 2002 11:01:34 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:287fed05-0434-40f4-84b7-c0805443bea7</guid><dc:creator>Mik Kleshov</dc:creator><description>&lt;p&gt;The monitor doesn&amp;#39;t know how much RAM you have. It will try to download whatever code there is in the application. At first I thought that your application may have memory layout that does not fit into RAM. But 0xE7AAAA looks VERY strange, so no ideas at the moment...&lt;br /&gt;
- Mike&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/54438?ContentTypeID=1</link><pubDate>Thu, 30 May 2002 10:47:02 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e1433020-1c24-40b2-bdf1-c984017ea13d</guid><dc:creator>Patrick Storey</dc:creator><description>&lt;p&gt;Thanks Mike&lt;br /&gt;
&lt;br /&gt;
I have a working app which I can download to the flash (2* 128K on CS0 and CS1) with the DOS utility bloader. I know the board is working absolutely fine. I have replicated all the settings from the working apps&amp;#39;s start.a66 into the monitors config.inc. What I dont understand is that I am telling the config.inc that I have 64K of RAM starting at address 40000H, yet the UV2 debugger is tring to write to address E7AAAA. ??&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Monitor error 3</title><link>https://community.arm.com/thread/38787?ContentTypeID=1</link><pubDate>Thu, 30 May 2002 09:59:17 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6f2102a9-9a7d-4c3e-812c-a017b0223ab7</guid><dc:creator>Mik Kleshov</dc:creator><description>&lt;p&gt;Have you specified the proper configuration for SYSCON, BUSCONx registers in Monitor&amp;#39;s CONFIG.INC?&lt;br /&gt;
You might want to make sure that your board is working properly (write/read external memory, blink LEDs...) The MiniMon program can be very useful for that.&lt;br /&gt;
Best luck!&lt;br /&gt;
- Mike&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>