电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

嵌入式Linux系统应用及项目实践 教学课件 ppt 作者 丰海 第4章_嵌入式Linux开发基础

29页
  • 卖家[上传人]:E****
  • 文档编号:89467104
  • 上传时间:2019-05-25
  • 文档格式:PPT
  • 文档大小:1.66MB
  • / 29 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1,第四章 嵌入式Linux开发基础,丰海,2,C语言基础,计算机语言定义 计算机能够识别和接受的语言。 要使计算机按自己的意图工作,必须使用计算机所能接受、理解和执行的指令指挥计算机工作。,3,计算机语言的种类 机器语言 低级语言 汇编语言 BASIC 入门语言 F77 科学计算 高级语言 Foxpro 数据库管理 (面向问题 ) C 多用途,计算机语言,4,C语言程序需经过编译: 编译 执行 要上机完成一个计算问题,主要的任务就是用高级语言编写出相应的源程序。,C语言源程序,机器指令 目的程序,结果,编译程序,5,C语言的特点 集高级语言和低级语言的优点于一身: 能实现低级语言的大部分功能(如直接访问内存物理地址、进行位操作等)。 图形功能强。 运算符和数据结构丰富。 语法限制不太严格,程序设计自由度大。 生成目标代码质量高,程序执行效率高。,6,简单的C程序介绍 例1: main() 主函数说明 程序框架 printf(“abcdef”); 函数体 语句 程序的功能是输出字符串:abcdef,7,算法 算法的概念 要利用计算机处理问题,光学习语言的语法规则还不够,最重要的是要学会

      2、针对各类型的问题,拟定出有效的解题方法和步骤。解题方法和步骤就是算法。,8,算法: 为了解决一个问题而采取的有限步骤。 计算机算法: 如何使计算机一步一步地工作的具体过程。,9,流程图,10,#include int main(void) int a,b,c; printf(“请输入a的值:n“); scanf(“%d“, ,11,12,三个基本结构: 顺序结构 按固定顺序(从上到下或从左到右)执行的结构。,A,B,a,b,13,选择结构 根据条件P选择执行哪一个分支。 成立 不成立,p,A,B,a,b,成立,不成立,14,循环结构 重复执行某些操作的结构。 分为两种: 当型循环和直到型循环。 当型循环 直到型循环,P1,A,A,P2,a,a,b,b,Y,Y,N,N,15,GNU GCC,GNU就是GNUs Not Unix的缩写,GNU 是由自由软件基金会 (Free Software Foundation, FSF) 的董事长Richard M. Stallman (RMS)于1984年发起的,如今已经有十几年的历史了。它的目标是创建一套完全自由的操作系统。 GCC(GNU Com

      3、piler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是 GNU计划的关键部分,GCC 原名为 GNU C 语言编译器,因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C+。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada与其他语言。,GNU gcc编译器及其使用,gcc hello.c -o hello_pc / 用gcc编译器编译hello.c源程序, /生成可以在X86 CPU上的可执行程序hello_pc arm-linux-gcc hello.c -o hello_arm / 用arm-linux-gcc交叉编译器, /生成可以在arm s3c2440 CPU上的可执行程序hello_arm,GNU gcc的功能就是将c、c+等源代码程序经编译器编译成目标文件,再经过链接器(Linker)链接指定的目标文件及相关的函数库,最后产生可执行的二进制程序,如图所示为gcc编译器的编译流程图:,17,18,Make与Makefile文件简介,在嵌入式系统的程序开发中,通常一个较大的程

      4、序都会使用到不同的小程序或函数,所以在编译时就要将这些不同的程序编译,产生不同的目标文件,然后再执行连接的动作,最后才能生成可执行的二进制程序。例如有一主程序为main.c,需要使用到A.c和B.c的程序,因此在编译时就要执行如下命令才能产生可执行的二进制程序main: gcc c main.c (生成main.o目标文件) gcc c A.c (生成A.o目标文件) gcc c B.c (生成B.o目标文件) gcc o main main.o A.o B.o,20,自动化编译工具Make 的优点如下: (1) 对庞大及复杂的c源代码文件进行有效的维护。 (2) 减少程序编译的次数。 (3) 使源代码的编译、连接、管理更加有效。 (4) 具有编译自动化的功能,将编译(Complier)、连接(Link)、产生可执行二进制程序的动作自动化完成。,Makefile文件主要描述了各个文件间的依赖关系和更新命令,其具体内容如下: (1)程序中各文件的依赖关系。 (2)更新各个文件的命令。,21,有一个主程序(hello.c)可输入两个整数a及b,其中主程序会执行一个求两整数和的函数add(

      5、)后输出其和,然后再执行一个求两整数差的函数sub( )后输出其差,add( )和sub( )这两个函数分别定义在add.c和sub.c的文件中,这两个函数的声明是定义在hello.h的头文件中,其程序源代码分别如下所述:,22,(1) 主程序hello.c源代码如下所示: #include #include #include “hello.h“ int main() int a,b,c,d; printf(“请输入两个整数: “); scanf(“%d %d“, ,23,(2) 头文件hello.h中包含求两整数和及差的原型声明,其程序源代码如下所示: int add(int,int); int sub(int,int); (3) 求两整数和的函数add( ),定义在add.c程序中,其程序源代码如下所示: int add(int a,int b) int s; s=a+b; return (s); ,24,(4) 求两整数差的函数sub( )定义在sub.c程序中,其程序源代码如下所示: int sub(int c,int d) int dif; dif=c-d; return (

      6、dif); ,25,这个程序由三个不同的程序源代码文件及一个hello.h头文件组成,其编译过程如图所示:,26,手动编译,并运行最后生成的可执行二进制程序hello,fhfh:/my_experiment/4z/tw$ gcc -c hello.c fhfh:/my_experiment/4z/tw$ gcc -c add.c fhfh:/my_experiment/4z/tw$ gcc -c sub.c fhfh:/my_experiment/4z/tw$ gcc -o hello hello.o add.o sub.o,27,hello:hello.o add.o sub.o gcc -o hello hello.o add.o sub.o hello.o:hello.c hello.h gcc -c hello.c add.o: add.c gcc -c add.c sub.o: sub.c gcc -c sub.c,编辑Makefile文件,其内容如下:,fhfh:/my_experiment/4z/tw$ make gcc -c hello.c gcc -c add.c gcc -c sub.c gcc -o hello hello.o add.o sub.o,有了Makefile文件,使用make工具, 直接输入make就可以得到可执行程序hello,28,交叉编译的概念 交叉编译(Cross compiler)是指在某个系统平台下编译出在另一个系统平台上运行的可执行文件。对于嵌入式Linux开发就是在x86 CPU的PC平台的Linux系统下编译出能够在arm开发板上运行的可执行程序,一般把PC平台叫做宿主机(host),开发板叫做目标机(target)。开发嵌入式系统时,由于受限于嵌入式系统产品的特有限制,也就是其不可能具有很大的储存容量及丰富的人机接口,所以开发环境都必须建立在PC计算机(Host)上,因此必须使用交叉编译技术。,29,

      《嵌入式Linux系统应用及项目实践 教学课件 ppt 作者 丰海 第4章_嵌入式Linux开发基础》由会员E****分享,可在线阅读,更多相关《嵌入式Linux系统应用及项目实践 教学课件 ppt 作者 丰海 第4章_嵌入式Linux开发基础》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.