娱乐城白菜论坛

浅谈嵌入式Linux下的C语言编程知识要点

玩转单片机 ? 2019-01-28 11:32 ? 次阅读

基本开发环境

Linux和C语言有着很深的渊源,因为Linux本身就是用C语言编写的。同时,在Linux操作系统中也提供了C语言的开发环境。这些开发环境一般包括程序生成工具、程序调试工具、工程管理工具等。

??Linux下C语言开发环境

使用工具:程序生成工具GCC、程序调试工具GDB、工程管理工具为make和Makefile。

开发流程:使用编辑工具编写C语言源文件,然后编译生成机器代码为主的二进制可执行程序。

编译流程:C语言经过编译-汇编-链接,最终生成可执行程序格式。可执行程序包含两部分内容:程序头和程序主体。

程序的生成一般使用的是从x86到目标机的编译工具,程序的开发工具是运行于x86机器上的可执行程序,而是用开发工具生成的目标是以目标机器代码为实体的映像文件或者可执行程序,这个工程称为“交叉编译“。

和普通Linux环境下开发相比,更需要掌握一些几点:

库函数和系统调用

C语言高级应用

C语言在嵌入式中的特殊语法(大小端,内存对齐等)

资源性能考虑(运行效率与存储空间)

基本开发工具

文件编辑器vi

学习目标:

主要这个掌握VI三种模式的切换:命令模式、文本输入模式、和末行模式,以及VI编辑器的各种命令与操作。

学习VIM的使用,编辑vimrc文件,gedit ~./vimrc修改功能(比如显示行数、颜色加亮等)。

详细介绍:

vi是visual? editor的缩写,是UNIX提供给用户的一个窗口化编辑环境,在UNIX上被广泛使用的中英文编辑软件。进入vi,直接执行vi编辑程序即可。

例:vi? test.c或者?vim test.c。

显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。

vi提供三种工作模式:输入模式、命令模式和末行模式。

具体操作整理如下:

GCC程序开发工具

学习目标:

GCC能完成从C、C++、Objective-C等源文件向运行在特定CPU硬件上的目标代码的转换。对于通用计算机,一般使用GCC生成x86的可执行代码;对于嵌入式开发系统使用交叉编译的GCC,生成目标机可以运行的程序。

利用GCC/G++生成应用程序可以分为以下四步:

(1)预处理:生成.i文件(预处理器cpp)

(2)编译:将预处理后的文件转换为汇编语言,生成.s文件(编译器gcc)

(3)汇编:由汇编代码生成目标代码,即机器代码,生成.o文件(汇编器as)

(4) 链接:由各个文件的目标代码,生成可执行程序(链接器ld)

这里涉及到另外一个知识点就是静态链接库和动态链接库的生成。

详细介绍:

LINUX上可用的C编译器是GNU? C编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。

LINUX 上的GNU? C编译器(GCC)是一个全功能的ANSI? C兼容编译器,而一般UNIX(如SCO?UNIX)用的编译器是CC。下面介绍GCC和一些GCC编译器最常用的选项。

1.使用GCC

通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下:

gcc [options] [filenames]

命令行选项指定的编译过程中的具体操作

GCC有超过100个的编译选项可用,这些选项中的许多可能永远都不会用到,但一些主要的选项将会频繁使用。

当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a.out的可执行文件。例如,

gcc? test.c

编译成功后,当前目录下就产生了一个a.out文件。

也可用-o选项来为即将产生的可执行文件指定一个文件名来代替a.out。例如:

gcc? –o?count? count.c

此时得到的可执行文件就不再是a.out,而是count。

2.执行文件

格式: /可执行文件名

例: ./a.out

./count

Make工程管理工具

学习目标:

Makefile是一个决定怎样编译工程的文本文件,有一定的书写规则。在工程更新的时候,使用GNU的make工具根据当前的Makefile对工程进行有选择的编译。

自动生成Makefile的工具有autoconf、automake。其他的类似工具比如cMake等。

详细介绍:

1.make和Makefile的使用

make是一个Linux下的二进制程序,用来处理Makefile这种文本文件。在Linux的Shell 命令行键入make的时候,将自动寻找 名称为"Makefile"的文件作为编译文件,如果没有名称为"Makefile"的文件,将继续查找名称为"makefile"的文件。找到编译文件后,make工具将根据Makefile中的第一个目标自动寻找依赖关系,找出这个目标所需要的其他目标。如果所需要的目标也需要依赖其他的目标,make工具将一层层寻找直到找到最后一个目标为止。

make工具的使用格式为:

make[options] [target] ...

options为make工具的选项,target为Makefile中指定的目标。表5-1给出了make工具 的参数选项。

Make工具的参数选项如下表所示:

Makefile中常用变量如下表所示:

在Makefile中,目标名称的指定常常有以下惯例:

all:表示编译所有的内容,是执行make时默认的目标。

clean:表示清除目标。

distclean:表示清除所有的内容。

install:表示进行安装的内容

2.自动生成Makefile

在实际的项目中,由于 make规则的复杂性和不确定性,自己编写Makefile是一件费时费力的事情。Makefile本身具有一定的相似性,因此利用GNU autoconf及automake这两套工具可以协助我们自动产生 Makefile文件,并且让开发出来的软件可以像大多数源 代码包那样,只需运行命令"./configure"、 "make"、 "make install"就可以把程序安装到系 统中,对于各种源代码包的分发和兼容性具有很好的效果。

autoconf工具介绍

autoconf 是一个用于产生可以自动配置源代码包,生成Shell脚本的工具,它可以适应 各种类UNIX系统的需要。autoconf产生的配置脚本在运行时独立于autoconf,也就是说 使用这些脚本的用户不需要安装autoconf。

autoconf生成的配置脚本通常名称是configure,得到这个文件,通常需要以下的依赖文 件:

configure.in文件:生成configure的必需文件,需要手动编写。

aclocal.m4和acsite.m4文件:在编写了除autoconf提供的测试外的其他测试补充的时候, 才会用到这两个文件,也需要手动编写。

acconfig.h文件:如果使用了含有#define指令的头文件,则需要自行编写该文件,一般 都需要使用,这个时候会生成另外一个 config.h.in文件,这个文件需要和软件包一同发 布。

总之,在autoconf运行完毕后,得到两个需要和软件包同时发布的文件: configure和

config.h.in,当然config.h.in可以不存在。

automake工具介绍

automake是一个从文件Makefile.am自动生成Makefile.in的工具。每个Makefile.am基本 上是一系列 make的宏定义(make规则也会偶尔出现)。生成的 Makefile.in也服从GNU Makefile标准。

典型的 automake 输入文件是一系列简单的宏定义。处理所有相关的文件并创建 Makefile.in文件。在一个项目的每个目录中通常仅包含一个Makefile.am。

目前automake支持三种目录层次:平坦模式(flat)、混合模式(shallow)和深层模式 (deep)。

(1)平坦模式指的是所有文件都位于同一个目录中。就是所有源文件、头文件及其他库文件都位于当前目录中,且没有子目录。

(2)混合模式指的是主要的源代码都存储在顶层目录,其他各个部分则存储在子目录中。也就是主要源文件在当前目录中,而其他一些实现各部分功能的源文件位于各自不同的 目录。

(3)深层模式指的是所有源代码都被存储在子目录中;顶层目录主要包含配置信息。也就是所有源文件及程序员自己写的头文件都位于当前目录的一个子目录中,而当前目录 里没有任何源文件。

在这三种支持的目录层次中,平坦模式类型是最简单的,深层模式类型是最复杂的。但是 这些模式使用autoconf和automake所遵循的基本原则和流程是一样的。

其他工具介绍

(1)autoheader:能够产生供configure脚本使用的C #define语句模板文件。

(2)autom4te:对文件执行 GNU M4。

(3)autoreconf:如果有多个 autoconf产生的配置文件,autoreconf 可以保存一些相 似的工作,它通过重复运行 autoconf(以及在合适的地方运行 autoheader)以重新产生autoconf配置脚本和配置头模板,这些文件保存在以当前目录为根的目录树 中。

(4)autoscan:该程序可以用来为软件包创建configure.in文件。autoscan在以命令行 参数中指定的目录为根(如果未给定参数,则以当前目录为根)的目录树中检查源文件。 为软件包创建一个configure.scan文件,该文件就是configure.in的前身。

(5)autoupdate:该程序的作用是转换configure.in,从而使用新的宏名。

??GDB调试工具

学习目标:

在使用GDB之前,需要对源程序增加-g编译选项,此时编译出来的程序包含需要调试的信息,可以利用GDB进行调试。主要使用的命令是run(开始运行程序)、break(设置断点)、next(执行一行且不进入函数)、step(进入函数)、continue(继续程序运行)。

调试分为本地GDB调试和远程GDB调试,远程GDB更适合嵌入式系统的调试手段,使用个目标机端的GDB服务器和主机端的GDB调试器完成调试工作。

详细介绍:

LINUX包含了一个叫gdb的GNU调试程序。gdb是一个用来调试C和C++程序的强有力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。它具有以下一些功能:

? 监视程序中变量的值;

? 设置断点以使程序在指定的代码行上停止执行;

? 一行行的执行代码。

1.gdb基本命令

2.应用举例

(1)设有一源程序?greet.c

(2)编译,gcc? -ggdb –o?greet? greet.c,出错

(3)gdb?greet ,出现提示符

(gdb)

此时可在提示符下输入gdb的命令了,如:

(gdb) run

(gdb) list

(4)退出调试状态,返回系统提示符下,(gdb)quit

基本学习函数

C语言标准库函数

(1) 标准输入/输出类函数

scanf printf putchar getchar putc getc puts ungetc等。

(2) 字符处理及转换函数

isdigit isalpha sprint strncat stncpystrlen strchr strstr strrev memset memmove memcpy memcpy等。

(3) 数学计算类函数?

divacos/asin pow exp log ceil abs floor fmod等

(4) 数据结构和算法类函数

bsearch lfind lsearch qsort rand srand等

(5) 文件I/O操作类函数?

fopen fclose fgetc fputs fseek fwrite ffush等

(6) 时间日期类函数

clocktime gmttime mktime asctime 等

(7) 错误处理及工具函数

clearer feof perror errno assert setjmp longjmp等

Linux C中C语言的扩展库函数

(1) 文件I/O操作函数

open close read write lseek ioctl fcntl mmap dup create等

(2) 文件权限相关函数?

accesschown chmod utime umask link stat unlink等

(3) 用户操作函数

getgid/setgid getegid/setegid geteuid/seteuid 等

(4) 信号及进程类函数

killraise alarm signal getpid fork sleep exec _exit等

C语言高级编程

C语言运行过程中所使用的内存总体分为静态存储区和动态存储区两种。

静态存储区

C语言程序中静态数据存储区分为三类:只读存储器(RO)、已初始化读写数据区(RW Data)、未初始化读写存储器(BSS)。在程序运行初始化阶段开辟,在运行过程中不会变化(大小和位置固定),程序退出时被系统回收。

动态存储区

动态存储区分为堆和栈两类,在程序运行过程中动态分配(位置和大小动态变化),常见动态内存管理是栈内存从高地址向低地址分配,堆内存从低地址向高地址分配,一般来说堆使用链表实现,栈使用线性存储方式。

在C语言程序中,栈空间是由编译器管理的,在程序中可以体现栈空间使用的例子是参数的传递、返回值的使用以及自动变量空间。一般来说如果栈空间是从高地址向低地址增长的。

参数入栈的顺序是:后面的参数在高地址处、前面的参数在低地址处。

自动变量在栈空间,前面的变量放入栈的高地址,后面的自动变量放入栈的低地址。

在函数退出时函数栈上的内容将被释放。因此,自动变量的地址不可以作为函数返回值

在C语言中,堆内存区域的分配和释放是通过调用库函数完成的。

malloc、calloc、realloc、free4个库函数实现堆内存的分配、释放和管理。分配内存后要记得手动释放,否则其资源是不会被系统回收的,会造成内存泄漏。同时指针被释放后,指针应该被设置为NULL,避免野指针。

总的来说,栈内存是由编译器分配和释放,堆内存是由程序分配和释放。

函数指针的使用

函数指针是一个指向函数的指针(本质上是一个代码区的地址),而函数本身代表了算法,此时C语言的算法就可以通过指针的形式,像普通变量一样被使用。函数指针可以作为一个结构体的成员,也可也作为一个参数传递给其他的函数,同样也可以作为函数的返回值。

原文标题:干货||嵌入式Linux下的C编程知识要点总结

文章出处:【微信号:mcu168,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

一种基于嵌入式TCP/IP软件体系结构的优化设计和实现方案详解

随着计算机网络娱乐城白菜论坛和电子信息娱乐城白菜论坛的迅猛发展,Internet的普及,接入Internet的非PC设备....
发表于 02-16 11:24 ? 23次 阅读
一种基于嵌入式TCP/IP软件体系结构的优化设计和实现方案详解

嵌入式一体化的智能化产品在智能交通领域内的应用获得广泛认同

随着世界经济和我国经济的不断发展,交通运输越来越成为国民经济生活中的一个极其重要、不可缺少的因素,现....
发表于 02-16 11:12 ? 44次 阅读
嵌入式一体化的智能化产品在智能交通领域内的应用获得广泛认同

32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载

本文档的主要内容详细介绍的是32位单片机与嵌入式操作系统的测试复习题资料免费下载。
发表于 02-15 17:19 ? 39次 阅读
32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载

基于ARM11平台的智能火灾监测报警系统研究

随着我国城镇化建设进程的加快,城镇的火灾隐患越来越大,每年我国都因为火灾而造成巨大的经济损失。尽管目....
发表于 02-15 15:45 ? 47次 阅读
基于ARM11平台的智能火灾监测报警系统研究

随着成本的逐步降低 中国的智能家居最终将走向嵌入式

后PC时代的到来完全依赖于嵌入式娱乐城白菜论坛的诞生与发展,传统的IT设备逐渐转变为嵌入式设备,这是一个大趋势....
发表于 02-15 15:38 ? 84次 阅读
随着成本的逐步降低 中国的智能家居最终将走向嵌入式

Linux 中断编程分为中断顶半部,中断底半部 中断顶半部: 做紧急,耗时短的事情,同时还启动中断底半部。 中断底半部: 做耗时...
发表于 02-15 15:29 ? 190次 阅读

Linux进程管理:什么是进程?进程的生命周期

所有运行在Linux操作系统中的进程都被task_struct结构管理,该结构同时被叫作进程描述。一....
的头像 马哥Linux运维 发表于 02-15 14:29 ? 165次 阅读
Linux进程管理:什么是进程?进程的生命周期

了解虚拟内存和内存分页的概念

应用程序来说对物理内存地址一无所知。它只可能通过虚拟内存地址来进行数据读写。程序中表达的内存地址,也....
的头像 马哥Linux运维 发表于 02-15 14:19 ? 721次 阅读
了解虚拟内存和内存分页的概念

inux shell通配符、元字符、转义符最全使用攻略

加入”*” 都是作用在命令名直接。可以看到shell 元字符,基本是作用在命令上面,用作多命令分割(....
的头像 马哥Linux运维 发表于 02-15 14:10 ? 151次 阅读
inux shell通配符、元字符、转义符最全使用攻略

用这些开源游戏来挑战你的战略技能,探索新世界。

Freeciv 可以被视为是文明系列游戏的开源版本。游戏玩法和文明系列最早期的游戏十分类似,Free....
的头像 Linux爱好者 发表于 02-15 14:01 ? 143次 阅读
用这些开源游戏来挑战你的战略技能,探索新世界。

一种新的Linux系统后门已经开始肆虐

Check Point 表示 SpeakUp 可以在六种不同的 Linux 发行版甚至 macOS ....
的头像 Linux爱好者 发表于 02-15 13:59 ? 100次 阅读
一种新的Linux系统后门已经开始肆虐

Jack Wallen盘点他最爱的五款Linux音乐播放器

在所有我用过的音乐播放器中,Clementine 是目前为止功能最多也是最容易使用的。它同时也包含了....
的头像 Linux爱好者 发表于 02-15 13:56 ? 119次 阅读
Jack Wallen盘点他最爱的五款Linux音乐播放器

单片机与嵌入式的详细资料总结免费下载

本文档的主要内容详细介绍的是单片机与嵌入式的详细资料总结包括了:1.嵌入式系统概述,2.常用嵌入式平....
发表于 02-15 10:28 ? 31次 阅读
单片机与嵌入式的详细资料总结免费下载

位运算让嵌入式系统更快更稳定

本方法可以让C语言指令进一步接近汇编指令的执行效率,提高单片机、嵌入式系统的速度和稳定性,但编程时应....
的头像 嵌入式资讯精选 发表于 02-15 08:56 ? 102次 阅读
位运算让嵌入式系统更快更稳定

嵌入式产品的研发流程详解

当一个项目做完的时候,如果客户突然又增加需求,增加功能,将导致你的项目周期严重拖延,成本剧烈上升,并....
的头像 玩转单片机 发表于 02-14 15:42 ? 212次 阅读
嵌入式产品的研发流程详解

Linux 内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 和 kernel/timer.c ...
发表于 02-14 14:55 ? 217次 阅读

比较了一下6467的Linux内核(2.6.18)和6467t的Linux内核(2.6.32),发现6467T的内核不支持YAFFS2这种文件系统了,在make x...
发表于 02-14 12:52 ? 58次 阅读

EFM8BB1 8位微控制器的数据手册免费下载

EFM8BB1 是 Busy Bee 系列的 MCU,是一款小封装且功能全面的多用途 8-位微控制器....
发表于 02-14 08:00 ? 19次 阅读
EFM8BB1 8位微控制器的数据手册免费下载

芯片是STM32 107VC串口通了,但是打出的数据不对都是乱码,在windows和linux下看都是乱码。 调3天了还是不行,有谁有这...
发表于 02-14 07:14 ? 284次 阅读

精英版在 linux 下使用 wifi,需要进行下面的配置: 首先用户在拿到光盘资料以后查看下光盘里面的“linux”->”root_xxxxxxx...
发表于 02-14 06:35 ? 34次 阅读

MYD-C7Z010和MYD-C7Z020 Linux开发手册的详细资料说明

本文档的主要内容详细介绍的是MYD-C7Z010和MYD-C7Z020 Linux开发手册的详细资料....
发表于 02-13 17:49 ? 19次 阅读
MYD-C7Z010和MYD-C7Z020 Linux开发手册的详细资料说明

设计嵌入式系统硬件电路时需要考虑哪些问题

设计以MCU为核心的嵌入式系统硬件电路需要根据需求分析进行综合考虑,需要考虑的问题较多,这里给出几个....
的头像 玩转单片机 发表于 02-13 16:32 ? 190次 阅读
设计嵌入式系统硬件电路时需要考虑哪些问题

几种架构中代码压缩娱乐城白菜论坛的实现进行比较分析

对于嵌入式软件而言,代码尺寸是越小越好。压缩代码以适应受到成本或空间限制的存储子系统已经成为嵌入式系....
的头像 玩转单片机 发表于 02-13 16:28 ? 210次 阅读
几种架构中代码压缩娱乐城白菜论坛的实现进行比较分析

新型嵌入式开发套件可最大限度地缩短开发时间 提高人员的工作效率

虽然FPGA的传统用户是硬件设计者,但是赛灵思的新型嵌入式设计平台,使得软件开发人员也能够在熟悉的环....
发表于 02-13 16:07 ? 81次 阅读
新型嵌入式开发套件可最大限度地缩短开发时间 提高人员的工作效率

iVMS-4200监控软件的使用说明免费下载

软件iVMS-4200是为嵌入式网络监控设备开发的软件应用程序,适用于嵌入式网络硬盘录像机、混合型网....
发表于 02-13 08:00 ? 21次 阅读
iVMS-4200监控软件的使用说明免费下载

疯壳 Android嵌入式Linux系统开发全套教程 1、注意事项 2、整机资源简介 3、整机功能检测 4、实验教程 ...
发表于 02-12 16:20 ? 203次 阅读

阻塞:阻塞调用是指调用结果返回之前,当前进程程会被挂起(休眠)。函数只有在得到结果之后才会返回。默认情况下,文件都是以这...
发表于 02-12 16:08 ? 437次 阅读

嗨, 我正在开发嵌入式系统,包括液晶触摸屏,fpga板和sata硬盘。 问题是我应该选择哪种fpga板? 我将使用这个板使用microbla...
发表于 02-12 10:44 ? 51次 阅读

Python自动化运维娱乐城白菜论坛与最佳实践PDF可复制版电子书免费下载

市面上介绍互动的、面向对象的Python编程语言的书有很多,其强大而又灵活的特性,使其成为很多企图通....
发表于 02-12 08:00 ? 38次 阅读
Python自动化运维娱乐城白菜论坛与最佳实践PDF可复制版电子书免费下载

Hi3518A和Hi3518C和Hi3518E及Hi3516C Linux开发环境的用户指南

本文档介绍 Linux 开发环境。Linux 开发环境的搭建、HiBoot、Linux 内核、根文件....
发表于 02-12 08:00 ? 13次 阅读
Hi3518A和Hi3518C和Hi3518E及Hi3516C Linux开发环境的用户指南

盘点嵌入式娱乐城白菜论坛在物联网中的应用

随着IT娱乐城白菜论坛飞速发展,互联网已经进入了“物联网”时代。
的头像 嵌入式ARM 发表于 02-11 16:57 ? 504次 阅读
盘点嵌入式娱乐城白菜论坛在物联网中的应用

应用程序代码参考#include #include #include #include #include #include #include #include #include #include     ...
发表于 02-11 16:45 ? 449次 阅读

官方定义:根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监控或者辅助设备、机器和车间运行的装置”。...
发表于 02-11 10:07 ? 361次 阅读

100道Linux经常笔试的选择题含答案

本套笔试题共100题,每题1分,共100分。(参考答案在文章末尾) 1. cron 后台常驻程序 ....
的头像 嵌入式ARM 发表于 02-03 17:25 ? 330次 阅读
100道Linux经常笔试的选择题含答案

嵌入式LINUX的Qt开发入门教程

关于LINUX的Qt开发,你了解多少?它和ARM的GUI开发差别有多大?如果你还一头雾水,如果你想步....
的头像 周立功单片机 发表于 02-03 09:26 ? 201次 阅读
嵌入式LINUX的Qt开发入门教程

Linux内存组织结构和页面布局

linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定....
的头像 马哥Linux运维 发表于 02-03 09:02 ? 159次 阅读
Linux内存组织结构和页面布局

Linux系统上内存类型交换空间详解

学习如何修改你的系统上的交换空间的容量,以及你到底需要多大的交换空间。
的头像 Linux爱好者 发表于 02-02 17:31 ? 223次 阅读
Linux系统上内存类型交换空间详解

Linux中的35个find命令用法

Linux查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件....
的头像 马哥Linux运维 发表于 02-02 16:53 ? 99次 阅读
Linux中的35个find命令用法

如何用rcm 调取用户隐藏文件

 rcm 是一个 “rc” 文件管理套件(“rc” 是命名配置文件的另一种约定,它已被某些 GNU/....
发表于 02-01 09:26 ? 47次 阅读
如何用rcm 调取用户隐藏文件

Linux基金会宣布成立一个名为LF Edg 的小组

Open Glossary of Edge Computing :这是一个边缘计算术语参考文件,每一....
的头像 Linux爱好者 发表于 01-30 15:15 ? 909次 阅读
Linux基金会宣布成立一个名为LF Edg 的小组

如何使用ARM9芯片进行嵌入式工控机的设计

本课题以ARM9的嵌入式工控设计为主要内容和开发对象,目标是采用基于ARM9内核的ATMEL工业级嵌....
的头像 嵌入式ARM 发表于 01-29 15:53 ? 948次 阅读
如何使用ARM9芯片进行嵌入式工控机的设计

基础被问到的24道shell脚本面试题精心汇总

虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问....
的头像 马哥Linux运维 发表于 01-29 15:48 ? 441次 阅读
基础被问到的24道shell脚本面试题精心汇总

如何正确的设计嵌入式软件架构应该这么做

近公司新招了一个做嵌入式软件开发的同事,该同事是从上海的某一个上市公司出来的,因为我们这边人手不够,....
的头像 嵌入式ARM 发表于 01-29 15:45 ? 487次 阅读
如何正确的设计嵌入式软件架构应该这么做

windows下虚拟机配置spark集群最强攻略!

这里我们可以直接使用linux的命令下载jdk,当然也可以在本地下载之后传输到虚拟机中,这里我采用的....
发表于 01-29 10:58 ? 286次 阅读
windows下虚拟机配置spark集群最强攻略!

树莓派系列教程资料汇总免费下载

本文档的主要内容详细介绍的是树莓派系列教程资料汇总免费下载包括了:树莓派系列教程1:人生若只如初见,....
发表于 01-29 10:04 ? 192次 阅读
树莓派系列教程资料汇总免费下载

你会使用Linux 中的“!”惊叹用法吗

前言 实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用。本文就来细数那些“!”的神奇用法。
的头像 嵌入式资讯精选 发表于 01-29 09:08 ? 215次 阅读
你会使用Linux 中的“!”惊叹用法吗

面试Linux运维工作至少需要知道哪些知识运维的现状及发展前景分析

我们已经发过不少 Linux 面试题,但是单独的面试题总感觉会过于零碎,没有体系化内容给人的帮助大。
的头像 马哥Linux运维 发表于 01-27 11:58 ? 822次 阅读
面试Linux运维工作至少需要知道哪些知识运维的现状及发展前景分析

如何选择合适的MCU和电源让你的嵌入式电路设计更高效

1、MCU的选择选择 MCU 时要考虑 MCU 所能够完成的功能、MCU 的价格、功耗、供电电压、I....
的头像 玩转单片机 发表于 01-27 11:40 ? 950次 阅读
如何选择合适的MCU和电源让你的嵌入式电路设计更高效

首颗国产40纳米工业级嵌入式存储芯片开始小批量生产 并打入十多家厂商

政府性基金引路,社会资本跟进,江苏南通新一代信息娱乐城白菜论坛产业链“芯片设计”的“缺环”有望加快补齐。两个月....
发表于 01-27 11:10 ? 266次 阅读
首颗国产40纳米工业级嵌入式存储芯片开始小批量生产 并打入十多家厂商

eFPGA是什么?几个关于eFPGA的常见迷思

eFPGA,全称为嵌入式FPGA(Embedded FPGA),顾名思义是将类似于FPGA的可编程逻....
的头像 TechSugar 发表于 01-27 10:40 ? 673次 阅读
eFPGA是什么?几个关于eFPGA的常见迷思

Linux系统与服务管理工具Systemd被曝存在3大漏洞

3 个漏洞已经收录到 CVE,分别是内存损坏漏洞 CVE-2018-16864 与 CVE-2018....
的头像 Linux爱好者 发表于 01-25 16:51 ? 405次 阅读
Linux系统与服务管理工具Systemd被曝存在3大漏洞

嵌入式系统的发展将实现计算机的无处不在

以嵌入式计算机为核心的嵌入式系统(Embedded System)是继IT网络娱乐城白菜论坛之后,又一个新的技....
的头像 嵌入式ARM 发表于 01-25 11:17 ? 1087次 阅读
嵌入式系统的发展将实现计算机的无处不在

基于ARM处理器的嵌入式防火墙总体架构设计

进一步的工作包括继续优化其通信性能,或者在其基础之上扩展相关安全应用,包括身份认证系统、入侵检测系统....
的头像 嵌入式ARM 发表于 01-25 10:35 ? 778次 阅读
基于ARM处理器的嵌入式防火墙总体架构设计

MRAM的嵌入式和独立式存储器会开始分流

几乎所有的新兴存储器出道时都宣称与CMOS工艺兼容,意思是可以做逻辑工艺的嵌入式存储器。
的头像 DIGITIMES 发表于 01-25 10:06 ? 884次 阅读
MRAM的嵌入式和独立式存储器会开始分流

传闻中的英特尔新CEO们来一次大盘点

从苹果官网和一些网络资料来看,斯鲁吉拥有以色列理工学院的计算机科学学士和硕士学位。担任过以色列IBM....
的头像 TechSugar 发表于 01-23 17:00 ? 1253次 阅读
传闻中的英特尔新CEO们来一次大盘点

嵌入式PROFIBUS现场总线通信接口设计

接口板与用户模板采用串口连接,使用波特率选择开关可选择指定 的7种波特率(9600、19.2K、 3....
发表于 01-23 15:18 ? 127次 阅读
嵌入式PROFIBUS现场总线通信接口设计

莱迪思半导体推出的嵌入式视觉开发套件是一个模块化的平台

莱迪思半导体公司(NASDAQ: LSCC),客制化智能互连解决方案市场的领先供应商,宣布推出全新的....
发表于 01-23 14:41 ? 374次 阅读
莱迪思半导体推出的嵌入式视觉开发套件是一个模块化的平台

如何利用Python Remote objects娱乐城白菜论坛实现分布式对象应用系统

讨论了如何利用Python Remote objects娱乐城白菜论坛来设计与实现分布式对象应用系统!详细阐述....
发表于 01-22 15:54 ? 65次 阅读
如何利用Python Remote ob<x>jects娱乐城白菜论坛实现分布式对象应用系统

衡宇科技完成新一轮融资 潜心发展嵌入式NAND Flash控制芯片等

据悉,衡宇科技于2012年2月创立,可为用户提供应用于通讯、消费电子及数据处理行业的闪存主控芯片产品....
发表于 01-22 15:51 ? 245次 阅读
衡宇科技完成新一轮融资 潜心发展嵌入式NAND Flash控制芯片等

AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-25 11:51 ? 56次 阅读
AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)