【MAX32630FTHR】--keil工程移植
[复制链接]
本帖最后由 df_flying 于 2017-8-7 21:14 编辑
收到max32630FTHR有段时间了,前段时间也有研究,但是不太习惯MBED的编程方式,人也懒,就没有过多的研究那个平台的各种函数了,(感觉主要就是调用封装好的类和库,熟悉接口定义就会很快很方便的)。这次终于等到了keil的pack,然后一切都是熟悉的味道。 首先简单说下对max32630FTHR的个人解读,由于之前确实没有接触过MAX的芯片,所以对比下LPC和ST吧。max32630FTHR的第一感觉:麻雀虽小,五脏俱全。这个跟LPC824 breakout和ST的nucleo-32差不多大的小板上集成了运动传感器,SD卡,蓝牙(HCI),电源管理,SPI-flash(未焊接)!虽然外置了下载器,但相比其他的评估板的可玩性有了很大的提高了。同时这也是一个集成的参考设计方案,有着较为明确的定位:便携式和小体积应用!虽然WLP封装提高了PCB的制造工艺,也增加了设计的难度,但M4内核(with 96MHz)以及2M的flash和512k SRAM,基本满足大部分应用的代码量和运算速度的。 下面说下大部分人熟悉的keil吧,相信很多人拿到keil的pack后安装后打开之前坛友提供的demo代码,编译,设置keil下载环境(配置方式下面有图),然后下载,然后发现没任何反应。其实并不是代码有问题,因为这个代码对应的板子是官方的EvKit,大部分接口和我们FTHR板子是不同的,所以原来的板子的board.c\.h文件是不能直接用的,不能直接用但可以照着画瓢啊,好的,那就画瓢。直接点,cp一份board.c\.h,对着板子的介绍以及原理图修改下基本的引脚,如LED,UART等,注意的还有MAX14690电源管理的相关引脚。对于用习惯了printf打印的,可以直接如下图所示重定义一个。附件board.c文件已修改 同时官方的代码是基于keil的CMSIS,这里简单移植了下一个工程供大家一起学习、探索,移植工程见附件。为了上传节省空间,代码中删除了这里还没用到的lib文件及和keil不相关的部分文件。这个工程只供参考,是基于官方SysTick工程修改的,只提供了基础的uart、LED和电源管理的配置,如有错误或不妥之处,还望各位能不吝赐教,一起学习!
下面是工程移植的简单介绍,喜欢直接的前面啰嗦可以省略(这句好像也是废话),相关配置也可以在附件的工程中查看。keil版本为5.24(keil5以及上应该都可以)。bin文件可直接下载后即可验证。 一、移植准备 一份网友Justice_Gao提供的官方代码。 主要用到的代码位置相信研究过的应该都不会陌生,都在这个目录下,具体移植哪些,就不一一说了,因为附件已经有了整个工程,看下也就会明白的。 二、工程配置 这里要注意几项,首先是函数库宏定义的添加,配置如下图所示,要问这哪里来的,照着原来工程画瓢画的…因为不是用官方EvKit,所以这个相关的不需要添加了. 其次是下载设置,选择CMSIS-DAP后的设置如下,记得是SW模式!如果没有找到下载器,可能是你插反了USB口,或者驱动没有安装。 三、board文件修改 这里对doard的c和h文件(文件有修改,仔细对比就能找到)的修改,直接使用了注释,和原来的基本一致,这样方便大家比对学习。添加了UART1的中断和print重定向,使之能够方便使用printf函数打印串口。如下图所示,其他的可自己对比 四、验证 这里直接在systick函数中添加了一个adddl,这里的systick是50ms的,怎么让他变成1ms然后用上类似ST的HAL_Delay(),大家对着ST的自己画瓢吧。(修改下SYSTICK_PERIOD_SYS_CLK,然后定一个计数器,到了1000后重置,还有要注意的,官方部分的程序中的osDelay()函数是RTOS的函数,这里不能直接使用)。 一个简单的打印程序和LED闪烁,这里就不拍LED照了 最后跟大家说个keil生成bin文件的方法,参考下面的设置,在调试输出的中间件文件夹中就会自动生成bin文件。(工程已有配置),keil4的fromelf.exe工具直接在ARM\BIN下 X:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o "$ L@L.bin" "#L"
|