开箱+建立工程+FPU测试
时间:10-02
整理:3721RD
点击:
第一次申请试用就中了真是太开心了,感谢致象尔科技与电子发烧友论坛给我这个机会体验第一款cortex M4内核的国产处理器。之前一直用STM32,手头没有Jlink,于是去本地的电子市场花65块买了一个,真是贵啊~
第一次测试,若写的有错误望各位大神指出~
【开箱】
拿到板子,第一个感觉,QFN封装真是小巧啊。如果低功耗做的不错,用在移动设备上应该是不错的。
评估板正面除了主芯片,还有串口转USB芯片,陀螺仪,音频芯片,电位计,排针,JTAG插座,SD卡插座,USB插座,4个led灯,3个按键,选择启动方式的开关。JTAG插座旁边的插针和电位计导致插拔不是很方便。
背面有1117,16M的SPI FLASH,排针的针脚没有剪掉,比较扎手。剪掉,找铜柱装上就好啦。
【研究手册】
在论坛上可以下载到 TG401的芯片手册和这块评估板的用户指南。
略读芯片手册,150M主频和STM32F4差不多,1MB片内FLASH和512K片内SRAM真的很亮眼。配合FPU与DSP可以跑比较复杂的算法了。除此之外,该有的外设都有,中规中矩。
评估板的用户指南里写了板子上都有什么东西,提供了原理图,只是这原理图实在是不清晰啊。板子上有一个4位的开关,1连接到BOOT0引脚,3连接到GPIO31,这两个用于选择启动方式,2连接到OSC_EXT,用于选择时钟源,4没有用。把开关拨到OFF表示1,拨到ON表示0。有三种启动方式:
BOOT0=0时为normal
BOOT0 = 1,GPIO31 = 1时为DOWNLOAD,这个没有看懂,可能是ISP方式?
BOOT0 = 1,GPIO31 = 0时为JTAG。
晶振的选择上,OSC_EXT = 1 选择外部晶振,OSC_EXT = 0 选择内部晶振。
【建立工程】
安装PACK开发包,在keil5\ARM\Pack\Tangram\TG4xx_DFP\1.0.1这个路径下,有各种库,文档和例程。根据文档“使用TG4xx软件包开发应用_TLD0001CN”里的内容,可以很方便得建立一个工程。
基本上就是在MRT环境里先选择一个启动文件(MRT管理启动文件或者用户管理启动文件),然后根据库的依赖性,一路狂点就可以完成添加了。值得注意的是,一定要在魔术棒界面里勾选C99 MODE 否则是无法成功编译的。
PACK里提供了大量例程,库写得也很友好,基本不用研究手册,根据例程改一改就可以用每一部分的功能。
【FPU测试】
这款处理器512K SRAM 真的很惊人,适合做运算。所以先试试FPU性能如何。从网上找了一段用泰勒展开计算正弦函数的程序,用芯片自带的毫秒级计数器计时。
start = HAL_GetTick();
for (j=0;j<100;j++)
{
for (i=0;i<360;i++)
{
a =TaylorSin(((float)i)*0.017453292519943f);
}
}
end = HAL_GetTick();
time = end - start;
多次测试这段程序,在不使能FPU的情况下,需要跑5100多ms。而使能FPU的情况下只需要600ms。可见FPU的功能还是很强大的。周一去学校试试STM32F4的FPU跑这段程序速度如何。
【问题与解决】
在调试过程中经常会出现 “FLASH TIMEOUT”这样的情况,无法下载程序,可能是山寨的jlink不靠谱吧。经过摸索,在板子上按下复位键,松开后1~3s之内点下载或debug就可以解决这个问题啦(只是时间太长或太短都不行,需要考验手速)。
除此之外,debug时会出现点复位,程序不能重跑的情况。目前还不知道怎么解决。
以上是刚拿到板子的一点见解,再次感谢致象尔科技与电子发烧友论坛。随后会继续更新。
点赞!