求助::
想用,IAR +Wiggler 调试44B0 可是不知道怎样调试下栽到sdram
You must configure the memory controller before you download your application code. You can do this best by using a C-SPY macro function that is executed before the code download takes place—execUserPreload(). The macro functions __writeMemory32() will perform the necessary initialization of the memory controller. The following example illustrates a macro used to setup the memory controller and remap on the Atmel AT91EB55 chip, similar mechanisms exist in processors from other ARM vendors. execUserPreload() { __message "Setup memory controller, do remap command\n"; // Flash at 0x01000000, 16MB, 2 hold, 16 bits, 3 WS __writeMemory32(0x01002529, 0xffe00000, "Memory"); // RAM at 0x02000000, 16MB, 0 hold, 16 bits, 1 WS __writeMemory32(0x02002121, 0xffe00004, "Memory"); // unused __writeMemory32(0x20000000, 0xffe00008, "Memory"); // unused __writeMemory32(0x30000000, 0xffe0000c, "Memory"); // unused __writeMemory32(0x40000000, 0xffe00010, "Memory"); // unused __writeMemory32(0x50000000, 0xffe00014, "Memory"); // unused __writeMemory32(0x60000000, 0xffe00018, "Memory"); // unused __writeMemory32(0x70000000, 0xffe0001c, "Memory"); // REMAP command __writeMemory32(0x00000001, 0xffe00020, "Memory"); // standard read __writeMemory32(0x00000006, 0xffe00024, "Memory"); } Note that the setup macro execUserReset() may have to be defined in the same way to reinitialize the memory mapping after a C-SPY reset. This can be needed if you have setup your hardware debugger system to do a hardware reset on C-SPY reset. It can be convenient to register a macro file during the C-SPY startup sequence, especially if you have several ready-made macro functions. C-SPY can then execute the macros before main is reached. You achieve this by specifying a macro file which you load before starting the debugger. Your macro functions will be automatically registered each time you start the C-SPY Debugger. If you define the macro functions by using the setup macro function names you can define exactly at which stage you want the macro function to be executed. Follow these steps: 1 Create a new text file where you can define your macro function. For example: execUserSetup() {... _ _orderInterrupt("IRQ", 4000, 2000, 0, 0, 100); } This macro function generates a repeating interrupt that is first activated after 4000 cycles and then repeated approximately every 2000th cycle. Because the macro is defined with the execUserSetup() function name, it will be executed directly after your application has been downloaded. 2 Save the file using the filename extension mac. 3 Before you start C-SPY, choose Project>Options and click the Setup tab in the Debugger category. Select the check box Use Setup file and choose the macro file you just created. The interrupt macro will now be loaded during the C-SPY startup sequence.
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金打赏帖 |
|
|---|---|
| Chaos-nano:专为低资源单片机设计的轻量级协作式异步操作系统(ATMEGA328P轻量级操作系统)—— 详细介绍被打赏¥16元 | |
| FPGA配置被打赏¥10元 | |
| Chaos-nano协作式异步操作系统:赋能MicrochipAVR8位单片机的革新之路被打赏¥15元 | |
| 基于esp32开发时串口工具的注意点被打赏¥24元 | |
| 基于FireBeetle2ESP32-C5开发板的舵机控制被打赏¥20元 | |
| 【分享开发笔记,赚取电动螺丝刀】MAX78000开发板制作的电子相册被打赏¥32元 | |
| 基于FireBeetle2ESP32-C5开发板的超声波测距及显示被打赏¥21元 | |
| FireBeetle2ESP32-C5上RTC电子时钟的实现被打赏¥25元 | |
| 【分享开发笔记,赚取电动螺丝刀】MAX78000开发板读取SD卡被打赏¥23元 | |
| 【S32K3XX】Standby RAM 重启后数据异常问题调查被打赏¥38元 | |