三、在Xilinx FPGA上使用Cortex M1 软核——Keil中使用J-Link调试Cortex-M1嵌入式工程

在Xilinx FPGA上使用Cortex M1 软核——Keil中使用J-Link调试Cortex-M1嵌入式工程

本文的软件代码部分参考自ARM提供的例程。

本文适合第一章(https://blog.csdn.net/lai823177557/article/details/99691926)中创建的FPGA工程。理论上所有使用J-Link(JTAG模式)调试接口的CM1均适用。
这里有本文的工程:

https://download.csdn.net/download/lai823177557/11607865

连接硬件

将FPGA中分配的J-Link IO与J-Link调试器一一连接,

配置FPGA

下载第一章中生成的bit流文件

配置debug

  • 将J-Link调试器连接到电脑后打开Keil中的Options for Target配置界面。
  • Debug标签下选择J-Link后点击“Settings”。
    在这里插入图片描述

不出意外调试器能直接读取软核的信息:
在这里插入图片描述

  • Debug标签下,设置其他选项:
    在这里插入图片描述
    其中“RAM.ini”是调试的初始化文件,用于加载程序文件到软核并设置软核的堆栈信息。RAM.ini的内容如下:
//*** <<< Use Configuration Wizard in Context Menu >>> *** 
FUNC void Setup (void) 
{
	SP = _RDWORD(0x00000000);
	PC = _RDWORD(0x00000004);
	_WDWORD(0xE000ED08, 0x00000000);
}
LOAD Objects\exec.axf INCREMENTAL
Setup();
g, main

其中,“Objects\exec.axf”是工程的输出,名字来源于Output标签中的“Name of Executable”
在这里插入图片描述

  • Utilities标签中,取消“Update Target before Debugging”复选框:
    在这里插入图片描述
  • 配置完成
    现在可以调试了:
    在这里插入图片描述
    在进入调试界面后,务必复位CM1一次,否则CM1会一直处于Handler模式无法响应用户中断。具体原因不明确,猜测时bit文件中没有CM1的程序文件,导致其进入LOCKED状态导致的。固化程序后一切正常。
  • 调试结果
    中断(Systick、定时器)、GPIO、串口均正常工作
    在这里插入图片描述
    下一章将分享如何固化Cortex-M1代码到FPGA的BIN文件中。
    如发现有错误或者疏漏,请留言~~~
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
熟悉各类 MCU和 FPGA 开发需要了解芯片的组成和功能。各类 MCU(Microcontroller Unit,微控制器)是由各种门电路的组合而成,包括CPU、大总线(地址/数据/控制)、IO、内存、外存等。MCU是一片集成了多个功能的芯片,可以用于嵌入式开发。 FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片也是由各种门电路的组合而成,但与MCU不同的是,FPGA具有可编程性。这意味着在设计过程,可以通过编程方式对FPGA进行配置和重新定义电路功能,以适应不同的应用需求。FPGA通常用于需要高度定制化和灵活性的应用,如数字信号处理、图像处理、通信等领域。 在熟悉各类 MCU和 FPGA 开发时,需要了解不同型号和系列的芯片的特性和规格。对于MCU来说,需要了解不同的处理器架构、内存容量、IO接口、时钟频率等方面的差异。对于FPGA来说,需要了解不同的逻辑单元数量、存储资源、时钟管理等方面的差异。 在实际开发,可以使用不同的开发工具和编程语言来进行 MCU和 FPGA 开发。常见的开发工具包括Keil、IAR、Xilinx Vivado、Altera Quartus等,而常见的编程语言包括C、C++、Verilog、VHDL等。通过使用这些工具和语言,可以进行MCU和FPGA的硬件设计、逻辑设计、仿真测试、编程和调试等工作。 总结来说,熟悉各类 MCU和 FPGA 开发需要了解芯片的组成和功能,了解不同型号和系列的芯片的特性和规格,并掌握相应的开发工具和编程语言。这样才能进行有效的硬件设计和开发工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [CPU、MCU、PLC、DSP、SOC、FPGA等之间的关系](https://blog.csdn.net/weixin_34297300/article/details/93017538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值