做嵌入式软件的一般用什么软件写和看代码比较好?

我认为应该学习一下51和STM32,但是仅限于学习它的原理并了解它的应用,不用用来做太复杂的东西。利用51和STM32巩固自己的C基础、数据结构、计算机组成原理等基础。

阶段一

《The C Programming Language》【美】Brian W. Kernighan David M. Rithie;

《UNIX 环境高级编程》(没必要一口气看完当字典使也是不错的);

《UNIX 网络编程》(同上);

以上两本书重点:进程,线程,IPC以及基于socket的网络编程章节是重点,要掌握基于select/poll/epoll的高并发服务器模型;

看完这两本之后写一些小软件玩玩,天气预报,计算器(逆波兰),网络聊天室之类的,此外看一些开源库,推荐libevent(对于初学者来说难度很大,不过这不是不看的理由),以此强化C语言,加深对网络编程和线程相关概念的理解及应用。

阶段二

此时,题主可以买个STM32的开发板玩玩(基于库开发和寄存器开发都要会),一定要熟读datasheet以及STM32参考手册,这期间一定要将常见的接口与总线搞明白了,如:串口,IIC,SPI,CAN,以太网接口,SD和SDIO等,然后题主可以用其做一些小玩意,如:体温计,平衡车,小四轴等等;

一定要多动手,多练,多动手,多练,多读芯片datasheet,别做伸手党……

然后嵌一个uCOS或者FreeRTOS玩玩,了解一下这些轻量级操作系统的原理,网上有一些电子书籍,题主可以自行查找,推荐邵贝贝的书。

阶段三

这一阶段题主需要买一个ARM开发板了,可以选择ARM FPGA或者ARM DSP,题主可以自行上网了解一下具体买哪一个

这时需要的书籍如下:

《鸟哥的linux私房菜》(linux平台下的各种命令一定要熟烂于心啊);

《Linux与Unix Shell编程指南》(此书已绝版可以买二手,影印或者下电子版);

《ARM体系结构与编程》(杜春雷著,一定要配合UBOOT看);

《Linux设备驱动开发》(LDD);

《Linux设备驱动开发详解》(宋宝华);

《深入理解Linux内核》;

《Linux内核源代码情景分析》(毛德操著);

还有一些只要是编程就需要掌握的理论基础:

《算法导论》;

《数据结构与算法分析》;

《深入理解计算机系统》;

《操作系统:精髓与设计原理》;

《编译原理》;

为了扎实C语言还有如下不错的书:

《C和指针》;

《高质量C /C编程

39 赞 踩 13评论

分享
举报

谢邀!分为两部分回答,首先如果是单片机或者低端的ARM处理器芯片写裸机或者一些简单的嵌入式操作系统的代码,可以用IAR或者Keil,编写,编译,链接以及在线仿真单步调试都非常方便。

如果是linux下的嵌入式开发,可以用vim或者visual studio code进行开发,也可以用sourceinsight在windows下写完再拷贝到linux下编译。总之,sourceinsight还是非常不错的一款看代码和写代码的软件,结构非常明确,即使是一份陌生的代码,也能很快缕清头绪!希望可以帮到您!

展开全部

9 赞 踩 评论

分享
举报

浏览到这个问题,觉得自己确实有建议可以分享一下。前提是51、STM32、Nordic的电路设计算嵌入式设计。


1、写代码建议MDK

我最先使用的单片机是STC89C51单片机,刚开始接触的时候使用的汇编,后来发现改这个代码太麻烦,当然也是水平不足的原因。偶然间使用了C语言,然后用MDK编译一下,然后直接烧写到单片机就能跑起来。

当然爽呆了,别说汇编改写了,修改定时器的中断时间连所谓的寄存器都没好好看过,但是程序能跑就行。所以在入门的时候使用MDK写程序和编译最方便。

现在工作中使用比较多的是STM32,这个基于ARM的MCU使用起来比C8051核的51单片机确实复杂一些。就简单的使用一个GPIO的输出,就得设置时钟,设置频率,设置为输出,一大堆流程。

不过ST终究是一家有同情心的公司,人家提供了基于MDK的SDK呀,咱们调用初始化函数就OK。然后再照葫芦画瓢就能进行自己的设置了。而且,J-link的下载都在MDK中完成了,多舒服。


2、阅读代码可以选择Visual Studio Code

我是个菜鸟工程师,混日子的那种,所以在不会的时候会选择向论坛的大佬求救。比如使用Nordic的芯片时,需要驱动音频,驱动音频的方案不少,但是基本是基于STM32和ESP的。

大佬给的例子程序也是基于他们的,这里就有一个问题那就是IIS总线的使用还是有很大的区别。光是抄写已经不能解决问题,就需要自己根据datasheet和大佬的例子自己写代码了。

有一点大家都很清楚,既然是帮忙,总不能发给你一个完整的程序,自己编译就能用吧。能给一个c文件和h文件已经是慷慨了,这个时候自己看看代码,按照datasheet写点底层驱动时候就不用MDK了,一是已经使用MDK在编写程序了,二是咱们办公室的电脑配置也就那样,打开慢。

这个时候使用一款界面看起来舒服,支持文件编写的就行,按照这个需要可以考虑Visual Studio Code。哈哈,不要觉得这个软件只能看,人家也是有真本事的。

很多具有一定开源性质的项目就使用的这个,上次参加论坛的 GD32 DE mcu试用活动,因为编译需要安装了PlatformIO插件,是可以编译程序的。而且这里的程序构建,采用的是Makefile的形式。


就推荐这两款了,软件的使用见仁见智,最终还是得选择最适合自己操作习惯的那款。

(0)

相关推荐

  • 应届生求职的那些事

    前两天有一位读者朋友问我一个关于嵌入式就业的问题: 正好我离开学校的时间也还不算长,也还清晰地记得当时找工作的一些事情.同时,从自己这两年的工作中也得出了经验. 所以这里试着分享一下这个话题,希望可以 ...

  • 我的单片机转嵌入式Linux之路

    大家好,我是ZhengN.其实这是一篇大杂烩文,哈哈~ 好久没来扯谈了,今天是周末,我来简单分享我最近的情况及一些感想.经常看本公号的朋友应该有发现近几个月我写原创笔记的频率低了很多.原因有二:一方面 ...

  • 嵌入式相关开源项目、库、资料

    学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言.单片机.开源项目.物联网.操作系统.Linux等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库. ...

  • UC头条:[STM32单片机学习]第三课: 开发板介绍和编程环境搭建

    [朱老师课程总结 侵删] 第一部分.章节目录 第三部分.随堂记录 3.3.1.STM32开发板详细介绍 3.3.1.1.开发板整体介绍 (1)各种外设和主板原理图 之前在STC51中使用的外设,都可以 ...

  • 智能写作软件写匠,强在哪?(附最新演示视频)

    以下,一休也为你详细介绍下写匠的一些主要功能. 写匠是什么 写匠是一款结合人类智慧与机器智能的写作软件,由开智学堂自主研发. 一方面,它模仿伟大作家的写作习惯,提供了强大的智能卡片写作模式: 另一方面 ...

  • 做个聪明的新老人,写得真好(建议收藏)

    聪明的老人,不仅能把日子过得温馨幸福,还能在人生最后一个黄金时期,活出风采. 这样的老人,走到哪里都受人喜欢! 01 注重自己的容貌 俗话说:"相由心生",你的容貌反映了你对待生活 ...

  • 做数学题只有三个步骤:❶写数学作文→请不...

    做数学题只有三个步骤: ❶写数学作文→请不要光在脑海中去想,去分析数量关系,务必写出来!→所有的思维过程都是可以写出来的.→所谓的数学作文就是先写出题目涉及的数学公式,再用文字等式把已知数量套入公式得 ...

  • 可以做线上直播课的软件有哪些?

    近几年随着直播课堂的流行,市面上能实现直播教学的软件也是非常多,一般可以做线上直播课的软件有以下几种: 1. 免费的平台.这类平台几乎没有门槛,机构和老师都可以入驻,但一般只有单一的直播功能,机构和老 ...

  • 新电脑到手,该怎么做?(第四步软件篇)

    最近很多用户私信,新机到手,win10系统我该如何设置?新电脑win10开机如何操作?如何激活Windows系统?在哪里下载软件? Take it easy~请在开机前仔细阅读这篇文章,按照以下专业操 ...

  • 天机化权:让机器制造机器,让软件写软件

    去年,我写了一篇<前途无量的天机星>,没有看过的朋友,可以再看一看. 在文章的末尾处,我写到:天机在丙年化权,在丁年化科,是因为丙.丁可以解释为"天机生出来的东西",例 ...

  • Rotato:做3D样机,这款软件简单到爆

    前一段时间,有一个新的工具发布-Rotato,用它可以快速制作3D样机,就是封面的视觉效果.很早就知道了这款软件,但一直没用,尝试了一下发现:真的太强大了! 01.什么是样机 如果用一个词来解释[样机 ...

  • 要做新农人就要耕读游写,把话说清楚

    今年,我三弟回乡跟我一起种田,所以我有些闲功夫,在农活不太忙的时候,四处走了走,如是就写写,我把它叫做"耕读游写".去了江西娄哲称无为农场.湖北孝昌周国学厚朴天真农场.黑龙江双城史 ...

  • 新人成神第十九步:大神们用什么码字软件写...

    大神们用什么码字软件写小说 一.橙瓜码字 橙瓜码字是目前行业领先的码字软件,网络作家创作的首选必备神器,各种实用功能深受作家们喜欢,主要功能如下: 1.三端云同步:橙瓜码字在手机.电脑.平板上都可以使 ...