设备模型7之固件开发(实例)

本文详细介绍了Linux系统中固件文件的格式、存储方式,以及如何在内核中读取和解析固件文件,特别提到bin和trx两种格式,并通过示例展示了如何在驱动中使用request_firmware函数加载固件。
摘要由CSDN通过智能技术生成

这个主题主要说的就是固件文件的读写,它为我们提供了一个把用户文件读入内核的机制。

前面的实例代码在实际的一些驱动中可能很少见到,但这一节所说的东西就比较实用了。

 

首先说一下固件文件。

Ldd3:

作为一个驱动作者, 你可能发现你面对一个设备必须在它能支持工作前下载固

件到它里面. 硬件市场的许多地方的竞争是如此得强烈, 以至于甚至一点用作

设备控制固件的 EEPROM 的成本制造商都不愿意花费. 因此固件发布在随硬件

一起的一张 CD 上,并且操作系统负责传送固件到设备自身.

 

这里的意思是固件文件是为了节省成本,当然我觉得固件文件也将底了升级难度。

固件文件的格式:

有很多种——trx\usr\bin

固件文件存储会因为CPU的不同,数据存储的方式分为Bigendian Littleendian

 

我们看bin

binC1~20子公司Linksys公司无线路由器固件文件所采用的格式。文件有60字节头部,32字节是Linksys公司无线路由器固件文件bin格式特有的头部,后28字节是t r x格式文件头部。

Bin有两个头,

先看前32

struct bin_header

{

uint32_t  product_abbreviation //存放固件的产品型号缩写

uint32_t  reserved1[1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值