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

ミ傀ヤ儡丶


我认为应该学习一下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编程





桥的那边


vim和vscode都不错。免费,跨平台。


键盘上的信仰


source insight,就是要搜一下破解


分享到:


相關文章: