虽然在安心那里得到了肯定的答复,但具体协议及相关内容的修改,必须与软件部的工程师进行交流,只有在确认无误之后,才能增加相关通信指令以及指令对应的数据内容。
这是她第二次与软件部工程师的合作,本次的合作伙伴是软件部的副经理---洪流,目前他的主要任务是网络版客户端软件的维护,同时也正在参与目前事业部进行中的项目—基于网络架构的终端设备在线升级,负责客户端程序的编写。
说明来意之后,华容直奔主题,洪流接过文件之后,快速的浏览,平静地问道:“你确定只增加三条指令就可以吗?”
“是的,增加三条就可以,分别对应升级开始、升级数据传输和升级结束,在指令的发送和接收方面,使用原来的HEX格式的协议结构。”华容小心翼翼地回答,态度是格外的肯定。
“协议没有问题,只要你的指令不冲突,那么通信没有问题,你把升级的文件给我就可以。”
这是华容在接收烟草局项目以来,听到的最简洁、最有效的答复。
“好的,那么工期需要多久?”
“你提前半天通知我就可以。”依旧是干脆、利落的答复。
走访了两个部门,疑惑一一排除,方案随之确定下来,接下要做的就是网卡程序的改写和MCU程序的编写和调试。
这样的通信协议下,网卡程序的改写非常简单,只不过是增加三条指令的解析和验证,指令来自于PC端。在ISP_Line默认打开文件的路径和名称,然后添加一个按钮,对应的代码是打开文件,并将文件拆分为若干个数据包,然后逐个数据包发送和接收应答。通信的过程与原来的方式是完全相同:升级开始依次发送升级数据升级结束。
在MCU的程序编写方面,难度也不大,考虑到安心所说的“不稳定”的问题,在ISP与IAP的状态切换方面,特别细化了状态的描述,状态转换过程定义为4个状态:
状态1:IAP ISP,接收到程序升级指令后,从正常的运行状态,切换到ISP状态,准备进行升级;
状态2:升级中,从接收到第一个升级字节数据开始,直到最后一个字节接收,MCU均维持此状态,如果在升级过程中出现异常终止,那么在下一次复位后,可以根据此状态的判断,直接进入状态1,防止程序“跑飞”。
状态3:升级成功,用于对状态2结果的提示,提示用户,当前程序升级完毕。
状态4:ISP IAP,升级完毕后,将状态标记为此状态,复位后,将直接运行IAP程序。
方案已定,华容着手对软硬件程序的编写和调试,在进行数次的修改之后,伴随着对ISP_Line的功能完善,经历了山重水复,终于获得了柳暗花明,网络版的在线升级功能调试成功。
经过了初步的调试和验证,华容将程序交给了助手林鸿阳,安排他进行多机验证,每个网卡同时进行12台PDA的升级,测试升级的稳定性和成功率。
下班前的半个小时,林鸿阳准时出现在华容的办公桌前,递上了测试报告,与以往不同的是,这次是神情有些沮丧。
“测试出了问题?”这是华容的第一反应,说着,接过了测试报告,快速地浏览,但是报告的结果显示的是升级成功,程序运行正常。
“测试正常,你这是什么表情啊?”华容抬起头,有些不解,带着微笑问道。
“没什么,就是……就是……”,林鸿阳欲言又止。
“别紧张,坐下来,慢慢说”,华容示意他做到自己的对面,然后原地转身,把测试报告放在中间,继续探询:“你遇到了问题,是吧?不会是受人欺负了吧?”带着一点儿调侃的语气。
“没有,大家对我挺好的,是我自己的问题。”低着头,搓着手,低声回答。
“认错到时很积极,说说吧,怎么回事?”
“测试的内容越多,我发现自己懂得越少。”
“呵,就因为这个?这个感觉太正常了!”华容笑了,放下手中的笔,身子靠在椅子了,换了一个舒服的姿势。
“这个项目难度很大,尤其是你测试的部分,别说是你,事业部的工程师也没有几个能搞懂的。”
“真的?不是安慰我?”终于抬起头,眼睛里放出了一丝亮光。
“当然是真的,别急,我猜一下,你一定被升级程序的原理搞晕了。”
“嗯呢,是的。”林鸿阳点头承认,“在生产部工作将近一个月了,所有的升级,都是用起拔器将芯片取下来,然后在编程器上烧写,完事了再安回去,再开机的时候,程序就可以运行了。同样的设备,为什么这次需要两个步骤,第一次烧完程序的方法和以前一样,但设备无法正常运行,需要再下载一次。但是第二次下载不需要编程器了,只用你写的软件就可以了,而且可以进行无数次的升级。这种方法对于以后的升级来说,非常方便,并且一次可以下载多台,效率很高的。单片机我也接触过,这种方式还是第一次,但原理是什么,怎么也想不明白。我问过柳姐,她也不知道。”
显然,刚才的一席话,打消了林鸿阳的顾虑,一下子放开了,滔滔不绝说出了事情的缘由。
“是啊,连柳姐都不知道,你还担心什么呀?”
“啊,也对,刚才没转过来。”说着,嘴角扬起笑容,用手挠挠了头发。
“想知道吗?” 华容明显是打趣儿,但收敛了刚才的嬉笑,并将自己的将椅子向前拉了一下,把姿势调整为正坐。
“当然想!”
“这样,先介绍两个名词:ISP和IAP”,边说边在纸上画了一个瘦长的矩形,在顶部偏上方画了一条分割线,上部分标记为ISP,下部分标记为IAP,然后一边指着图,一边介绍这两个概念:
ISP (In-System Programming) ,指的是“在系统编程”。
意思是在目标板上直接完成MCU程序的烧写,不用取出来,这种情况下,要求在设计目标板的时候,必须将接口电路设计在上面,所以叫“在系统编程”,也就是不用脱离系统的意思;但是如果目标板上没有保留这种接口,那么就需要采用第二种方法,也就是常用的方法,借助编程器将程序代码烧入到MCU中,这种方法,需要将芯片从目标板上取下来,烧写完毕后,在放回去。
IAP(In-Application Programming),指的是“应用中编程”。
有些芯片本身或通过外围的芯片,可以通过一系列操作将执行程序的代码写入,比如现在用的STC89C58RD+,就是一款支持IAP的单片机,在存储区中划分3个程序区,1作引导程序区,2作运行程序区,3作下载区。芯片通过串口接收到下载命令,进入引导区运行引导程序,在引导程序下将待执行的程序内容下载到下载区,下载完毕并校验通过后再将下载区内容复制到2区,运行复位程序,则IAP完成。
两者的差别在于应用场合的不同:
前者的程序升级需要到现场解决,设计得好,可以不必拆机器了,否则,需要拆机才能完成。
后者,非常适合网络下的升级,如果有网管系统的话,那么用网管下载一切搞定,人不用跑来跑去,更不必拆机了,因此效率是很高的。
说完抬头看来一下对方,一副似懂非懂的面孔,迟疑了一下,换了一种方法解释:
“说说看,给你的两个程序,哪个是引导区的程序,哪个是应用程序?”有些时候,提问比讲解的效果更好。
“我想想,引导区应该是第一个程序吧”。
“没错,这个引导区的程序,由于不包含应用程序的代码,所以下载后设备不能正常运行,但可以通过它来完成应用程序的下载,也就是给你的第二个程序。”
“道理明白了,但还是不能完全理解。”
“好吧,换个话题聊聊,你一定在PC上安装过WINDOWS系统吧。”华容转移了话题。
“安装过,但是安装操作系统,与IAP有关系吗?”
“如果没有BIOS,可以安装操作系统吗?”没有直接回答问题,而是继续跑题。
“不可以的。”
“第二个问题,安装后的操作系统,放在哪里?”
“硬盘上。”
“没错,来,你看一下他们之间的对应关系。”在刚才的问答之间,华容用笔记录做了记录,在矩形图的旁边,增加了新的注释:BIOS和WIN,用箭头将引导区和BIOS连在一起,将IAP和WIN连在一起,把注释完毕的图,调转了一下方向,推到了林鸿阳的面前。然后,双手交叉,目光盯着对方。
林鸿阳咬着下唇,仔细端详着图,突然有所悟,腾的一下,几乎是从座位上跳起来的,兴奋地说:“我懂了”。
华容看在眼里,喜在心里,但脸上却是静如止水,“说说看,懂什么了?”。
“引导区的程序,相当于BIOS的功能,虽然功能比较简单,但是通过它可以完成IAP的程序的下载,就像通过BIOS完成WIN程序的安装一样,只要BIOS没有问题,那么可以无限次的安装各种版本的WIN。”
“没错,就是这么回事!”,华容鼓掌,“ISP的优势你已经领教了吧,只要待升级的程序发给你,那么只要有网卡的地方,任何人都可以对设备进行升级,即使遇到问题,只要硬件电路没有问,电话也可以搞定的,再也不必跑现场了。”
“哈哈哈,是的”,林鸿阳笑了,华容笑了,笑得如正午的阳光一样灿烂。
与非网原创内容,谢绝转载!
内容汇总:
摘要:沈阳的一场大雪似乎也预示着公司的某些变动,果然在休整后的第二天得到了证实,去掉一个部门,重组一个部门,孤立了一些人,拉拢了一些人,兵还是兵,将还是将...
摘要:部门虽然重新划分,但办公室里的格局和人员的位置都没有变动,好像没有发生任何事情。华容原本是个局部变量,从不参与本部门以外的事情,但这次人事变动,她的主管设计师的职位依旧,只不过属性变成了全局变量...
摘要:华工对自己的项目满腹疑惑,后来在和燕飞的一场谈话中了解到了很多缘由,看似表面风光的销售业绩只有还有不为人知的秘密...
摘要:经过与燕飞中午的一番谈话,华容不敢再对眼前的PDA(手持机)怠慢了,但是只有她自己清楚其中的问题:框图已经有了,芯片的资料可查,那么详细的电路原理图,就不再是问题,可是偏偏无人提供原理图的电子版,害得她不得不自己动手...
摘要:平心而论,华容觉得自己与华萍之间还谈不上“默契”,因为到目前为止,这个词只属于当年那个team。是她在转行之后,加入的第一个开发团队—中鼎公司中文版ECR的项目组...
摘要:真正的交接开始了,果然不出华容的意料,华萍想尽办法隐藏原理图,让她感到意外的是华容在两年前已经开始学习画板子,而华容也知道她开始写程序,曾经推心置腹的合作伙伴如今心有芥蒂...
摘要:华容冷静地思考了一下整个“事件”进展和所经历的“谈话”,她认定这个项目的背后,一定有不为自己所知的内幕,尤其是与华萍的一番交涉,加上自己对她的了解,更加确认了这一点:这个项目不简单...
摘 要:华容向家里人“请假”,然后埋头工作。按照既定的计划,第9个工作日,进行了网络联调,包括终端与网卡服务器以及服务器与后台软件的通信,由于物理层 的协议没变,数据层的定义和格式也没有变化,变化的只是填充的内容,因此,毫无悬念,网络联调顺利通过,但是在PDA检测的时候她却没有看到检测文 档...
摘要:由于项目工期紧张,华容从制定方案到实施方案,加班加点,甚至向家人请假,最后终于如期测试通过,在验收的时候她偶尔遇到了以前的合作伙伴林杰森,也是这次偶遇让她知道了自己的项目工期被压缩减半...
摘要:烟草局的项目验收完成以后,华容终于松了一口气,但是被压缩工期的阴影始终萦绕心头,以至于想起来心中难受。某一天华萍的项目组出了一个搞不定的Bug,于是要求华容过去解决...
摘要:烟草局的项目忽然出变,原本都测试通过的设备有好几台被退回,华容展开紧张地测试,后来发现是板子上的一颗芯片型号...
摘要:一天发布在OA里的一条最新消息,如一石激起千层浪,波及到了公司的各个角落—有史以来,SD公司第一次裁员。这则消息,如同前天的暴风雪一样,来势凶猛,威力强大...
摘要:岳海上任后开始了第一次裁员风暴,杨玉庭本来不在名单了,但是因为年龄偏大而成了这次裁员的牺牲品...
摘要:华容、岳海以及燕飞坐下来讨论项目的执行策略,由于已经提前知道岳海的态度,华容提出项目进展中的各种问题,最后为项目争取了时间和资源...
摘要:华容制定了一套严谨的研发计划,而她最擅长的射频卡的读写距离问题。这个问题对于其他人来说,也许高难的,但对于她来说几乎谈不上难度,只不过是一、两个小时的问题...
摘要:华容准备好测试流程,发现需要个测试助手,人选哪里来?经过与测试部的商议从中抽出一个新来的实习生林鸿阳帮助华容完成测试,经过一天的试用,华容发现小林出乎意料地满足自己的需求...
摘 要:经过近4昼夜的测试,时钟的乱码显现,如“幽灵”一般,光顾了在不同编号的设备,最少的只有一次,最多的有10次。从结果上看,与用户描述的情况基本 一 致:不一定什么时候,不一定是哪一台设备,在上传到后台的记录中,就会爆出一条错误的记录数据。ISP_Line刚好小试牛刀...
摘要:错误再现,便可以分析其原因了。分析之后,关于时钟乱码的问题,华容得到了初步的结论:EMC问题,也就是常说的电磁兼容问题...
本系列为付丽华老师原创故事《51的江湖》连载,故事中有职场,故事中还有技术,最真实的项目案例与大家一起探讨。每周一期,更多内容请查看: