搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
你好赵伟
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
element ui 表格鼠标经过去除样式或改样式_elementui表格鼠标滑过不改变背景色
2
【RAG检索增强生成】RAG技术革新数据库:Vanna框架的高效SQL生成策略
3
[管理与领导-8]:新任管理第1课:管理转身--从技术业务走向管理 - 管理常识2_管理转身的出发点
4
【数据结构(C语言描述)】线性表之带头双向循环链表_线性表的双向循环链表实现
5
字节跳动测开岗,4面都过了,HR告诉我被刷在这个地方...._字节跳动四面还会被拒吗
6
《迈向领导之路》之提升领导力
7
35岁Android程序员面临失业,是不是该考虑转行了?,2024年最新来来来_程序员35岁失业
8
Lumos学习python第二课:基础内容
9
ava实现八大排序算法(含动图,很生动)
10
软件测试人必知测试工具
当前位置:
article
> 正文
做驱动的知识背景_写驱动程序对硬件要精通吗
作者:你好赵伟 | 2024-07-23 16:52:59
赞
踩
写驱动程序对硬件要精通吗
写驱动程序必须了解硬件机理。与PC机的驱动程序开发不同的是,PC上的驱动程序开发一般主要需要PC上装的操作系统的实现和要做驱动的那个外设的硬件构
[52RD.com]
成;而作嵌入式驱动开发很多是没有操作系统的,很多只有一套简单的监控程序,所以需要了解整个板子的硬件构成。这就要求你最起码的几门功课要过关:电路基
[52RD.com]
础、模拟电路技术、数字电路技术。这只是个起步,之后呢,如果做控制类的板子肯定要懂自动控制原理、现代控制理论,如果做通讯类的板子肯定要了解通讯原
[52RD.com]
理、高级通讯原理、信号调制方面的知识,其中知识的复杂不是两三年能搞定的。据个例子说,做手机驱动的如果连直流漂移都不知道,肯定看不懂硬件资料,能写
[52RD.com]
出来代码才怪呢。[52RD.com]
[52RD.com]
驱动程序是小而精的程序,它要求对数据结构、算法、构架、编译原理各个方面都有深入了解和丰富的实践经验。如果做复杂的带有操作系统的板子,那么肯定还要
[52RD.com]
了解操作系统的内存管理、线程调度等知识。虽然PC机的开发上有很多常用算法模块已经有很优化实现,但是这些代码往往不能直接套用在嵌入式设备的代码里,
[52RD.com]
原因可能因为这段代码太大、太全、或者不符合项目的要求。嵌入式设备的RAM很小,因此我们编写代码必须仔细把握大小,甚至要关注到Byte级。嵌入式系
[52RD.com]
统承受不了很多冗余的代码,所以很多常用算法都没有现成合适的函数库,需要你重新实现,根据硬件有针对性的重新编写。因此,精湛的编码技术、周密的代码规
[52RD.com]
划都是必备的基本功。[52RD.com] 当然最为重要的还是综合能力。比
[52RD.com]
如一串口程序握手时出现错误失败了,原因可能有很多:线断了?接头脱焊了?程序有问题?芯片中代码有问题?等等等等。要做出判断很难。这时候我们就应该具
[52RD.com]
备审查入微的能力,要能仔细判断出问题出在那,或者给出若干种Debug问题的方案逐个去突破。一般来说,我认为在开发过程中用脚本来辅助开发是一种效率
[52RD.com]
很高的手段,比如windows下的wsh或者linux的shell
[52RD.com]
script都能够用来辅助代码的生成,或者用于构建自动测试环境。另外,由于做的很底层,技术很前卫,所以很多情况下我们手头上只有一些硬件的电气资
[52RD.com]
料,或者有一大篇别人编写好的代码去参考。这时候,自学很重要,独立分析别人代码的能力也很重要。诸如SlickEdit、SourceInsight之
[52RD.com]
类的辅助分析工具一定要熟练运用才行。(不过,幸好这些东东看看联机帮助就能搞定了,并不复杂)[52RD.com]
[52RD.com]
整个研发中最最需要必备的能力就是外语能力了,尤其是英文。因为几乎所有的硬件资料都是纯英文的,等待别人翻译成中文根本不可能(翻译出来估计也都过时
[52RD.com]
了),甚至有些是硬件厂商提供的绝密资料,能指望谁翻译去?我觉得外语能力也是我今后最需要加强的,至少应该以下4点:1)
[52RD.com]
不借助词典能够基本看懂英文技术文档;2) 老外开讲座的时候能够跟得上并随手做笔记;3)
[52RD.com]
用英文写工作总结轻松自如,写代码注释表述精确无误;4)和老外电话或者当面聊天很顺当。
[52RD.com]
[52RD.com]
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
[52RD.com]
[52RD.com]
感觉咱们这个论坛怎么这么冷清,上面的引用一位版主的帖子,发起一个话题,给大家增加点热气。我做驱动两年了,认为做驱动在不同的公司会是不同的层次,引
[52RD.com]
用的这个帖子可能要求太高了,应该是平台提供商做的层次,我认为处于design house这个层次的话,做驱动需要以下的知识背景:
[52RD.com]
[52RD.com]
1、语言基础
[52RD.com]
[52RD.com]
ASM,C,C++,c语言必须要熟悉,(我不说精通),因为驱动大部分都是c写的,因此你首先要看懂别人的代码,才能集百家之长。这只是入门条件哦,如果要深入的话,估计到时候自己就知道自己的差距在哪里了。
[52RD.com]
[52RD.com]
2、硬件基础
[52RD.com]
[52RD.com]
模拟电路,数字电路,肯定是要有基础的。因为做驱动肯定要与大量的datasheet打交道,没有这点知识背景,连电路图都看不懂,估计会很吃力的。
[52RD.com]
[52RD.com]
3、英语能力
[52RD.com]
[52RD.com]
至少能看懂datasheet和技术资料吧,哈哈,别的就不说了
[52RD.com]
[52RD.com]
4、工具的使用
[52RD.com]
[52RD.com]
souce in signt,TRACE32,示波器,等等等,分别是代码编辑工具,仿真调试工具,硬件调试工具,这应该是我们debug时候的朋友了,当然还有更好用的工具,就要看你公司的状况了,当然高手也不一定必须用这些工具,不过善假于物,总会事半功倍的!
[52RD.com]
[52RD.com]
[52RD.com]
[52RD.com]
不敢称是一家之言,小小体会。欢迎大家交流。
[
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/你好赵伟/article/detail/870756
推荐阅读
article
百度
智能
云推出
金融
智能
体
应用
“
智金
”:面向四大核心
场景
增收提效...
近日,2024中国国际
金融
展在北京召开。会议期间,
百度
智能
云发布大模型在
金融
行业的
智能
体
应用
——
百度
智能
云
智金
,旨在利用...
赞
踩
article
嵌入式
Linux
驱动
开发
你想知道
的
都在这_
嵌入式
系统
编程
开发
...
关于
嵌入式
Linux
驱动
开发
的
方方面面,包括学习路径、学习方法,工作经验、书籍推荐等等。只要是你想问
的
,这里都有。_...
赞
踩
article
常见
web
安全
及
防护
原理
_
web
安全
和
防护
...
sql注入原理就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQ...
赞
踩
article
(全)
Word
Embedding
...
原文链接:https://blog.csdn.net/L_R_H000/article/details/81320286...
赞
踩
article
东方
通
Tongweb
企业版
7.0
.
4.9
制作
docker
镜像(安装教程)_
东方
通
docker
...
东方
通企业版制作
docker
镜像_
东方
通
docker
东方
通
docker
...
赞
踩
article
oracle
case
when
的使用方法...
大家都知道Case
when
的用法,一旦满足了某一个WHEN ,则这一条数据就会退出CASE WHEN,而不再考虑其他C...
赞
踩
article
Spark
基础学习笔记24:
Spark
SQL
数据
源
-
基本操作
_
sparksql
数据
源
头歌答案...
使用各种
数据
源
:parquet, json, hive表, jdbc_
sparksql
数据
源
头歌答案
sparksql
数据
...
赞
踩
article
java
算法题
Day40
...
每日两练
java
算法题
Day40
...
赞
踩
article
Cocos2dx
中
lua
实现与
java
交互(异步
线程
间的数据同步)_
cocos2dx
+
lua
剪贴板
...
语言环境
Cocos2dx
3.6
lua
5.1
java
1.8.0_144本节问题:
lua
通过
lua
j与jav...
赞
踩
article
中间件
-
RabbitMQ
学习笔记_
rabbitmqctl
stop
...
中间件
-
RabbitMQ
学习笔记_
rabbitmqctl
stop
rabbitmqctl
stop
...
赞
踩
article
hi
be
rnate
的
CRUD
操作_defines
that
data
can
be
lazily f...
hi
be
rnate
的
CRUD
探究_defines
that
data
can
be
lazily
fetched
.def...
赞
踩
article
邻接
表
实现
拓扑
排序
_
第
2
关:基于
邻接
表
完成
拓扑
排序
...
【代码】
邻接
表
实现
拓扑
排序
。
_
第
2
关:基于
邻接
表
完成
拓扑
排序
第
2
关:基于
邻接
表
完成
拓扑
排序
...
赞
踩
article
大
模型
系列|基于
大
模型
的
聊天
助手
案例(三)
_
聊天
大
模型
学习
...
大
模型
在
聊天
助手
领域
的
应用
_
聊天
大
模型
学习
聊天
大
模型
学习
...
赞
踩
article
记一次
Flink
checkpoint
超时
问题
的排查_
flink
数据库
快照一直未完成...
最近在做
Flink
实时自定义报表,在临近上线的时候,在测试的过程中,运行一段时间后,发现
Flink
的
checkpoint
...
赞
踩
article
MySQL
查询
、
子
查询
及
连接
查询
_
mysql
数据库
连接
查询
和
子
查询
csdn
答案...
文章目录一、
mysql
查询
的五种
子
句1、where常用运算符:2、group by 分组(1)max:求最大值(2)mi...
赞
踩
article
mybatis
-
plus
通过
updateById
更新
部分字段
数据
时出现所有
数据
被
更新
(被设为默...
通过传入的 id 进行
数据
更新
,默认只
更新
设置
数据
的字段。_
mybatis
updatebyid
只
更新
有值mybati...
赞
踩
article
PHP
开发
的小
程序
如何在
本地
运行...
坦率来说:在
本地
运行
PHP
开发
的小
程序
需要我们搭建一个
本地
服务器环境来模拟后端服务,并将前端代码与后端代码进行联调。不过...
赞
踩
article
双
十一大
屏
实时
数据
展现技术原理_双
十一大
屏
幕
实时
数据
...
SSE的优势很明显,它不需要建立或保持大量的客户端发往服务器端的请求,节约了很多资源,提升应用性能,但是sse只适用于高...
赞
踩
article
大
模型
微调
选型指南:我
的
企业
需要
微调
或者
训练
一个
自己
的
大
模型
吗?还是RAG更适合我?先说结论:
微调
d...
大
家千万不要以为
大
模型
微调
之后就完全按照你
的
意思回答
了
。_拉玛
3
大
模型
被禁
了
吗拉玛
3
大
模型
被禁
了
吗 ...
赞
踩
article
开发组合:PHP+MySQL
同
城
社区
小
程序
源码
同
城
便民
信息
发布
系统
源码
源码
开源可二开含搭建教程...
智慧
同
城
便民
信息
小
程序
源码
系统
,涵盖了
同
城
信息
、商家联盟、生活电商、求职招聘、房产出租、相亲交友、拼车顺风车、
同
城
服务、...
赞
踩
相关标签
百度
金融
驱动开发
linux
arm开发
JavaScript
自然语言处理
机器学习
深度学习
docker
容器
运维
数据库
php
spark
parquet
json
hive
jdbc
java
jvm
开发语言
算法
luaj
cocos