免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chenrvmldd

[驱动] 一个项目引起的7天写一个nor flash字符驱动程序的经历 [复制链接]

论坛徽章:
0
发表于 2011-03-25 19:31 |显示全部楼层
回复 28# chenrvmldd


    前面已经说了啊,大概就是,对于nor flash,如果你的nor flash本身是常见的类型之一,那么Linux中已经包含了对应的Nor FLash驱动,就不用你自己再去实现了,只要在开发板初始化部分加上少量代码后,就可以支持了,然后对应Nor FLash,同样是属于Linux的MTD架构下的,其已经实现了对应的mtd的char设备,对于这些设备有个mtd util,就是一堆工具,包括flash的write,flash,read等,用这些工具,就可以实现你所要做的工作:
先erase工具删除对应部分内容,然后用write工具写入对应的数据,就OK了。

所以,从头到尾,你只需要加上少量代码(大概也就几行,定义一些结构体之类的)以支持nor flash,然后会使用mtd的util系列工具即可。

细节的话,可以邮件交流 green-waste (at) 163.com

论坛徽章:
0
发表于 2011-03-26 22:29 |显示全部楼层
喜欢这样原汁原味,一步一步来的讲授~~~

论坛徽章:
0
发表于 2011-03-27 10:53 |显示全部楼层
回复 1# chenrvmldd
支持楼主一下:)
关于在系统下更新内核和文件系统,有个简单的想法
系统下/dev/下有flash分区的节点
将内核或者文件系统的镜像文件直接写入相应节点下,就可完成,简单的一个cp命令:)

论坛徽章:
0
发表于 2011-04-12 17:47 |显示全部楼层
我也被flash搞得头疼,我是vxworks下的 norflash 跟 nandflash操作 os映像升级

论坛徽章:
0
发表于 2011-04-22 22:50 |显示全部楼层
膜拜下~

论坛徽章:
0
发表于 2011-04-23 17:06 |显示全部楼层
呵呵,你的东西写得太多了,匆匆扫了一眼,说点自己的看法。实际的项目需求中,如果产品化,有一些东西不知 ...
wangfeifeiwc 发表于 2011-03-22 12:47


顶这个。

论坛徽章:
0
发表于 2011-04-23 17:11 |显示全部楼层
实际的项目需求中,如果产品化,有一些东西不知道你有没有考虑:
       一个是何时触发升级的请求,除了盒子端要处理一些事情,服务器端如何配合?
       一个是备份的问题,如果升级中失败怎么办?(a 中途断电 b 所更新的内核或者文件系统本身就有问题)
     一个你的代码的移植性,如何后续换成nand flash你如何应对?
    呵呵,其实要考虑的问题很多,很明显你是走了弯路,因为使用mtd确实能很轻松完成你所完成的大部分工作,而你却弃之不用。

大家都是从新手走过来的,其实还是那句话,知之为知之,不知为不知,当你拿到一个项目需求时,不明白的地方,一定要找上级沟通,不要自己闷着脑袋搞。即使baidu/google后有思路了,也要找领导确认。还好目前一般都有概要设计和概要设计评审的机制。

回复 28# chenrvmldd


    前面已经说了啊,大概就是,对于nor flash,如果你的nor flash本身是常见的类型之一,那么Linux中已经包含了对应的Nor FLash驱动,就不用你自己再去实现了,只要在开发板初始化部分加上少量代码后,就可以支持了,然后对应Nor FLash,同样是属于Linux的MTD架构下的,其已经实现了对应的mtd的char设备,对于这些设备有个mtd util,就是一堆工具,包括flash的write,flash,read等,用这些工具,就可以实现你所要做的工作:
先erase工具删除对应部分内容,然后用write工具写入对应的数据,就OK了。

所以,从头到尾,你只需要加上少量代码(大概也就几行,定义一些结构体之类的)以支持nor flash,然后会使用mtd的util系列工具即可。



    这个是正解。所以楼主的学习精神可嘉,确实也学到了一些东西,但还是走了弯路,工作跟学习研究不一样,还是要使用更成熟的解决方案。另外,从开发管理角度来说,缺乏应有的评审。你的设计只“解决了问题”,但对扩展性、可靠性、可维护性和通用性这些要考虑的东西还远远不够。

论坛徽章:
0
发表于 2011-04-23 18:02 |显示全部楼层
最近几天,抽空还是再写个runtime时的linux下升级固件(uboot,kernel,rootfs)的帖子吧,呵呵,到时候,你看了就清楚了。

论坛徽章:
0
发表于 2011-06-13 23:47 |显示全部楼层
很好的帖子!

论坛徽章:
0
发表于 2011-06-14 21:59 |显示全部楼层
我至今还不明白为什么Nor需要驱动程序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP