前段时间使用合宙Air001开发板写了几篇在Arduino环境下的开发,今天开始着手测试在Keil下的开发。
这是之前已经焊接好的下载器和开发板:
为了开发,需要安装MDK5,它的安装过程这里不多叙述。在MDK5下开发Air001,需要使用专用的HAL库或者LL库。Air001芯片的SDK在https://gitee.com/openLuat/luatos-soc-air001下载(内含例程)。下载后,解压:
在PACK这个文件夹中,有两个文件,是设备支持包。选择版本高的安装“Keil.AIR001_DFP.1.1.0.pack”。如果你已经正常安装了Keil。双击这个文件即可。
点击“Next”,
到此完成设备包的安装。
在“Libraries”文件夹下提供Air001的支持库。
在“ModuleDemo”文件夹下,是合宙提供的官方例程。
这里我们按照惯例,启动GPIO下的例程,就是执行点亮LED或者流水灯之类的工程。在“GPIO”文件夹下有两个子文件夹:
看名称,应该是分别针对HAL库和LL库的例程。我选择HAL库支持的“GPIO_Toggle”工程。双击工程文件“luatos-soc-air001-master\ModuleDemo\GPIO\Example_HAL\GPIO_Toggle\MDK-ARM\Project.uvprojx”,系统自动打开Keil。在main.c文件中,我们可以看到如下代码:
表明程序中使用的B口的Pin1来演示LED的闪烁效果。因此需要我们在这个Pin和Vcc之间接上一个LED。
直接编译程序:
没有任何错误。在下载程序之前我们需要修改下载配置:启动“魔术棒”,选择“Debug”选项
选择“DAP”调试器。配置调试器选项:
选择“200kHz”的时钟选项,勾选“Reset and Run”,一路点击“OK”,回到代码编辑页面。如果开发板、下载器与电脑连接无误,点击“下载”。
表示下载无误。这个时候你就可以看到LED一闪一闪的了,表明程序已经正常运转了。因为开发板上实际上已经为PB01焊接了一个LED,PB=“1”时,开发板上的LED会亮。配合我们自己外接的LED,刚好可以看到交替闪亮的效果。
如果你在配置调试器时选择的时钟高于“200kHz”,很可能会出现以下错误:
那么把调试器的下载时钟频率调小,直到能正常下载即可。