您的位置:首页 > 其它

2012.11—2013.1工作室一周汇报合集

2013-06-21 12:58 225 查看
2012年11月21日

一、做了什么:

1、焊TCON板和基站板,将GUI移植到9263核心板,调试液晶显示。

2、看TFT_LCD工作原理,PROTEL99SE简明教程。

3、看TCON、基站电路图,看液晶和液晶控制器的DataSheet

二、搞清楚了什么问题

1、可以较准确的对照电路图和元器件焊板子,初步可以焊TQFP封装芯片和FPC排针(之前加助焊剂,可以使焊锡更容易附在焊盘上并且脚与脚之间容易分离,还要注意上锡量和上锡方法,我的方法是在引脚与焊盘接触处上锡,然后向内涂,量不多,只要能使引脚与焊盘接触即可。不能想着先在根部上锡再把引脚的锡分开,那样有可能锡到了里面就分不开了)。

2、了解了TFT LCD的组成结构,和液晶光学特性、偏光板、彩色滤光片(排列方式)、薄膜晶体管、背光板、液晶色阶变化、开口率等相关知识。了解TFT LCD整块面板的电路架构和二阶驱动显示原理的相关内容。

3、修改、更换元器件的时,一定要先对照电路图确认其参数,不能想当然觉得电路图中2选1的元器件的规格是一样的。(本块液晶有上下UD、左右RL刷屏模式,TCON板通过不同位置的电阻将UD、RL电平置高、低来设置。)

4、TCON电路中由2个AAT1102电压转换IC构成的升压电路、一个AD8565OP构成的电压跟随器、发光二极管电路、按键开关电路、液晶控制IC配置等电路组成。

5、UCGUI移植

①液晶引脚、时钟、时序、RGB模式设置

②LCD驱动层画像素函数LCD9263_SetPixelIndex();

本次移植在以前移植好的文件基础上(以上两点都已经没有问题),把UCGUI仿真的文件加到工程里,出现很多编译链接上的错误,然后进一步修改,修改的是:一些原PC操作系统平台的配置要换成9263平台的配置,一些H文件中的设置,一些函数、变量的重复定义,结构体变量类型不统一,结构体成员的添加与修改,两个GUI里函数大小写不匹配导致的编译问题等,找出错误所在处后,通过对比移植好的文件进行修改,之后便可以显示。

③改变TCON板的UD\RL相关配置电阻,液晶可以正确显示。

三、存在的问题

1、移植后的UCGUI文件很大,可以删掉部分用不到的GUI文件。

2、GUI文件组织有点乱,编译时有100多个warning还没有去修正。

3、UCGUI虽然目前可以显示,但不是自己从头到尾移植的,对内部底层函数的移植、以及时序、驱动等还是不清晰。

4、C语言指针与函数那块在复杂声明时需要进一步熟悉。

5、结构体与指针那块也需要进一步弄清楚,以及结构之间的嵌套和数据结构分析。

2012年11月28日

一、做了什么:

1、重新建了工程,删简了ucgui的本工程不用的一部分文件。

2、按键响应,显示界面已经基本调好,今天晚上把5个菜单按键、上下键也添加进去,目前还没有出现过按键或窗口失去焦点的情况,效果还可以。按键应该只能一个一个的按,其他一些未知操作程序没有做处理。不同窗口下菜单键的响应要求可以调整。

3、上周周末看了ARM体系与结构的前四章,主要是ARM指令集和汇编相关内容,属于通读,指令、汇编形式比较多。

4、按键扫描调试中,有一个按键引脚从外部量是低电平,但是读进去却是高电平,(配置没问题,换成输出此引脚H3.3V L0.6V),之后过了一段时间全速跑就突然好了。

5、UCGUI的按键焦点处理。由于之前的仿真里建窗口时没加上父子关系,所以怎么调也不对,后来加上了父子关系之后经过修改就ok,处理如何在进入多层窗口之后,退出时焦点一步步回到父窗口之前的button上。然后移到9263板子上。处理中进一步了解ucgui的WM管理、控件对话框修饰、消息处理机制相关内容。当不知道的情况发生时,要一步一步跟进函数里去。

二、搞清楚了什么问题

1、菜鸟碰到一个没见过的问题可能会纠结半天却不知如何下手

2、处理调试问题的能力和速度是需要积累的

3、问题可以归类,基本上一个问题解决了,同类的问题可以较快解决,所以改程序时,先小改一个调试,如果成功再改其他。

4、改程序时重要地方要写下修改记录,不然可能会忘记,导致自己给自己设置障碍。

三、存在的问题

1、液晶还存在页面切换不快,颜色转换的问题。

2、数据接口还没做

3、实时数据应该都是全局变量,容易些,读文件那部分还没有什么感觉

4、报警信息超过一页之后的处理程序、历史数据曲线的绘制程序还没写(历史数据曲线的网格图已经基本画好)。

2012年12月5日

一、做了什么:

1、GUI程序合到基站程序里,目前可以显示。背光可以定时控制,没按键定时t秒关闭背光,背光关时有按键则开背光,背光开时有按键则重新计时。

2、背光亮度问题,最后查出是板子上三极管发射极、集电极封装画反了。焊好后再将分压电阻由原来的20K 降到17K(计算在基极电流承受范围内),背光电流可达参考电路标准值20mA。(见附图)

3、看ARM体系与结构的异常中断处理、其他一些关于ARM/Thumb指令混用,C/C++/汇编混合编程的规则介绍,以及ARMC/C++编译器连接器的介绍。还剩下ARM存储系统一章没看。

4、目前还在看基站程序,感觉看的速度比较慢。

二、搞清楚了什么问题

1、ARM书看了,有点感觉,但不是很透彻。有些汇编内容平时也不怎么用到,编译连接那部分合上书只有个大概印象。现在IAR编译器把什么都做成选项卡形式,不怎么用命令行来控制编译连接。具体的各种条件规则也没怎么记住。

2、在把GUI合到基站程序的时候,基站工程的一些编译选项没有配置、icf文件、mac文件没有替换,还遇到基站工程文件夹里相同文件有两个,编译器找的那个不是我添加的,连接时总出错,导致不能download,后来解决了。Icf文件里sdram 的地址分配也要改,所以下面要研究一下icf文件和mac文件里的东西。不然出错了也不知道怎么改,很耽误时间。

3、又看了一遍c语言指针和结构体那部分内容,终于对什么是指针有了一点深入的认识。现在看程序勉强可以。灵活运用可能还需要时间。

4、看了几篇关于堆、栈、arm启动代码的介绍文章,知道了动态内存管理的概念,知道为什么用指针要很小心。

三、存在的问题

1、看程序速度比较慢,基站上GUI刚调好,数据还没有放到GUI上。

2012年12月11日

一、做了什么:

1、看基站初始化程序,对应看了9263芯片资料的PMC、USART、TWI和AIC部分内容,LM31256芯片资料,OSAL API函数介绍,

2、调液晶颜色花了一天时间,尝试想把UCGUI内部改成支持24位色处理。画点是改好了,但是ucgui里所有控件的颜色buffer也都是16位的,不同控件的颜色设置函数不一样,它是以消息发送的,接到消息再从颜色buffer里取出设置的颜色,gui里每个控件都有各自的颜色buffer,如果改buffer,那么消息传递中所有涉及到这个buffer的东西都要改,如果改的话,可能会遇到其他gui内部问题,时间可能比较长,所以改到一半又退回去了。最后还是用转颜色的方法,但是刷屏速度不快。还要把cpu数据线接成16位的。这个液晶是16位色的液晶,并不支持24位色,直接接成16位比较好。

3、修改Gui界面,字体控件都变大了一号。

4、改gui显示数据的函数接口,今天用了大半天的时间合了一下,还剩下alarm信息(多页显示),和曲线绘制(读历史数据)部分。把数据结构全部列出来后,才能慢慢的取找。不同的显示,先判断的条件不同,具体的期望显示效果需当面说。

5、下面先改液晶总线,再测试合过数据后的程序。

二、搞清楚了什么问题

1、对基站的程序,功能有了进一步了解。

2、合数据时,对数据结构在工程中的位置的重要性有点体会,对结构和指针的操作也更加熟练。

3、比较重要的一点,看英文的datasheet应该不再有心里障碍。讲的是比中文翻译的清楚。

4、一个人不能解决所有问题。

5、平时会遇到很多小问题,没什么好写的。

三、存在的问题

1、感觉每天很累,但是进展却比较慢,终端一天一个进展,基站这边却貌似还在原地徘徊,想加快速度,却总被这样那样的问题滞慢节奏。

2、需要学习的还很多。

2012年12月20日

一、做了什么
调基站串口收命令、收文件的协议部分。
看ARM存储系统章节。
看ZIGBEE相关内容,知道了ZSTACK和OSAL是什么,与ZIGBEE协议的关系。
由于源程序接收串口数据是DMA缓存满8字节中断,对于不定长的数据包最后的末尾字节无法读入环形缓冲区,加了超时中断之后可以实现接收不定长度的数据包。
基站协议大致都已经写好,本周发现的问题一般都是结构体字节对齐问题,函数参数的数据类型不对,拼包时地址指向或加减的逻辑不对、判断条件颠倒等小错误。
二、搞清楚了什么问题
1、对通信协议的概念有了实质性的认知;
2、环形缓冲区的作用
3、I2C与FRAM读写
4、知道在MAC文件中如何根据需要配置9263的时钟选择和输出
5、对ARM页式虚拟存储管理,逻辑、物理地址映射、cache和写缓冲有了概念。
三、存在的问题
1、由于对基站功能不是很清楚,在与上位机调程序时需要花时间看程序判断每一包数据是干什么用的,接收方应该回复什么样的正确应答。
2、关于内存分配还不是很有感觉,比如GUI内存分配机制,还有SDRAM在启动代码中的配置。
3、GUI显示相关的东西这周没看

2012年12月27日

一、做了什么
1、调基站读文件协议,现已经调好。
2、看书,存储器层次结构

二、搞清楚了什么问题
1、9263的4G地址映射
2、读文件、写文件的基本原理
3、存储器山、缓存的分类、命中与不命中以及对存储性能影响,程序员如何利用局部性编写更有效的代码。

三、存在的问题
1、动态内存分配
2、sd卡协议
3、当遇到程序跑飞掉,不知道什么原因的时候,如何缩小查找范围,如何看反汇编、寄存器、内存、一起找原因的情况时,还不是很熟练

2013年1月2日

一、做了什么
1、调报警信息显示和实时曲线显示部分,现在可以模拟显示曲线,之后可能还要改下实时数据的接口。

二、搞清楚了什么问题
1、看程序前一定要知道具体需求、程序功能。

三、存在的问题
1、液晶刷屏速度
2、zigbee模块还没有在基站上调过
3、基站校准部分没怎么调
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: