随笔分类 - 其他
摘要:最近在玩串口编程的时候觉得用有线的方式来连接在有些情况下还是相当麻烦的,总觉得不方便,正好之前我们这边有项目用蓝牙串口模块实现了数据通讯,可惜我没参与,不过原理很简单,就是用串口--》蓝牙模块---》蓝牙模块——》电脑/手机,感觉这种方式正好是我想要的,以后调试靠这个能方便很多,在一些无法连线的场...
阅读全文
摘要:Git是现在比较火的一款代码托管工具,之前也有在使用GitHub,是用GitHub for windows一个图形管理的界面,如果没有这个图形控制界面的话我估计自己又要放弃了。用BASH命令来实现托管对新手来说实在是比较难入手,有时还会有点难入手的感觉,可能工作对Git没需求,造成了我对Git可有可无的状态。不过现在想想如果早使用Git,那么我就能管理好自己的代码了,现在很多代码在重装系统之后都不知道去哪了。 GitHub在使用中唯一的问题就是免费用户不能创建私密项目,导致我就不能轻易把公司的项目放到GitHub上管理了,如果出现什么问题那不就悲剧了。最近发现OsChina出了个托管工具...
阅读全文
摘要:在RT-Thread上完成简单的LED等显示后,我就准备把路虎板子的液晶驱动移到RTT项目里,其实很简单的,因为例子里都有代码的,我以为Copy下写个简单的显示测试下就好了,结果把我折腾了一晚还没搞定,还把液晶的芯片文档翻了N遍,测试了不少想法,才找出问题的,这个很郁闷,无良的厂家,既然把一个管脚的电平给搞错了,还让我拿到了,擦擦。 说下我遇到的问题:我把驱动移到RTT后,就写了一个简单的字符显示想测试下(直接调用函数就好了),结果发现显示的字符不对劲,根本看不出来是什么,我就开始检查程序,查显示逻辑,查时序,看是否有问题,测试这些感觉都好的。那没办法,我就找了芯片的文档,是SSD1289..
阅读全文
摘要:在单片机中编程中,代码量不是很大,也就几千行的代码量,不像那些电脑软件,没事就上万行,所以在我们这个工作里,对代码的进行版本控制的观念几乎没有,代码都是写到哪顶多做下备份也就过去了,不会像计算机软件对代码版本控制的要求那么高,也可能公司小,对这方面要求比较低吧。 以前也本来想尝试下版本控制软件的,像git之类的,可以感觉用法太麻烦,也不知道从何入手,也就3分钟热度,没搞定就放弃了,毕竟我对这个要求实在是毕竟低。最近发现了GitHub既然自带了一款带界面的版本控制软件,不用像git那样要记住各种的命令,就没事下了试用了下,发现基本的使用还是可以的,不过还是会有不少的问题,同步出错啊啥的,最...
阅读全文
摘要:这几天测试写好的IAP升级程序,真是一个糟,能将程序下载进去,但无法运行。 经过各种测试,修改终于找到了问题的原因,现在大致总结下我在写IAP程序的时候遇到的问题和解决方案。首先要实现单片机的IAP升级程序,我们要知道自己的IDE如何能将程序的函数或者变量的编译地址固定,因为对于bootload程序,我们要固定它的地址,还有从bootload跳转到的程序运行的地址。 对于MSP430,在测试中我程序复位时跳转到rts430x.lib:boot.obj (.text:_isr:_c_int00_noexit)这样一个启动函数,之后执行_syatem_pre_int->_auto_init.
阅读全文
摘要:完成了一个简单的IAP升级程序,只能实现简单的程序擦写。在程序启动的时候,检测命令,超时则运行主程序,否则进入升级模式,将bin文件分解,以相应的格式将程序数据发送到板子,而板子就直接实现对程序的擦写,只有个校验和和反馈,没什么有效的验证机制。由于只能手动实现bin的分解,暂时就写个小程序试验了下,还是能够运行的,郁闷,还是得会点上位机编程,不然好多测试都无法实现。 不过进一步思考发现,我这个程序只要升级失败就不能再次升级了(主程序被擦写掉了),这样肯定会有很多的问题,看来还要将主程序给分离出来,这样程序失败后还能再次利用命令进入升级,不过看现在程序结构发现有些烂了,悲催啊,真的改不动,边写.
阅读全文
摘要:程序写的差不多了,总工叫我去实现程序的在线升级功能,还什么IAP,我还以为ISP呢,闷了好一会才缓过来,后来才知道IAP是应用可编程,即程序通过自身的升级代码来升级,而升级程序可以通过串口、USB、U盘之类的来提供。好吧,大概了解了点,后来在总工的提示下知道做这个程序需要将程序分为2段,一段主代码,另一段则是升级程序,这样后面在升级的时候只对运行的程序部分升级,而升级程序保持不变,防止把自己擦挂掉了,就over了,还有我们要对程序的地址什么的要有比较深的了解。 我用的是430,编译器是CCS4.0,可以通过CMD文件来管理段地址,不过刚开始完全不懂,找资料吧。找了半天,尝试了半天,终于成...
阅读全文