码迷,mamicode.com
首页 > 其他好文 > 详细

泰凌微TLSR8359调试

时间:2020-04-23 18:49:31      阅读:357      评论:0      收藏:0      [点我收藏+]

标签:定义变量   保存   ret   中断   需要   好玩的   tls   直接   编写   

刚刚到新公司不到一个月,主要调试了泰凌微TLSR8359芯片。以前从没有接触过STM32系列以外的芯片。第一次接触泰凌微有点手忙脚乱,第一周的工作基本无用,在第二周周一全部推翻从来。

调试IIC时用的是GPIO模拟IIC,使用从前在32上使用过的程序,自己编写比较熟悉。但在移植过程中还是出现了问题,主要是没有集中注意力,没有认真分析,在if判断时忽略了else的情况。在IIC调通后(有ARK),实际运行程序时发现,可以写但是读的时候读出的数据都是0(有ark)。调试了一天软件心态都崩了,第二天从硬件下手发现引脚上拉电阻阻值过大,导致从设备驱动能力不足,无法输出高电平所以读到的数据都是0(万幸scl引脚可以输出高电平)。更换电阻后IIC正常,设备工作正常。

在调试flash时,自己比较混乱。想读flash手册,又想在网上找程序直接移植,最后在网上找了一个有细微差别的程序,经过修改后可以读写flash。但也遇到了问题。只能读写一个int型数据无法同时写多个(例如数组)。最后阅读手册发现是程序在擦除时只擦除了4k的空间。讲flash整片擦除后可以任意读写。但整片擦除很浪费时间。但flash只用于验证传感器工作是否正常所以并未钻研。同时在写一个long int的数据时也遇到了问题,最后通过将数字的每一位转化为字符实现功能。

调试无线功能时通过修改官方例程实现,比较简单并未遇到困难。

在调试TLSR8359低功耗时发现在从deep sleep模式wake up后,程序会从main函数开始执行(从头执行)。项目设计是在main函数开始时对器件进行初始化并使器件开始运行,然后进入低功耗模式,在一定时间后通过定时器wake up,wake up后继续执行(保存上次执行时的数据)一段时间再次进入sleep模式,再次唤醒后从接着执行(同样要求保存过往数据)。但TLSR8359的deep sleep每次唤醒后都会从main函数执行导致每次唤醒传感器都要被初始化。无法在满足公司所设低功耗条件下实现功能,暂时不知道下一步怎么做。

经过这一段时间的调试,对自己的总结如下:

1.集中注意力。还需要锻炼集中注意力的能力,虽然旁边有一个傻逼从八点半上班能一直咳嗦到八点半下班(只要坐在你工位,中间中断不超过5分钟。和领导说话从来不咳嗦●﹏●),就这么咳嗦确实是应该吃点治嗓子的药了(?ω?)。这段时间我一直在关爱残疾人,不敢太反抗生怕他自杀。但自己的注意力还是被他牵走了。离做到泰山崩于前色不变!傻逼坐于旁而心不乱还差很远。还要努力。其实有时候逗一逗他也挺好玩的,他不咳嗦了我就咳嗦一下他能连着咳嗦一个小时。也挺有意思的。不敢老逗他玩,主要是怕他想不开自杀。

2.细心。不管你移植的成语在上个板子上用了多长时间,移植到新的板子上就是新的程序,遇到问题时一定要一行一行仔细分析。不要太自信(?ω?)、

3.解决问题的先后顺序。先实现功能在抠细节。

4.一定不能忽视手册,一定要读手册。

5.自信点,老子最牛逼,老子天下第一哈哈哈哈哈哈哈

 

 

明天看看公司对这个项目有没有什么改变,低功耗

刚刚泰凌微的技术回复,使用_attribute_data_retention_来定义变量deep状态下数据保持

泰凌微TLSR8359调试

标签:定义变量   保存   ret   中断   需要   好玩的   tls   直接   编写   

原文地址:https://www.cnblogs.com/zjw2030/p/12762632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!