Linux上的电子设计

网友投稿 2018-12-22 17:45

介绍

使用Windows可以轻松满足您的设计需求,因为您可以访问从仿真到IDE,部件占位面积生成器和完整的原理图捕获/ PCB布局工具等各种选项。然而,您可能会发现使用Linux - 无论是因为成本低/不存在,系统稳定性,还是因为您是免费和开源软件(FOSS)的忠实粉丝 - 更具吸引力。本文旨在使开关看起来不那么令人生畏,并让您扎实地掌握移动时可以使用的内容。让我们开始概述一些可用的工具。如果其中一些看起来不熟悉,那么本文后面会有一个非常简短的基于Ubuntu的命令行教程,或者你可以在这里找到一个完整的命令行教程。

编译器

为特定的微控制器架构编译代码不会让你在Linux上有很多选择,但你拥有的选项很好。如果您在Windows上使用过Cygwin,它们的终端界面可能看起来很熟悉:

1. gcc:作为GNU工具链的一部分,gcc是你编译x86,ARM(包gcc-arm-linux-gnueabi和binutils-arm-linux-gnueabi)以及Atmel micros(包含工具链)的首选。三个主要包:avr-gcc,avr-libc和avrdude)。这非常受欢迎并且有详细记录,使其易于从命令行使用。您将在下面看到avrdude手册页的屏幕截图。GDB(GNU调试器)还支持AVR和ARM微控制器,它们为您提供了一种调试代码的方法,因为您没有Windows上常见的许多IDE。

2. sdcc:对于命令行PIC开发,有小型设备C编译器,它与PIC以及其他架构(如Intel-8051和STMicroelectronics STM8)配合使用。然而,PIC确实有几个IDE选项,我们将在下一节中看到。

3. mbed:如果你使用的是受支持的ARM微处理器之一,那么这个网站仍然是一个不错的选择(只要你对基于浏览器的环境没问题) 

https://cdn.china-scratch.com/timg/181224/1J55HL5-0.jpg

文本编辑器和IDE

在这里你会发现自己几乎被选项所淹没,而且还有很多可以在这里列出的。虽然您无法访问流行的嵌入式IDE,如AVR Studio或IAR Embedded Workbench,但前面提到的gcc和sdcc套件为您提供了替换它们的调试工具,您可以自由地使用各种编辑器来编写代码。你需要:

1. vi,nano和emacs:这三个文本编辑器有很长的历史,大多数开发人员对哪个是最好的有不同的看法,但实际上它取决于你喜欢的更多功能。Vi(也称为Vim或Vi IMproved)通常对新用户更加恐吓,但它确保安装在几乎任何Unix或类Unix系统上。稍后我们将在终端概述中使用nano。

2. gedit,atom,sublime:这些只是许多图形文本编辑器选项中的一小部分(存在一个名为gVim的基于GUI的Vim编辑器)。在这三个中,只有gedit预先安装在Ubuntu上,但它可以说是最流行的文本编辑器之一。如果您对命令行编辑器感到不舒服,在使用GNU工具链编写和调试之前,您可能会发现自己正在使用其中一个。

3. Eclipse,mbeddr,MPLab,Piklab,Code :: Blocks,Arduino IDE :如前所述,您不会找到适用于Linux的IAR Embedded Workbench或AVR Studio版本,但您可以配置其他IDE以使用您想要的工具链来实现项目。MPLab和Piklab也可作为基于PIC的设计的选项,后者被认为更轻,功能更强。FreeRTOS网站有一个较旧但仍然有用的方法,可以将Eclipse与FreeRTOS结合使用,包括在IDE内部使用微控制器编程工具的部分。

模拟

这是另一个有很多选择的区域。最好的部分是,即使您对自己的编码不感兴趣,也可以在Ubuntu软件中心使用其中的一些(以及上面提到的Arduino IDE):

1. ngspice,Qucs和LTSpice:为模拟模拟电路行为,有几种选择,如ngspice可用,但它们通过命令行(列出节点和组件描述)或通过GUI执行相同的操作。但是,如果您愿意使用Wine兼容性软件,则可以非常轻松地运行LTSpice IV,从而可以轻松访问其中一个更好的模拟工具。Qucs是一个有趣的工具,仍在开发中,并拥有许多功能,包括用于数字模拟的VHDL和Verilog。您可以查看GitHub 页面以获取更多信息。

2. Logisim,gLogic和kLogic(KDE版本):在Ubuntu软件中心提供,这两个图形程序可用于模拟数字电路。任何一个都是上述模拟器之一的良好补充。

3. Simulavr和avrsim:如果您使用Atmel微控制器,这两个非常方便。后者特别酷,因为你可以使用它来构建更完整的模拟,测试你的代码来运行像LCD计数器这样的东西。你可以在这里查看项目。

4. Ksimus: 这是另一个具有数字和模拟功能的模拟器,虽然它似乎更倾向于前者。该网站目前已关闭,但您仍可以在SourceForge上下载。

5. Icarus Verilog 和  Verilator:  Icarus Verilog是一个完全免费的Verilog实现,包括用于模拟的编译器和虚拟机,以及一些有用的插件。Verilator是一款Verilog HDL模拟器,其声名鹊起的是速度,专注于合成。它不是要取代商业模拟器,但如果你想要一个可以为C ++和SystemC生成高度优化的代码的模拟器,它非常有用。看看这里。

原理图捕获和PCB设计

基于Linux的原理图捕获和PCB设计的选择并不像软件开发那么多。以下是一些替代方案:

1. EAGLE和Upverter: CadSoft的EAGLE产品可在Linux上使用,如果您正在寻找由大公司支持的软件,那么这是您唯一的选择之一。Upverter更新,具有出色的界面,并且基于浏览器,但如果您使用社区(免费)版本,许可证禁止您的设计商业化。

2. gEDA和Fritzing: gEDA是为了解决缺乏免费PCB设计选项而开发的。它经常与KiCAD进行比较,并提供一套类似的基本设计工具。Fritzing被覆盖在我们的网站之前,并包括一个面包板方面你不经常看其他地方。

3. KiCAD:这个设计套件过去因为没有准备好生产而受到批评,但是自从CERN最近开始开发它以来,它得到了极大的改进,并且具有各种出色的新功能和错误修复。本文的下一部分将介绍KiCAD的基本用法。

这部分概述涵盖了它。现在,我们将简要介绍如何使用Ubuntu 15.04,并准备在系统上设置和安装KiCAD。

为什么选择Ubuntu?

不乏拥有自己的应用程序套件,软件包管理器,桌面环境和目标市场的Linux变种 - 而且Ubuntu的Unity界面已经得到了混合响应 - 那么为什么要使用Ubuntu呢?原因如下:

1.  它很容易上手和安装(实时USB安装方法特别容易使用,可以帮助您避免对硬盘驱动器分区做出令人讨厌的事情)

2. 它使您可以快速访问终端(Linux等效于Windows命令提示符)

3. Ubuntu软件中心(一个免费的应用程序,提供用于安装软件的GUI)

4. 它是那里最受欢迎的发行版之一,这意味着可以通过快速网络搜索获得各种支持

Ubuntu 下载页面包含设置和安装USB或DVD所需的所有信息,因此我们不会介绍。相反,让我们简单地谈谈你将看到的桌面,以及一些简单的命令,这样你就可以开始使用你需要做的编程或设计。

Ubuntu终端

您将在下面看到您登录后Ubuntu桌面的截图: 

https://cdn.china-scratch.com/timg/181224/1J55I423-1.jpg

您可以单击左上角的Ubuntu徽标按钮,在系统(和Amazon)中搜索不同的程序和文件,或者使用其他程序直接启动它们。而不是这样做,按CTRL + ALT + T,你应该看到这样的东西,但你的帐户名称代替我的:

https://cdn.china-scratch.com/timg/181224/1J55GS7-2.jpg

命令

这是你在Ubuntu上经常使用的界面。如果您不熟悉通过终端和/或命令行工作,请将其视为以纯文本方式查看系统; 您不必单击图标,而是通常必须键入程序的名称,然后可能会显示选项(稍后我们会看到更多内容)。有很多命令和程序,还有很多很好的教程,所以我将简要介绍一下导航系统所需的工具。以下是您需要立即开始使用的内容:

1. 人或信息

2. LS

3. 光盘

4. PWD

5. MV

6. R M

7. 纳米

8. apt-get

9. 容易缓存

10. CHMOD

在弄清楚所有事情的作用时,第一个条目非常有用。使用man或info后跟命令或程序的名称(在列表中的其他人上尝试,或者输入“man firefox”,甚至“man man”)为您提供程序的文档,包括预期用途,可用选项,作者等。这也包括C库调用之类的东西,这意味着你有一个你可能会发现自己使用的代码的参考。

请注意,名称区分大小写。命令ls,cd和pwd是您的常规导航工具 - “ls”列出您当前所在目录的内容,而“cd”后跟目录名称将您移动到该目录中,“pwd”打印出完整的您所在目录的文件名。打开终端时开始的目录是主目录(在文件浏览器中标有您的帐户名)。移动到系统的不同部分(“cd ..”在目录中向上移动;“cd”移动到目录中)。您可能会发现mv和rm不太直接有用,因为它们允许您移动和删除文件,对于空目录)。我将在文章的最后介绍nano,apt-get,apt-cache和chmod。

你会看到使用“ls”,“pwd”,“cd”和“man”的例子,以及下面的终端输出,以及C函数“snprintf”的手动输出(你可以打开)再次按CTRL + ALT + T,终端的多个实例):  

https://cdn.china-scratch.com/timg/181224/1J55K352-3.jpg

继续,“nano”是Ubuntu上可用的许多简单文本编辑器之一,也是你将在这里使用的编辑器。就像我上面所说的,你可以使用“man nano”来阅读该程序的文档。下面是一个终端窗口,显示在名为“test.c”的新文件中打开nano。为了做到这一点,只需输入“nano test.c”(通过键入“cd”,不带参数,确保你在主目录中)。在屏幕截图后下载代码,或者在nano中编写自己的简短Hello World-esque程序,然后按CTRL + X. 系统会提示您确认。 

https://cdn.china-scratch.com/timg/181224/1J55S547-4.jpg

用nano关闭文件后,你会发现自己回到了提示符。如果您现在键入以下命令,您将调用编译器gcc从您的代码创建一个名为“test”的可执行文件: 

                    gcc test.c -o test                  

可执行文件将在默认颜色方案中显示亮绿色。最后,输入“./test”,你应该运行程序。以这种方式运行可执行文件或脚本时,必须在文件名前输入“./”(您只是告诉系统在当前目录中运行名为“test”的程序(由单个句点表示)。一切顺利,你会看到类似下图的东西: 

https://cdn.china-scratch.com/timg/181224/1J55T638-5.jpg

这就是关于使用终端的准系统。但是apt-cache,apt-get和chmod怎么样?事实证明,如果您打算继续学习KiCAD教程,“chmod”可能是三者中最直接有用的。通过键入在文件上使用它,例如,“chmod test”将告诉您缺少操作数。使用“chmod -x test”或“chmod + x test”之类的东西将删除或添加其可执行状态。您需要启用大多数脚本的执行才能像运行“test”程序一样运行它们(并且在KiCad简介中需要它)。

最后,“apt-cache”和“apt-get”是您搜索和安装为您提供更多库和工具的包的一种方式。例如,键入“apt-cache search avr”将为您提供系统可以访问的所有可用软件包的列表。如果您在列表中看到“gcc-avr”,然后键入“sudo apt-get install gcc-avr”,系统将提示您输入密码(在命令行中不会显示),然后是系统会为您下载并安装该软件包。如果您决定使用本文前面提到的任何编译器,您会发现这很重要。如果你想知道“sudo”是什么意思,它代表“超级用户做”

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com