参考:
https://blog.csdn.net/benjorsun/article/details/84192116
近期在学习RISCV的指令 汇编反汇编以及trace的获取。
首先搭建一下环境。 一边用虚拟机,使用专门的gcc工具。 一边使用eclipse和专门的工具,
GNU MCU Eclipse是一款基于gnu工具链的eclipse插件,可以开发arm与risc-v处理器平台软件,重要是这是一款免费软件,可以开发众多系统平台软件,同时可以采用eclipse亮丽的代码风格及增强可用性。下面就讲一下环境搭建、代码编写及调试的内容。
1、准备材料
eclipse:https://www.eclipse.org/downloads/
GNU Arm Embedded Toolchain:https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
GNU MCU Eclipse Windows Build Tools :https://github.com/gnu-mcu-eclipse/windows-build-tools/releases
GNU MCU Eclipse OpenOCD:https://github.com/gnu-mcu-eclipse/openocd/releases
GNU MCU Eclipse QEMU:https://github.com/gnu-mcu-eclipse/qemu/releases
JLinkARM:https://www.segger.com/downloads/jlink/
jdk:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、安装与配置过程
首先安装jdk,然后安装eclipse,最后把其它工具也安装到eclipse工具目录下面,方便查找。安装完成后如下图所示:
安装GNU ARM eclipse插件:
在搜索中搜索arm:(注意安装时选择全部插件即可)
下面打开eclipse对插件进行配置:
安装各芯片程序包与软件模板:
3、建立demo工程进行调试:
建立模板工程:
更改代码:
我将根据我的开发板做一个闪灯的程序:
blink_led_init()
{
// Enable GPIO Peripheral clock
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// Configure pin in output push/pull mode
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// Start with led turned off
blink_led_off();
}
这些部分根据模板改改管脚即可,编译通过。
配置jlink调试: