疏见 · 2020年05月14日

Keil调试正确,LED灯不亮?

我正在做开发板配套的Cortex M0 的实验,image.png

在做到实验二的时候,我按照具体的操作步骤,并改了引脚绑定(此实验是xc7a35t,收到的板子是xc7a75t),生成的流文件,下载到fpga上,并在keil上进行调试,最终的结果是,keil上的调试结果和实验结果相符,但是LED灯不亮,检查发现引脚绑定没错,那应该是哪里出错了呢?不知道是否有人做过这个实验呢?或者从哪里入手去查错呢?

1 个回答 得票排序 · 时间排序
我有一只小火龙 · 2020年05月18日

题主说keil调试的结果与实验结果一致,是通过Keil的memory窗口看到数据已经写到WaterLight里面了吗?
关于如何查错,我先使用modelsim先进行仿真:

  1. 通过PC寄存器查看当前处理器执行到哪一条指令,可以对照着keil生成的反汇编查看。
  2. 在执行到写入外设控制信息的指令之后,再看看外设有什么反应

题主这样的情况,如果modelsim的输出是正常,那么可能是引脚分配有问题。如果输出不正常,就有可能是控制寄存器没有写进去。
ps: 低速外设仿真尽量用短的延迟时间,这样方便modelsim仿真

你的回答