嵌入式工程师的开发环境(工作流程)

涉及的语言和框架: 语言:C/C++、Bash、Makefile、Cmake、Python。
框架:Yocto、Linux Kernel、U-Boot、Embedded Web(WebSocketspp、Asio)、Linux Initrd。

工具及开发任务场景: 代码编辑器:Vscode、NotePad++、Clion、Pycharm、VI。
代码调试工具:GDB。
辅助开发工具:Beyond Compare、Wireshark。

开发场景及软件: 内核驱动修改及内核适配:使用Vscode配合C/C++、DevKit、C/C++ GNUGlobal插件,Global插件用于内核源码索引。
Yocto框架修改适配:使用Yocto提供的Vscode插件,简化修改和适配过程。
自动化脚本开发:使用Shell-format和ShellCheck插件,配合CodeGeeX工具。
C/C++应用软件及服务开发:使用Cmake进行构建管理,Vscode的CMake插件提高开发效率。

工作流程: 需求分析:明确功能、性能、接口需求。
环境搭建:安装软件、配置编译器、调试器。
代码编写:遵循编码规范。
代码调试:使用GDB确保正确性和稳定性。
测试验证:编写测试用例,进行功能测试和性能测试。
代码优化:提高执行效率和可读性。
文档编写:编写开发文档和用户手册。

实操提醒: 保持环境更新,定期检查工具兼容性。

备忘录:安装WSL2和VSCode 搭建linux C++(CMake)开发环境

我最近就碰上了这个麻烦事儿。
那天,我正想更新一下我的Windows 1 1 系统,结果发现Microsoft Store怎么也登录不上,显示那个错误代码0x8 007 04 cf,真是气死我了。
本来还能正常上网,一看WIFI连接,还显示“无法连接到Internet”,这让我怀疑是不是电信那边出了问题。
后来,我试着连接手机热点,嘿,居然能连上了,看来是电信的问题。

然后呢,我又想装个WSL2 玩玩,上网查了查,按照那些步骤,在WindowsPowerShell里输入命令开启Linux子系统,还看了系统版本号,发现是WIN1 1 的内部版本2 02 6 2 在微软商店里挑了个Linux发行版,按照提示输入命令,结果发现我之前备份的/etc/apt/sources.list文件被替换了,我赶紧用清华大学的开源软件镜像站把那个文件改回来。

接下来,我在Windows文件资源管理器里打开WSL项目,发现我的磁盘挂载在“/mnt”下,还能在WIN中编辑源镜像文件。
在“/etc/wsl.conf”文件里禁用了WSL2 访问Windows的环境变量,但这让我无法在WSL端通过"code."打开VSC,有点头疼。

然后我又在Microsoft Store里安装了Windows Terminal和VSCode,设置Linux开发环境,用VisualStudioCode开始远程开发Linux系统。
还用了CMake来创建工程,设置编译工具,修改默认bulid路径,格式化源码为Google风格。

不过,最让我头大的是LinuxSSH登录过慢的问题,我得修改/etc/ssh/sshd_config配置文件,然后重启SSH服务。
这个过程真是把我整惨了,感觉像是趟过了一个又一个的坑。

唉,这坑太多,我就不一一细说了,总之,安装WSL2 和配置开发环境,真的是个技术活儿啊!

备忘录:安装WSL2和VSCode 搭建linux C++(CMake)开发环境

说白了,解决WindowsStore登录问题(错误代码0x8 007 04 cf)和“无法连接到Internet”提示,其实很简单。
先说最重要的,确认网络连接是否正常,比如通过手机热点连接互联网,然后切换回WIFI。
去年我们跑的那个项目,大概3 000量级,这个步骤就帮我们解决了网络连接的问题。

另外一点,安装WSL2 的步骤有点复杂。
首先,确保在WindowsPowerShell中开启了Linux子系统和虚拟机平台,这可以通过“更多Windows功能”设置完成。
我一开始也以为这很简单,后来发现不对,还得确认系统版本,比如WIN1 1 (内部版本2 02 6 2 )或WIN1 0(1 9 04 1 )。

还有个细节挺关键的,就是配置Ubuntu时,替换源列表为清华大学开源软件镜像站,这样可以加快下载速度。
在Windows资源管理器中访问WSL项目时,可以通过“explorer.exe”进行。
在"/etc/wsl.conf"中禁用WSL2 访问Windows环境变量,这个点很多人没注意,可能影响VSCode的使用。

最后,安装WindowsTerminal以替代默认终端,并在VSCode中使用快捷键安装扩展,如C++、CMakeTools等。
设置Linux开发环境时,参考VSCode的Linux子系统教程进行配置。
确保安装CMake(版本3 .2 7 以上)和必要的工具,如wget和SSL证书。

等等,还有个事,创建CMake工程时,使用VSC命令面板进行快速开始和工具选择。
解决LinuxSSH登录速度慢的问题,需要修改"/etc/ssh/sshd_config"配置并重启服务。

我觉得值得试试,如果你在设置过程中遇到任何问题,可以再仔细检查一下每个步骤。

到目前为止学习c语言用的开发环境、IDE、编译器

哎,说起这些C语言开发环境,我那会儿也是从菜鸟一步步过来的。
记得我大学的时候,第一次接触C语言,那会儿用的就是VC6 .0,那界面啊,简洁得不行,操作起来挺顺手的。
我记得那时候写了个小游戏,就是用那个环境,感觉还不错。

后来啊,为了学点新的东西,我就换了Dev-C++,那玩意儿轻巧,启动特别快,写个简单的程序挺方便的。
不过,说实话,界面有点老旧,调试功能也不咋地,后来我就转向了Code::Blocks,这玩意儿界面挺灵活的,可以自己调整,而且代码补全挺不错。

再后来,为了参加比赛,我用NetBeans试过,这IDE功能挺全的,不仅能写C语言,还能写Java,不过那会儿主要用C语言,配置起来有点麻烦,而且资源占用挺高的。

至于VS2 005 ,那玩意儿我也有用过,功能确实强大,调试工具很牛,但是那安装包大得吓人,对硬件要求也高,我那台老电脑根本带不动,用起来还挺卡的。

Linux下那Vim和GCC/G++组合,这俩我也有试过,Vim这编辑器,功能强大,但学习曲线挺陡峭的,我得花不少时间才慢慢上手。
那GCC/G++编译器,跨平台编译是挺方便的,但得记不少命令和快捷键。

所以说啊,这选开发环境啊,还得看个人需求。
初学者的话,Dev-C++或者Code::Blocks挺不错的;想深入Windows开发,VS系列挺适合;多语言混搭或者比赛的话,NetBeans也还行;Linux用户嘛,Vim+GCC/G++是个不错的选择。
关键是要根据自己的操作系统、项目需求和习惯来选,别让工具复杂度影响了学习进度。
嘿,这事儿,我可是亲身经历过的。