在命令行窗口输入:
> setmem 0x3FF5000, 0xFFFF, 32
> setmem 0x3FF5008, 0xFFFF, 32
setmem 命令用于对特定的地址设置特定的值,待设定的值可以是 8 位、 16 位或 32 位,在此,对通用 I/O 口的模式寄存器和数据寄存器设置相应的值,点亮 LED 。
S3C4510B 在复位后,特殊功能寄存器的基地址为 0x3FF0000, 由表 5 -2-3 可知,I/O 口的模式寄存器偏移地址为0x5000,因此, I/O 口的模式寄存器的物理地址为 0x3FF5000 ,设定该寄存器的值为 0xFFFF ,将 I/O 口置为输出方式。 I/O 口的数据寄存器的物理地址为 0x3FF5008 ,设定该寄存器的值为 0xFFFF ,将 I/O 口的输出置为高电平。
在执行完以上两条命令后,连接在通用 I/O 口的 4 只 LED 应被点亮,表示调试系统的软、硬件连接完好,可进行下一步的调试工作,否则,应重新检查调试系统。
用户若使用 SDT 作为调试工具,操作方法类似。
连接好硬件后,打开 ARM Debugger for Windows ,建立与目标板(待调试的系统板)的连接,选择菜单 View → Command 功能,即可显示命令行窗口,在命令行窗口输入:
Debug:let 0x3FF5000 = 0xFFFF
Debug:let 0x3FF5008 = 0xFFFF
执行完以上两条命令后,连接在通用 I/O 口的 4 只 LED 应被点亮。
关于通用 I/O 口更具体的工作原理和使用方法,可参考S3C4510B 用户手册。
用户系统若能正常完成上述操作并成功点亮连接在P3~P0 口上的LED 显示器,则表明S3C4510B已在正常工作,且调试环境也已正确建立,以后的调试工作就相对简单。笔者曾遇到多个用户系统因为不能完成这步工作,使开发者失去信心而最终放弃。 |