做嵌入式软件的一般用什么软件写和看代码比较好?
我认为应该学习一下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编程
谢邀!分为两部分回答,首先如果是单片机或者低端的ARM处理器芯片写裸机或者一些简单的嵌入式操作系统的代码,可以用IAR或者Keil,编写,编译,链接以及在线仿真单步调试都非常方便。
如果是linux下的嵌入式开发,可以用vim或者visual studio code进行开发,也可以用sourceinsight在windows下写完再拷贝到linux下编译。总之,sourceinsight还是非常不错的一款看代码和写代码的软件,结构非常明确,即使是一份陌生的代码,也能很快缕清头绪!希望可以帮到您!
展开全部
浏览到这个问题,觉得自己确实有建议可以分享一下。前提是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的形式。
就推荐这两款了,软件的使用见仁见智,最终还是得选择最适合自己操作习惯的那款。