有读者问,嵌入式开发一般要用到哪些软件工具,今天就抽空为大家整理一些常用的软件工具,希望对大家有帮助。
集成开发环境(IDE)
嵌入式软件工程师基本都会接触几款集成开发环境(IDE),当然,也有很多工程师自己搭建编辑器、编译器、调试器开发环境的,下面罗列几个常用的IDE。
1.Keil
Keil主要针对市面MCU绝大部分MCU,从8位到32位的一款IDE,可以参看我的《Keil系列教程》中关于Keil的发展历史以及相关介绍。
网址:
http://www.keil.com
(公号不支持外链接,请复制链接到浏览器打开)
Keil针对不同厂家、类型的MCU,进行了划分,目前有4种工具:Keil C51、 C166、 C251、MDK-ARM。
可以关注公众号『strongerHuang』,在后台回复关键字「Keil系列教程」查看更多内容。
2.IAR
和上面Keil类似,IAR同样针对市面上绝大部分MCU,有很多功能基本两者都有,也是嵌入式软件工程师常用的一款工具。
网址:
http://www.iar.com
IAR同样有很多种工具,所以就有:EWxxx,比如:EWARM、EW430等多种不同IDE工具
(不同工具)。
当然,称呼有很多,另外一种:IAR for xxx。比如:IAR for ARM、 IAR for STM8等。
可以关注公众号『strongerHuang』,在后台回复关键字「IAR系列教程」查看更多内容。
3.VS
VS:Microsoft Visual Studio简称,是美国微软公司的开发工具包系列产品。
网址:
https://visualstudio.microsoft.com
很多读者应该知道,并学习过VC++6.0,这个工具在之前算是一个众人皆知的工具。VS也是在它的基础上发展而来。
VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具。
4.Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
网址:
https://www.eclipse.org
目前,很多开发工具都是基于Eclipse修改而来,比如很多开发STM32的朋友都知道STM32CubeIDE这款工具,你会发现,是不是很多功能和Eclipse一样。
包括前几年很火的安卓开发也是基于Eclipse进行开发。
以上是一些常用、通用的集成开发工具,如果你没有学习过,可以了解一下。
更多IDE,可以参看我的文章:嵌入式工具 | 单片机常用集成开发环境有哪些?
软件版本控制工具
一般稍微大一点的公司都会使用一些版本控制软件对公司的代码进行管理。
下面推荐两个常见的工具。
1.Git
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。
网址:
https://git-scm.com
Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如Subversion,CVS,Perforce和ClearCase之类的SCM工具,并且具有本地分支,方便的暂存区域和 多个工作流等功能。
Git 应该是目前使用最广泛的工具之一,我之前公司也用Git搭建服务器,进行代码管理,操作也比较简单。
2.SVN
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
网址:
https://tortoisesvn.net
在Git之前,SVN算是最为流行的代码管理工具,现在同样有很多公司都在使用这个工具,学习教程网上很多,同样也值得大家学习和了解。
代码阅读和编辑工具
一个好的代码 阅读和编辑工具有助于提高开发效率。
1.source insight
Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。
网址:
https://www.sourceinsight.com
(公号不支持外链接,请复制链接到浏览器打开)
Source Insight这个工具,相信绝大部分嵌入式工程师都知道,难度也不大,网上教程很多。不过,缺点就是收费,不能明目张胆的用。
2.VS Code
VS Code :Visual Studio Code,是微软一款真正的跨平台编辑器。
网址:
https://code.visualstudio.com
相比Source Insight而言,VS Code算是 后起之秀,在2015年才发布。
发布也是受到众多软件工程师的青睐。确实,用时间证明了一些,VS Code不仅功能强大,而且还免费。
3.notepad++
Notepad++是Winows操作系统下的一套文本编辑器,有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。
网址:
https://notepad-plus-plus.org
这个工具应该是众多工程师都改拥有的文本编辑器。
但是这个软件作者自己作死,
zz倾向有问题!建议使用Notepad–
参考下面这个文章:
《 Notepad++作死,国产文本编辑器Notepad–发布》
文件(代码)对比工具
我们作为软件开发,主要是最对代码对比,比如修改代码之后,会对比修改了那些代码。
1.Beyond Compare
Beyond Compare是一套由Scooter Software推出的文件比较工具。主要用途是对比两个文件夹或者文件,并将差异以颜色标示。比较范围包括目录,文档内容等。
网址:
http://www.scootersoftware.com
这个工具是国外的一款比较好用的工具,唯一缺点就是收费,国内有代理。
有免费试用时间,如果想免费是使用,自己想办法。
2.Code Compare
Code Compare同样也是一款代码比较工具,支持文件和文件夹比较、合并等功能。
网址:
https://www.devart.com/codecompare/download.html
(公号不支持外链接,请复制链接到浏览器下载)
它支持集成在源代码版本控制工具中,如:SVN、 Git、 TFS、Mercurial和Perforce等这些版本控制工具。同时,Code Compare支持集成Visual Studio 2015、 2017、 2019等开发环境中。
更多代码比较工具,可以参看文章:嵌入式工具 | 软件工程师常用的代码比较工具
项目进度管理工具
一般项目经理,或者项目负责人基本需要掌握一些项目管理的工具。
1.Microsoft project
Microsoft Project(或MSP)是由微软开发销售的项目管理软件程序。软件设计目的在于协助项目经理发展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。
网址:
https://products.office.com/zh-cn/previous-versions/microsoft-project-2010
(公号不支持外链接,请复制链接到浏览器打开)
这个工具建议做项目经理、产品经理都应该去了解和学习一下。
先介绍这么多,后面有机会再给大家介绍一些常用工具。当然,不是要大家花大量时间去掌握工具,先了解一个大概,用到时再花时间学习。
end
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取