PLC是嵌入式系统吗?【转】】的更多相关文章

PLC是嵌入式系统吗? 一.PLC即Programmable Logic Controller,可编程逻辑控制器 单片机又名MCU即microprocessor control unit,微处理机控制单元 PLC系统可能包括单片机,是单片机应用系统的一个特例,两者的关系可能想成包含的关系,PLC主要用于工控,而单片机用途更为广泛. 而嵌入式系统从广义上讲凡是以应用为中心,软硬件可裁减的的控制系统都可以叫做嵌入式系统,它包括的范围更为广阔,他包括PLC和单片机,不过现代人很多把嵌入式理解为嵌入式操…
硬件资料: 操作系统:(非虚拟机) zws@z-pc:~$ lsb_release -aNo LSB modules are available.Distributor ID: Ubuntu Description: Ubuntu LTS Release: 14.04 Codename: trusty 内核版本: zws@z-pc:~$ uname -a Linux z-pc --generic #~-Ubuntu SMP Tue Sep :: UTC x86_64 x86_64 x86_64…
近日,华清远见公开宣布:2014嵌入式系统 (Linux&Android)开发就业培训课程再次升级!据悉,华清远见如今已经持续10年,一直保持课程每年2次的更新的频率.华清远见的每 次课程更新都能够带给行业一些新的思路和方向,这次也不例外.通过知情人,我们了解到华清远见此次针对嵌入式培训和Anrdoid培训两个方向均有重大变 革. 首先,华清远见嵌入式系统 (Linux&Android)开发就业培训课程升级后主课程中全面采用自主研发的Cortex-A9 四核ARM硬件平台.这也是目前在嵌入…
阴沟翻船,马失前蹄,说明凡事皆有可能.自然,程序设计的再好,也会有crash的时候.开发期还还说,正式交付的系统crash自然更是难以承受的.无论何时,死一次就够了,得有方法查个水落石出. 几年前哥去广州的一家民企呆过些日子.刚到那,就碰上系统毫无线索的crash.咋办?哥想静下心来,花点时间做个工具去定位,但无奈硬件出生的领导天天赶着大家守在机房.唉,无知啊,天天守在机房,面对crash,哥想到的只有我儿子常常念的诗--来如春梦不多时,去如朝霞无觅处.嗯,crash,哥只能数数又crash了几…
嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核锁? Linux的内核锁主要是自旋锁和信号量. 自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新可用.要是锁未被争用,请求它的执行线程便能立刻得到它并且继续进行.自旋锁可以在任何时刻防止多于一个的执行…
基于s5pv210嵌入式系统busybox文件系统移植 1.下载源码 busybox.net/downloads下载最新版的busybox源码,最新源码为1.21.1 2.解压源码文件 tar xvf busybox-1.21.1.tar.bz2 3.进入busybox cd busybox-1.21.1 4.阅读README文件,查看编译步骤 重点阅读上面一段 5.配置源码 make menuconfig 修改编译工具为交叉编译工具 Busybox Settings ---> Build Op…
一. Linux嵌入式系统 操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口.它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合适的操作环境.嵌入式系统由于硬件的先天限制,经常只具有极稀少的硬件资源,如 时脉较少的 CPU.较少的内存.常不具有磁盘而用小容量的DiskOnChip或DiskOnModule.而在使用电池的系统中,它还要实现节省电池消耗,延长电池使用时间的功能. Linux 作为嵌入式操作系统是完全可行的,因为…
本文转载自:http://blog.csdn.net/xteda/article/details/6575278 (作者 冯青华 信庭嵌入式工作室(www.xteda.com)- CEO Blog:http://blog.csdn.net/fqheda )                                 <转载请注名来路> Technorati 标签: GUI 模块介绍 --------------------------------------------我是分割线-----…
-----------------本文转载自 http://blog.csdn.net/xteda/article/details/39708009 ---------------------------- Technorati 标签: nginx ARM (作者 冯青华  信庭嵌入式工作室(www.xteda.com)- CEO Blog:http://blog.csdn.net/fqheda )                                 <转载请注名来路> 本文作为老…
转载:http://www.ibm.com/developerworks/cn/linux/l-btloader/index.html   1. 引言 在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行.一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序.包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分. 2. Linux 内核.特定于嵌入式板子的定制内核以及内核的启动参数. 3. 文件系统.包…
在嵌入式系统中,定时任务通过crond和cronttab两个系统命令来联合执行. 其中crond是定时任务的守护进程,系统开始时是没有开启的.crontab主要作用是管理用户的crontab files. crontab - maintain cron-tab files for individual userscrond - daemon to execute scheduled commands 在编制busybox系统的时候,由于/var路径的容量实在是太小了,没有办法开始寻找其他的路径作…
使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法.对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法. 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法: #define MIN(A,B) ( A <= B ? A : B ) 正确做法: #define MIN(A,B) ((A)<= (B) ? (A) : (B) ) 对于宏,我们需要知道三点: (1)宏定义"像"函数: (2)宏定义不是函数,因而需要括上所…
汉字处理 现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能.例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能:一个提供汉字显示功能的空调的LCD上不需要显示一条"短消息",诸如此类.但是一部手机.小灵通则通常需要包括较完整的汉字库. 如果包括的汉字库较完整,那么,由内码计算出汉字字模在库中的偏移是十分简单的:汉字库是按照区位的顺序排列的,前一个字节为该汉字的区号,后一个字节为该字的位号.每一个…
数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力.在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力.以指针直接操作内存多发生在如下几种情况: (1) 某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄存器对应于某特定地址: (2) 两个CPU之间以双端口RAM通信,CPU需要在双端口RAM的特定单元(称为mail box)书写内容以在对方CPU产生中断:…
模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求.C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化程序设计需理解如下概念: (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明: (2) 某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明: (3) 模块内的函数和全局变…
不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力.无疑,汇编语言具备这样的特质.但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择.而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择.笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉醉于C语言给嵌入式开发带来的便利. 图1给出了本文的讨论所基于的硬件平台,实际上,这也是大多数嵌入式系统的硬件平台.它包括两部分: (…
嵌入式系统烧写uboot/bootloader/kernel的一般方法   本文介绍了在嵌入式系统中烧写uboot/bootloader/kernel 的一般方法,以及如果uboot或者内核出现错误,  www.2cto.com   引导失败等情况时如何重新烧写uboot/kernel.   烧写uboot/kernel的方式一般有两种,一种是在linux本身(shell中),直接将uboot/kernel的影像文件(二进制文件)使用操作烧写flash的命令烧写到flash特定分区上,   另一…
http://www.tinylab.org/using-qemu-simulation-inserts-the-type-system-to-produce-the-whole-process/ 利用qemu模拟嵌入式系统制作全过程 by Pingbo Wen of TinyLab.org 2013/08/31 这篇文章,将介绍如何用qemu来搭建一个基于ARM的嵌入式linux系统.通过该文章,你可以学习到如何配置kernel,如何交叉编译 kernel,如何配置busybox并编译,如何制…
基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念.软件设计的主要任务以及结构框架等内容.…
目录 一. 嵌入式体系结构 二. 开发过程中的分工 三. 嵌入式软件体系结构 四. 嵌入式Linux 一. 嵌入式体系结构 <嵌入式系统设计师教程>这本书的前三章脉络很清晰, 按照嵌入式系统结构从下往上, 从底层的硬件, 电路, 到上层的系统, 应用, 逐层展开介绍. 书的后三章是在掌握好前面的基础后, 对于应用开发, 软件工程等宏观上的指导. 我根据前三章的结构画出了图1.1的嵌入式系统结构图, 系统分层结构一目了然. 第三层多出来的Linux和四大块, 后面再介绍. 图1.1 二. 开发过…
大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh. 上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统. 记得刚开始做课程设计的时候,听说先设计画出原理图,然后制作PCB板,再交付制板商制板,购买原件,焊接原件,通电,下载程序,最后调试运行,书写课程设计论文. 瓦特?我们嵌入式系统课上学习了ARM架构,只记得理论特高深,记忆深的是先给STM32开发板上Linux操作系统,然后在Linux操作系统下编写程序,然后使用MakeFile文件快速编译,最后…
转自:https://www.cnblogs.com/clover-toeic/p/3949896.html 前言 在嵌入式系统C语言开发调试过程中,常会遇到各类异常情况.一般可按需添加打印信息,以便观察程序执行流或变量值是否异常.然而,打印操作会占用CPU时间,而且代码中添加过多打印信息时会显得很凌乱.此外,即使出错打印已非常详尽,但仍难以完全预防和处理段违例(Segment Violation)等错误.在没有外部调试器(如gdb server)可用或无法现场调试的情况下,若程序能在突发崩溃时…
转自:http://www.cnblogs.com/clover-toeic/p/3919857.html 前言 本文主要总结嵌入式系统C语言编程中,主要的错误处理方式.文中涉及的代码运行环境如下: 一  错误概念 1.1 错误分类 从严重性而言,程序错误可分为致命性和非致命性两类.对于致命性错误,无法执行恢复动作,最多只能在用户屏幕上打印出错消息或将其写入日志文件,然后终止程序:而对于非致命性错误,多数本质上是暂时的(如资源短缺),一般恢复动作是延迟一些时间后再次尝试. 从交互性而言,程序错误…
在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行.一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序.包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分. 2. Linux 内核.特定于嵌入式板子的定制内核以及内核的启动参数. 3. 文件系统.包括根文件系统和建立于 Flash 内存设备之上文件系统.通常用 ram disk 来作为 root fs. 4. 用户应用程序.特定于用户的应用程序.有…
前言 在嵌入式系统C语言开发调试过程中,常会遇到各类异常情况.一般可按需添加打印信息,以便观察程序执行流或变量值是否异常.然而,打印操作会占用CPU时间,而且代码中添加过多打印信息时会显得很凌乱.此外,即使出错打印已非常详尽,但仍难以完全预防和处理段违例(Segment Violation)等错误.在没有外部调试器(如gdb server)可用或无法现场调试的情况下,若程序能在突发崩溃时自动输出函数的调用堆栈信息(即堆栈回溯),那么对于排错将会非常有用. 本文主要介绍嵌入式系统C语言编程中,发生…
前言 本文主要总结嵌入式系统C语言编程中,主要的错误处理方式.文中涉及的代码运行环境如下: 一  错误概念 1.1 错误分类 从严重性而言,程序错误可分为致命性和非致命性两类.对于致命性错误,无法执行恢复动作,最多只能在用户屏幕上打印出错消息或将其写入日志文件,然后终止程序:而对于非致命性错误,多数本质上是暂时的(如资源短缺),一般恢复动作是延迟一些时间后再次尝试. 从交互性而言,程序错误可分为用户错误和内部错误两类.用户错误呈现给用户,通常指明用户操作上的错误:而程序内部错误呈现给程序员(可能…
本文为我负责编写的电子工业出版社出版的<嵌入式系统原理与接口技术>一书第七章部分,这里整理的仍然是修改稿,供需要的同学参考,本书为普通高等教育"十二五"规划教材,电子信息科学与工程专业规划教材,如果你对本书的内容感兴趣,可以通过各渠道购买. 由于博客排版比较麻烦,部分地方可能还有点混乱,后续的电子版整理可以关注本博客,也欢迎各位针对书中内容提出建议或意见.   第7章 嵌入式系统接口应用基础 7.1嵌入式系统的接口类型 根据数据的通信形式,嵌入式系统接口可以分为串行数据传输…
嵌入式系统WinCE下应用程序GUI界面开发 ByToradex 秦海 本文旨在介绍嵌入式系统在Wince下进行GUI应用程序开发可以选择的不同GUI开发框架(Framework),目前最常用的几种方案如下 – ž   原生的Win32应用程序编程 - Microsoft ž   .NET Compact Framework - Microsoft ž   第三方.NET Compact Framework 控件 - Open .NETCF Library / BeeMobile/ Resco…
转自:http://blog.csdn.net/erickhuang1989/article/details/8721548 在嵌入式系统中,为了使系统在异常情况下能自动恢复,一般都会引入看门狗电路.看门狗电路其实就是一个计数器.当看门狗启动后,计数器开始自动计数,经过一定时间计数器溢出就会对CPU产生一个复位信号使系统重启.系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零也即喂狗,不让复位信号产生. 当前在带Linux操作系统的嵌入式系统中,由于Linux操作系统加载时间较长(如…
前言 本文作为<嵌入式系统C编程之堆栈回溯>的补充版.文中涉及的代码运行环境如下: 一  异常信号 信号就是软件中断,用于向正在运行的程序(进程)发送有关异步事件发生的信息.Linux应用程序发生异常时,操作系统会产生相应的信号.硬件检测到异常(非法指令.对无效的内存引用等)时也会通知内核,内核将其转换为适当的信号并发给该异常发生时正在运行的进程. 此外,进程可将信号发送给另一进程或进程组(调用kill函数),或向自身发送信号(调用raise函数). 系统中可产生并发送多种类型的信号.在Lin…