您的位置 首页 解答

使命仓库不是体系仓库 搞混了就会完蛋

万物蛰伏,一片肃杀之意笼罩着寒冷的大地,高昂提拔的白杨树却带着高深莫测的微笑,独独地褪去了所有的衣裳,高举着光秃秃的枝杈,铁剑似地直直伸向天空。

万物蛰伏,一片肃杀之意笼罩着冰冷的大地,昂扬选拔的白杨树却带着不可捉摸的浅笑,独独地褪去了一切的衣裳,高举着光溜溜的枝杈,铁剑似地直直伸向天空。

清凉的天空既高且远,显露冷冷的笑脸,透过浓浓的雾霾,将惨白的日光散落下来,把高高的白杨树浑然一体凌乱且孤寂的影子,散落在路旁的野草上。

坐在电脑面前的我,一边指着屏幕上的几行代码,一边怒发冲冠地看着齐工脸上不可捉摸的浅笑,带着冷冷、惨白的口吻,机关枪似的几句话就把他那种孤僻的作态打得凌乱不堪了。

“齐工,你给我的代码自己究竟有没有测验过?在我这边一跑就飞了,跑飞了知道吧!早在干这个活的时分我就跟你们屡次三番地说过,你们写模块、我做体系咱们必定要配合好。你们必定要把自己做的那个小模块重复确认了,多测验几遍再交给我。给我的应该是一个直接拿来就能用的模块,我不担任查看你们的作业,我整合出来的体系不是你们查验自己代码正确性的当地。知道吧!”

我和齐工是好哥们,素日里共处甚欢,可是此时,我就和“脸盲”得分不清身边的美人是不是自己老婆、脸盲得不知道被裁掉的正是往日口中的“兄弟”的东哥相同,不再认齐工这个“兄弟”了。

“不或许的呀,我自己测得好好的呢。”几分惊慌几分疑问的齐工把我引到他的电脑上,三下五除二接上板子给我运转了一下,咦,这个“加密认证”模块在他那里竟然运转地好好的。

前情介绍

按例先给咱们介绍一点布景。

在一个山寨横行的国度里,“拿来主义”向来是成功的捷径之一。关于一家从事电子产品的公司来说,最大的苦痛莫过于:曾经有一个加密认证的要求摆在我面前,可是我没有爱惜,比及他人把产品抄走,以更低的价格出售一个彻底相同的产品之时,我才追悔莫及。假如上天能再给我一次时机,我必定会在产品中规划上“加密认证”功用,假如非要在这个功用上加一个期限的话,我期望它永久不会被破解。

67 (2).jpg

在这个产品知识产权被层出不穷地破解的大环境中,我司由于技术水平一般、产品没有被盗的价值,一向没有“与有荣焉”地被盗。可是,领导恰似脑袋进了水一般,忽然觉得自己公司的产品满足优异,以至于存在被逆向工程的或许,所以就要求在规划的一切产品中加上一颗Atmel的加密认证芯片,其时咱们挑选的是ATSHA204A这颗芯片。

在Atmel加密认证芯片中放些体系运转的要害数据,或许把少数的要害代码放入其间,即使仿照者把板子抄去,把MCU中的代码抄走,可是Atmel加密认证芯片中的数据他们破解不了,便是焊上了裸片,不把这些要害数据或代码写到ATSHA204A里边去,终究的体系仍是无法正常运转。

这么一颗芯片要用起来,自然是需求驱动的,这项荣耀而艰巨的使命都落在我好哥们-齐工-的头上。

在我看来,这颗芯片的驱动很简单,底层选用I2C通讯,收发字节方式的数据,上层完结唤醒、发送应战数、接纳呼应、判别成果的使命,这些当然是在底层封装出来的字节的基础上进行的。

那么驱动分红两部分完成,关于底层驱动,需求用IO口模仿出I2C通讯出来。一个IO口模仿时钟线,一个可切换输入输出方向的IO口模仿数据线,经过延时发生时钟,数据线发完指令后切换回收入方向,接纳来自ATSHA204A的数据。关于上层驱动,要履行的是唤醒芯片、发送challenge、接纳和验证response,这部分Atmel都给了相应的例程,照葫芦画瓢即可。

齐工花了两个月的时刻把Atmel的例程消化吸收了之后,仅仅把模仿I2C通讯的IO口改了改,其它当地简直原封不动地转发给了我,看着这些显着带着原厂例程气味的代码,看着里边仍然残留的很多仅仅起到示例效果却显着在这里用不到的冗余程序,我有些不明所以。整整两个月的时刻呐,我国的股市上午九点半开盘,下午三点钟完毕,除去这个时刻段,一天下来仍是有不少作业时刻的嘛,怎样就花了两个月的时刻,就给了我“这个”?

当然齐工也不是全然没有奉献,他把例程中的函数写了个阐明文档,告诉我一开始怎样初始化,初始化完之后调用哪一个函数。看着这位好兄弟巴结的姿态,我忍了忍现已到了嗓子眼的话,算了,能用就行了,先用起来,自己再渐渐裁剪掉那些显着冗余用不到的示例代码吧。

例程代码

关于“例程代码”,我始终认为,假如没有把它吃透是很简单出问题的。看着这些充满了注释、显着不符合自己的编码习气的例程,开始,我也是不大愿意下心去研讨的,正如各位看官所见,在齐工那里运转得好好的程序,到了我的主体系里边却直接跑飞了,不看代码是不可的了!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/114565.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部