你好!
系统
CCS v6.2.0
器件型号:CC2538SF53
编译器:TI v51.12.3 LTS
链接器命令文件:cx2538xf53_ccs.cmd
调试探针:XDS100v3
背景
在调试 CC2538的应用时、我注意到在引脚本身仍在切换时、各种 GPIO 端口的数据寄存器未通过 GPIOPinWrite 调用进行更新。 这通过 CCS 调试视图 cc2538_Foundation_firmware_1_0_1_0中的 LED_example 得到了验证、在监测 SmartRF06EB 的 LED1-LED4的同时、在寄存器视图中扩展了 GPIO_C。
已采取的步骤
进一步阅读 用户指南后、第9.2.2.1.2节"数据寄存器操作"指示 GPIO_DATA 寄存器使用地址总线滤波进行操作。 在仔细读取和写入一些示例后、我的理解是用于访问 GPIO_DATA 的地址的[9:2]位用作位掩码。
在默认的目标配置中、数据寄存器 与 GPIO 端口的基址有一个0x00偏移量。 例如、这将转换为 GPIO_C 的地址0x400DB000、且相应的位掩码为0x00。 该位掩码 会将对该特定数据地址的所有读取/写入操作按位掩码为0x00。 因此、该寄存器 本质上不可用于调试。
问题
选择的数据地址是对应于0x00位掩码的地址是否有特殊原因? 是否有任何方法可以将默认目标配置文件更新为使用0x3FC (位掩码0xFF)的地址偏移、以便 Registers 视图指示每个 GPIO 端口的数据寄存器的实际值?
此致、
标记-