一、简介。
LPC55S69是一款ARM Cortex M33内核,带TrustZone功能的单片机。
TrustZone,可以把一部分代码放入安全区域,如:加密算法、指纹识别等。
在安全区域中的代码,不能直接被非安全区域的代码读取内容。比如使用指针,直接指向安全区域的内存地址,是无法读出其内容的。这样,可以防止一些恶意软件攻击单片机。
如下图所示,通过高位来区分安全区域(Secure)和非安全区域(Non-secure)。可以看出,两个区域都具有相同的寻址空间大小。
二、开发环境。
所有关于LPC55S69的资料和软件,都可以点击这里。
LPC55S69可以使用MDK也可以使用MCUXpresso来开发,推荐使用MCUXpresso(使用时需要联网)。
安装好MCUXpresso之后,直接把压缩包拖到Installed SDKs中,按照向导点下一步,就能安装好LPC55S69的SDK了。
点击New project可以看到LPC55S69开发板。再点击下一步,按照向导可以新建工程。
点击全部构建,可编译工程。
点击蓝色的小虫,可以调试代码。
编译、调试,也可点击这里。
因为MCUXpresso也是基于eclipse框架的软件,可以使用Marketplace来安装插件,比如vi/vim,这里叫Vrapper。
三、使用SDK example。
在对应的方框上打勾即可导入example。
然后编译调试即可。
需要注意的是:有的example是直接在串口上打印调试信息,有的是通过仿真器打印到控制台(半主机semihost)。
比如下面这个LPADC的example就是打印到控制台上。
四、查看API手册。
用浏览器打开index.html文件,可以看到API手册。
也可以查看《MCUXpresso SDK API Reference Manual_LPC55xx.PDF》和《Getting Started with MCUXpresso SDK for LPC55xx.PDF》
五、其它问题。
1、调试出现以下选择对话框。
因为在工程目录下,存在两个工程,如下图所示,1文件夹中存在其它工程,将其移除即可。
2、缺少固件头文件。
在SDK管理器中,增加自己所需的外设组件。
3、内部温度传感器。
使用官方的例子可以读到内部温度传感器的值,但是把代码复制到新建的工程,引脚、时钟、外设的配置都一样,设置了浮点的printf,但是打印不出值。只能在官方的工程中(lpcxpresso55s69_lpadc_temperature_measurement)加入自己的代码,这样可以打印出浮点数。
4、关闭、打开全局中断。
uint32_t primask;
primask = DisableGlobalIRQ(); // 关全局中断
EnableGlobalIRQ(primask); // 开全局中断
5、操作不了内部FLASH。
内部普通FLASH只支持96M时钟,FFR支持12M和96M时钟。
六、外设的使用。
七、相关资料。