Thread 中讨论的其他器件:SYSBIOS
工具/软件:Code Composer Studio
您好!
我们需要控制 M4内核下的多个外设。 我知道我们应该重新配置外设的存储器基址。 在我的 I2C3案例中。
此示例代码:
I2C_HwAttrs i2c_cfg; I2C_socGetInitCfg (I2C_instance、&i2c_cfg); Log_Print1 (Diags_entry | Diags_info、"--> I2C base ad:0x%x"、i2c_cfg.baseAddr);
提供:
[T=0x001de269] xdc.runtime.Main:--> I2C 基址 AD:0x48060000
在 cfg 文件中、正确修改了计时器的基址...
/*配置外部定时器基址以匹配资源表映射。
*
var dmTimer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
/* dmTimer 0映射到 GPT1 */
dmTimer.timerSettings[0].baseAddr = 0x6AE18000;
但我不知道如何为其他外设执行该操作。
此致、感谢您的帮助、
François μ A
默认资源表创建以下映射:
| Cortex M4使用的虚拟地址 | Unicache MMU 输出的地址 | IOMMU 输出端的地址 | 尺寸 | 注释 |
|---|---|---|---|---|
| 0x6A000000 | 0x6A000000 | 0x4A000000 | 16 MB | L4CFG + L4WKUP |
| 0x68000000 | 0x68000000 | 0x48000000 | 2 MB | L4PER1 |
| 0x68400000 | 0x68400000 | 0x48400000 | 4 MB | L4PER2 |
| 0x68800000 | 0x68800000 | 0x48800000 | 8 MB | L4PER3 |
| 0x74000000 | 0x74000000 | 0x54000000 | 16 MB | L3_INSTR + CT_TBR |