作者 主题:用于进入嵌入式固件角色的建议 (Read 649 times)

0会员和1位客人正在查看此主题。

离线 bug13

  • 常规贡献者
  • *
  • 帖子:56
  • 国家: NZ.
进入嵌入式固件角色的建议
« on: 2019年12月29日,07:47:56»
嗨,大家好

我一直是一个自我教导的ee。如果可以,热衷于在新的一年中进入嵌入式固件角色。任何人都这样做了吗?有什么建议??
谢谢团队!
朱华武
一个创造故事的人来告诉机器做东西。
 

离线 Profanum429.

  • 贡献者
  • 帖子:40
  • 国家: 我们
RE:进入嵌入式固件角色的建议
« 回复#1开: 1月04日,2020年,02:30:20»
您是否正在查看在您为您工作或享受某处/签约工作的同一公司内移动?另外,什么类型的嵌入式固件?在SBC运行Linux上的通用内容,使用M系列皮层的高功率裸金属应用,或微小的图片或Atmels上的低功耗设备,或完全不同的东西?
 

离线 大众

  • 频繁的贡献者
  • **
  • !
  • 帖子:324
  • 国家: 我们
RE:进入嵌入式固件角色的建议
« 回复#2开: 1月04日,2020年,03:25:17»
我这样做了。成为一个数十年的软件人员,并将电子产品视为一种爱好。我设定了一个学习涉及制作物理产品的一切。每次转弯都选择了更接近设计和实际物理制造的工作。我留着关于电子产品的博客,最终得到了固件的位置。
对所有设计相关项目感兴趣,无论多么简单,更复杂,进入或快速,失败或成功
 
以下用户感谢此帖子: 我想要一个粗鲁的用户名

在线的 rstofer.

  • 超级贡献者
  • ***
  • 帖子:8064
  • 国家: 我们
RE:进入嵌入式固件角色的建议
« 回复#3开: 1月07日,2020年,05:44:06 PM»
你有多少编程经验? 并不重要,因为嵌入是不同的动物。 希望你至少熟练的C.

然后有UC硬件的问题,更重要的是,数据表。 您需要真正了解数据表的部分,具体是您计划使用的部分。 串行协议(I2C,SPI,UART),计时器,中断,PWM和所有其他外设。

昨天我正在评论这种指导,我如何认为是关于低级编程的伟大教程。  Forget the 'Arduino'部分原因是't used much. 一切都直接完成了硬件。 位直接旋转到寄存器,即嵌入式编程!

//www.instructables.com/id/Girino-Fast-Arduino-Oscilloscope/

所以,抓住Atmega 328P数据表并开始通过项目工作。  There'在一个小项目中有很多嵌入式教育。  If you don'T有一个Arduino Uno,你应该得到一个。

不,它'S不是一个体面的范围,除了非常有限的应用程序,但项目目标,物理硬件,寄存器设置与整体程序流程之间的关系非常值得您。

« 最后编辑:1月07日,2020,05:46:15 PM由Rstofer »
 

在线的 rstofer.

  • 超级贡献者
  • ***
  • 帖子:8064
  • 国家: 我们
RE:进入嵌入式固件角色的建议
« 回复#4开: 1月07日,2020年,05:52:20 PM»
下一步: 得到一个手臂板,我会选择MBed LPC1768(因为我有一些),但任何STM32F板都应该工作。 实施freertos(它'可以欺骗并使用与其示例之一匹配的电路板)。 添加Fatfs(FAT文件系统)并通过文件系统工作。 鉴于控制台,您应该能够使用实时功能来实现类似的系统。

也许您使用DMA进行数据传输到SD卡。 显然,将有几个并发任务,您可以根据您的喜好添加尽可能多的任务。

现在轮到你'重新开始捕获嵌入式编程。 旋转位,RTOS,文件系统,控制台,中断,定时器,DMA - 所有这些东西。
 

离线 bug13

  • 常规贡献者
  • *
  • 帖子:56
  • 国家: NZ.
RE:进入嵌入式固件角色的建议
« 回复#5: 1月08日,2020年,05:31:40»
您是否正在查看在您为您工作或享受某处/签约工作的同一公司内移动?另外,什么类型的嵌入式固件?在SBC运行Linux上的通用内容,使用M系列皮层的高功率裸金属应用,或微小的图片或Atmels上的低功耗设备,或完全不同的东西?

最有可能是一个不同的公司,作为我在工作的公司,非常小。不多的空间要四处走动。我对较高的裸晶金属/ RTOS的东西和SBC运行Linux更感兴趣。在Pics / AVR / MSP430等中,我已经在低功率内容中完成了很多......
朱华武
一个创造故事的人来告诉机器做东西。
 

离线 bug13

  • 常规贡献者
  • *
  • 帖子:56
  • 国家: NZ.
RE:进入嵌入式固件角色的建议
« 回复#6开启: 1月08日,2020年,05:32:42 »
我这样做了。成为一个数十年的软件人员,并将电子产品视为一种爱好。我设定了一个学习涉及制作物理产品的一切。每次转弯都选择了更接近设计和实际物理制造的工作。我留着关于电子产品的博客,最终得到了固件的位置。

谢谢分享,那's encouraging. :-+
朱华武
一个创造故事的人来告诉机器做东西。
 

离线 bug13

  • 常规贡献者
  • *
  • 帖子:56
  • 国家: NZ.
RE:进入嵌入式固件角色的建议
« 回复#7: 1月08日,2020年,05:39:34»
下一步: 得到一个手臂板,我会选择MBed LPC1768(因为我有一些),但任何STM32F板都应该工作。 实施freertos(它'可以欺骗并使用与其示例之一匹配的电路板)。 添加Fatfs(FAT文件系统)并通过文件系统工作。 鉴于控制台,您应该能够使用实时功能来实现类似的系统。
也许您使用DMA进行数据传输到SD卡。 显然,将有几个并发任务,您可以根据您的喜好添加尽可能多的任务。
现在轮到你'重新开始捕获嵌入式编程。 旋转位,RTOS,文件系统,控制台,中断,定时器,DMA - 所有这些东西。

FreeRTOS的东西,您是否意味着使用CubeIDE中的Auto Config工具?或从头开始实施?
朱华武
一个创造故事的人来告诉机器做东西。
 

在线的 伯尼

  • 超级贡献者
  • ***
  • 帖子:3442
  • 国家: SI.
RE:进入嵌入式固件角色的建议
« 回复#8开: 20020年1月8日,07:30:57»
id沿着线条调用linux开发"embedded software"而不是只需固件。

小微控制器之间的线路和仍然运行的芯片仍然持续的芯片仍然模糊了这些天。您可以使用双重精密浮点单元和一切,以400MHz运行的臂微控制器。但是,编程中的一个与任何其他更高级的16或32位MCU没有什么不同,它都运行C代码,驱动程序同样地工作......等,但这个刚刚用它的快速时钟更快地执行它。通常,它们在没有RTO或任何内容的情况下运行,只是C.如果知道如何编程16位照片,那么您可以在弄清楚新的供应商工具后才能编程400MHz ARM CORTECM7。

只要您的CPU系列是正式支持的,就像芯片上运行的Freertos一样,就像艰难的东西一样困难。您只需采用示例项目并修改它以编译确切芯片并完成。如果不支持它,那么您可以将冒险寄存到新的CPU系列中的冒险档案挖掘,在那里挖掘槽汇编程序代码,将诸如上下文中的低级内容切换到一个新的线程(但可以是真正低级的优秀练习直接触摸CPU寄存器的开发)。

但是当谈到Linux,这是一个全新的球比赛。但它分为两部分,低级内核工作和应用程序开发。这两者通常不是由同一个人完成的。低级家伙是让Linux实际靴子并拥有工作驱动程序,服务的人的那个人需要深入了解Linux如何工作,并不容易。但是,还有那些开发申请的人,这部分完全相反,他们不'关于硬件的任何了解。对于他们为汽车信息娱乐系统或PC应用程序的应用程序来说,它是相同的,他们只是以他们想要的任何编程语言编写它,操作系统确保它运行。所以它只是软件开发一般。

因此,如果您想要使用Linux开始,您所要做的就是安装您在PC(或在VM中)选择的Linux发行版,并开始写入软件。相同类型的OpenGL库用于做硬件加速图形是最新,最伟大的NVIDIA RTX 2080 TI Gaming卡或内置于手机SoC中的GPU。我将承认在全大型电脑上运行它并没有感觉很嵌入。但幸运的是,你可以让自己成为覆盆子pi sbc并在此工作。它运行Linux并具有相同类型的ARM SOC芯片,您将在大多数嵌入式Linux设备中找到。您还可以获得GPIO引脚,因此您可以直接介入硬件。因为覆盆子生态系统是如此流行意味着在线有很多信息如何做东西。
 
以下用户感谢此帖子: bug13

在线的 rstofer.

  • 超级贡献者
  • ***
  • 帖子:8064
  • 国家: 我们
RE:进入嵌入式固件角色的建议
« 回复#9: 1月08日,2020年,06:17:50 PM»
下一步: 得到一个手臂板,我会选择MBed LPC1768(因为我有一些),但任何STM32F板都应该工作。 实施freertos(它'可以欺骗并使用与其示例之一匹配的电路板)。 添加Fatfs(FAT文件系统)并通过文件系统工作。 鉴于控制台,您应该能够使用实时功能来实现类似的系统。
也许您使用DMA进行数据传输到SD卡。 显然,将有几个并发任务,您可以根据您的喜好添加尽可能多的任务。
现在轮到你'重新开始捕获嵌入式编程。 旋转位,RTOS,文件系统,控制台,中断,定时器,DMA - 所有这些东西。

FreeRTOS的东西,您是否意味着使用CubeIDE中的Auto Config工具?或从头开始实施?

无论哪种方式工作。 教育位是在添加任务,调度,优先级,队列,信号量和那种事物中。 一切都是一项任务,这一切都需要合作。 没有僵局,没有缺乏反应,没有丢失的数据等。

奇怪的是,主线代码可以作为最优先级运行。  This isn'当事情安排在一个时,它如何工作'superloop' design.

 
以下用户感谢此帖子: bug13


分享我

掘客  Facebook  诽谤  美味的  Technorati.  推特  谷歌  雅虎
SMF.