LKS凌鸥 LKS32MC08x开发环境搭建 评测(3)
本帖最后由 sunsili 于 2024-4-9 23:20 编辑LKS凌鸥 LKS32MC08x开发环境搭建 评测(3)
上两篇介绍了LKS凌鸥 LKS32MC08x中压中小功率无刷电机驱动开发板硬件电路相关信息,详情参阅:
LKS凌鸥 LKS32MC08x中压中小功率无刷电机驱动开发板开箱评测(1)-谷动谷力 (sunsili.com)
LKS凌鸥 LKS32MC08x中压中小功率无刷电机驱动开发板开箱评测...-谷动谷力 (sunsili.com)
本文将介绍基于LKS08系列MCU软件开发情况,从搭建开发环境、创建新工程、编写工程代码这几步来讲解,在实操过程中将遇到的一些问题和注意事项,给大家分享一下:1.准备工作2.安装芯片PACK支持包3.创建基础工程4.编写工程代码:LED、KEY、基于UART0移植的Letter-shell5.下载运行演示
准备工作
[*]软件开发环境
目前官网上仅提供了基于KEIL5(我的版本是5.30,有些版本可能安装不了pack,供参考)的Device Pack,所以我们开发IDE环境是基于KEIL MDK软件,另外就是我常用的MobaXterm 串口调试终端软件。
[*]硬件开发环境
LKS_EVB_MCU083_V2.0核心板和LKD_EVB_MVPOWPRE_V5.0电机驱动底板各1块,J-LINK调试下载工具、杜绑线若干,LKS_EVB_MCU083_V2.0核心板上板载设计的是SWD下载接口。
[*]开发资料准备
凌鸥的开发资料都可以通过官网下载到第一篇评测有相关资料下载链接:LKS凌鸥 LKS32MC08x中压中小功率无刷电机驱动开发板开箱评测(1)-谷动谷力 (sunsili.com)
安装LKS MCU PACK支持包
我使用的中KEIL5集成开发环境,所以在官方上下载了相对应的Device Pack文件(https://www.linkosemi.com/upload ... o.LKS08x_v1.0.5.rar),在解压后直接双击Linko.LKS08x_v1.0.5.pack进行安装,如下图所示:
在安装完成后,我们就可以在芯片列表中找到凌鸥的芯片型号,创建工程进行开发了。
创建基础工程
STEP1.打开KEIL5 MDK软件,点击菜单栏Project->New uVision Project...
STEP2.在弹出的Create New Project窗口中选择工程存放的路径以及命名项目文件名:
STEP3.在弹出的Select Device for Target窗口中选择凌鸥芯片型号:LKS32MC083C8T8:
STEP4.在弹出的Manage Run-Time Environment窗口中不作任何操作,直接点击OK:
STEP5.此时一个基于LKS32MC083C8T8芯片的空项目工程就创建出来了,接下来我们还需要向工程中添加分组、添加程序以及配置参数等操作:
STEP6.点击工具栏上的Manage Project Items按钮:
STEP7.在弹出的Manage Project Items窗口中的Project Items选项卡中,将Project Targets重新命名为LKS32MC083C8T8、在Groups中添加分组、然后在对应的Group中再添加Files源程序:
STEP8.完整的工程目录文件如下所示:
需要注意的是我们一般源程序都是*.c/*.h类型的文件,但在添加官方库程序时有一个.o类型的文件lks32mc08x_nvr.o,这是KEIL编译后输出的文件,可以理解为看不到源码形式的程序文件,也可以直接编译;如果不添加这个文件会有Read_Trim的错误提示哦!!!
STEP9.点击工具栏上的Options for Target...按钮:
STEP10.在弹出的Options for Target窗口的Target选项卡中,将Code Generation选择使用Use default compiler version5,勾选Use MicroLIB:
STEP11.在Output选项卡中,可以设置Name of Executable,如果需要生成HEX烧录文件则需要勾选Create HEX File选项,将Browse Information勾选是为了程序实现过程中或者是调试过程中的便捷:
STEP12.在C/C++选项卡中,对包含的头文件路径Include Paths进行配置:
STEP13.在Debug选项卡中,选择相就的调试工具,并点击Settings进行后一级设置,如果提示未知的芯片型号,我们默认选择Cortex-M0即可,然后将程序烧录接口方式修改为SW模式,这样在SW Device中就可以成功检测到芯片了:
STEP14.在Utilities选项卡中,选择Use Target Driver for Flash Programming选项,默认勾选Use Debug Driver和Update Target before Debugging,然后点击Settings进行后一级设置,确认Programming Algorithm下载算法的选择是正确的,并勾选Reset and Run,这样在程序下载完成后,就可以自动复位运行了:
STEP15.到此整个项目工程就完全创建、配置完成了,接下来就可以开始编写程序代码了。
编写工程代码
打开官方的示例程序,我们使用到了LKS32MC08x_Periph_Driver中的库程序;示例中官方除了startup_lks32mc08x.s启动文件之外,并没有看到我们常见的system_lks32mc08x.c文件;通过查阅官方示例工程源程序,我们看到多出了一个hardware_init.c文件,在这个文件中实现了对MCU使用外设的初始化和startup文件中需要调用的SystemInit函数;但个人习惯,还是把这个hardware_init.c的文件名给改写成了system_lks32mc08x.c,只实现了SystemInit对系统时钟的配置,其余的外设初始化放到了其它的.c文件中;另外还有一个需要注意的文件是hardware_config.h文件,这个在底层库程序中都有包含,它主要是包含了底层库程序的一些头文件,以及共用的宏定义,所以这个文件一定要包含进来哈!!!
最后一个就是interrupt.c文件,官方是将所有的中断函数实现集中在一个文件中的,这样写各有优缺点,我还是按照之前我的写法,在使用到的时候再具体实现,因为本身在startup_lks32mc08x.s文件中加了weak的修饰,我不用的时候完全不需要去写个空函数嘛。
页:
[1]