OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3668|回复: 8

求教stm32里的这些demo是谁写的硬件工程师吗?自己根据datasheet怎么写MCU的demo?

[复制链接]

14

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
500
金钱
500
注册时间
2017-4-25
在线时间
110 小时
发表于 2017-11-16 16:48:33 | 显示全部楼层 |阅读模式
3金钱
原子的开发板资料很充足,所有的命名,功能模块都写好的,自己只需要改改加加,感觉对于熟悉加学习单片机算是蛮好的。但我不知道根据MCU和datasheet怎么来写demo,论坛大神求教?

最佳答案

查看完整内容[请看2#楼]

你说的理解了一点。就是IC工程师基本只是做IC(设计实现)及datasheep,嵌入式软件工程师做IC的各种功能测试如ADC,IIC,各种引脚,是不是?那我们常用的库函数(常用的.h头文件(里面定义所有引脚什么的).c源文件)和例程也是我们(嵌入式软件工程师)自己根据datasheet来写?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
500
金钱
500
注册时间
2017-4-25
在线时间
110 小时
 楼主| 发表于 2017-11-16 16:48:34 | 显示全部楼层
zc123 发表于 2017-11-16 23:32
我正好在一家嵌入式芯片公司做固件开发的工作,倒是可以聊聊。芯片厂商虽然是芯片作为产品,但配套的 ...

你说的理解了一点。就是IC工程师基本只是做IC(设计实现)及datasheep,嵌入式软件工程师做IC的各种功能测试如ADC,IIC,各种引脚,是不是?那我们常用的库函数(常用的.h头文件(里面定义所有引脚什么的).c源文件)和例程也是我们(嵌入式软件工程师)自己根据datasheet来写?
回复

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1576
金钱
1576
注册时间
2015-8-9
在线时间
625 小时
发表于 2017-11-16 17:19:09 | 显示全部楼层
照葫芦画瓢,根据实际情况和思路写就行了
回复

使用道具 举报

14

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
500
金钱
500
注册时间
2017-4-25
在线时间
110 小时
 楼主| 发表于 2017-11-16 17:44:15 | 显示全部楼层
Akatsuki_lim 发表于 2017-11-16 17:19
照葫芦画瓢,根据实际情况和思路写就行了

?什么意思?都没有所有定义都要写,不知道要按怎样规范来定义。
回复

使用道具 举报

28

主题

133

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
323
金钱
323
注册时间
2016-11-22
在线时间
66 小时
发表于 2017-11-16 17:51:32 | 显示全部楼层
前期还是要多看别人写的代码,多看老外写的。有时候就算有了数据手册,各个寄存器的说明已经很完善了,也不一定能写出代码。因为一个功能是由多个寄存器联合配置才有用的,很多时候不知道怎样联合配置。不知道楼主是不是有这样的感悟,反正我是有。
回复

使用道具 举报

14

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
500
金钱
500
注册时间
2017-4-25
在线时间
110 小时
 楼主| 发表于 2017-11-16 18:09:18 | 显示全部楼层
ARM学员 发表于 2017-11-16 17:51
前期还是要多看别人写的代码,多看老外写的。有时候就算有了数据手册,各个寄存器的说明已经很完善了,也不 ...

没错,最近在尝试做一个8位MCU开发,只有datasheep,相较原子的datasheep上面基本没什么东西。没有demo。
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1770
金钱
1770
注册时间
2015-6-11
在线时间
313 小时
发表于 2017-11-16 23:32:03 | 显示全部楼层
本帖最后由 zc123 于 2017-11-16 23:49 编辑

     我正好在一家嵌入式芯片公司做固件开发的工作,倒是可以聊聊。芯片厂商虽然是芯片作为产品,但配套的嵌入式软件开发也是必须的,主要做的工作是芯片的驱动库开发,芯片研发过程中的软件验证以及产品原型demo实现,而且硬件工程师也不是主力,他们负责的就开发板和产品原型demo的设计,芯片开发主要是由IC工程师,他们也属于软件开发的,只不过是用FPGA实现芯片原型的
       固件开发的流程是这样:
       1.首先要完成的是分模块的外设驱动及测试,这个一般配合芯片原型验证完成,每个模块都要驱动库,并根据库写每个模块的独立测试代码,进行初期测试。这时主要参考的就是内核信息文件,寄存器地址功能定义,除了串口打印都要用外,模块基本都是独立测试的,像SRAM,SDRAM,SQI, USART, IIC, TIMER,PWM,HDMI,USB....这就是初期实现过程。
        2.当各个模块测试完毕后,都会实现些常用案例,像简单的IIC,SQI操作常用的外部芯片,复杂的USB采集图像, IAP网页/USB在线升级, 如果1已经完善的话,2基本上都是应用层实现,底层都是上述模块的组合,其实并不困难,demo的要求并不高,熟悉底层驱动的话,上层实现的东西也不多。
         如果你想脱离固件库和例程写demo,除了ETH和USB很难外,其它底层基本都是模块组合,难点在于需求分析没有经验,例如参考datesheet实现个USART在线升级的demo, 就可以将步奏分解,第一步通过寄存器模式封装实现USART串口通讯,第二步制定通讯协议,测试通讯可靠性,  第三步封装寄存器,实现写入内部FLASH代码, 第四步理解IAP机制,将代码分成bootload和application, 设计升级流程, 第五部,完成上述代码,并测试。按照这个流程走完,基本上涉及到datesheet的就1,3,4步,如果单独拿出来,和用标准固件库比难度并没有大很多,困难其实在于需求杂糅在一起,如果没有很多的开发经验,很能分析的清楚。
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1770
金钱
1770
注册时间
2015-6-11
在线时间
313 小时
发表于 2017-11-17 12:43:34 | 显示全部楼层
prefilon 发表于 2017-11-17 10:53
做固件开发,,,,,月待遇上10K以上没?

就是这个价格,也不高
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1770
金钱
1770
注册时间
2015-6-11
在线时间
313 小时
发表于 2017-11-17 12:56:18 | 显示全部楼层
本帖最后由 zc123 于 2017-11-17 13:06 编辑
ZTO13 发表于 2017-11-17 09:49
你说的理解了一点。就是IC工程师基本只是做IC(设计实现)及datasheep,嵌入式软件工程师做IC的各种功能测 ...

   IC工程师负责的是芯片地址分配,总线架构,模块功能设计实现等工作(芯片设计的核心),嵌入式软件工程师完成固件库开发,芯片综合测试,开发资源包生成(包含datesheet, 固件库,下载工具,测试demo)->对于应用人员来说看到就是这个资源包。 设计流程中,嵌入式软件工程师是没有面向用户的datasheet的,工作是参考ip核厂商的文档以及IC部门初期设计文档使用c语言来实现各个模块的库函数(也就是你说的.c, .h的库函数),并编写测试用例(基本就是日后demo的原型), 然后同步修改维护生成datasheet的,当上述流程走完后,才会有完整的datasheet。在整个流程中,IC部门设计文档和datesheet都会发生很大变化的(解决bug,添加需求), 基本要对自己测试实现的模块很熟悉才行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-26 21:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表