• 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
  • 原子嵌入式Linux驱动开发详解
21年品牌 40万+商家 超1.5亿件商品

原子嵌入式Linux驱动开发详解

50 3.0折 169 九品

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者左忠凯

出版社清华大学出版社

出版时间2022-08

版次1

装帧其他

货号13

上书时间2024-09-06

快乐平价购书摊

已实名 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 左忠凯
  • 出版社 清华大学出版社
  • 出版时间 2022-08
  • 版次 1
  • ISBN 9787302613824
  • 定价 169.00元
  • 装帧 其他
  • 开本 32开
  • 纸张 胶版纸
  • 页数 721页
  • 字数 1.21千字
【内容简介】
嵌入式 Linux涉及的知识点很多,对初学者的基础要求高,在知识储备的广度和深度上都对学习者提出了很高
  的要求。大多数转型嵌入式 Linux开发的朋友都是以前从事单片机开发工作的工程师,因此如何从单片机开发工
  程师转型为嵌入式 Linux开发工程师,这个过程非常重要。
  单片机 工 程 师 大 多 数 都 是 在 Windows环 境 下 工 作,使 用 集 成 IDE 编 写 并 编 译 代 码,然 后 在 IDE 上 通 过
  DownLoad按钮一键下载代码到单片机中。至于集成IDE是怎么组织源文件,又是怎么编译的并不清楚。
  本书就以单片机工程最熟悉的“裸机”开发为例,讲解如何在 Ubuntu下搭建开发环境,如何使用 VScode编写程
  序,如何使用 make工具编译源码。通过这些操作,大家就可以对集成式IDE与开源开发环境有很清晰的认识。当
  掌握了开发方式以后,剩下的就是通过大量的裸机案例来加深对I.MX6ULL 这颗芯片的认识,了解各个外设的应
  用,为后面学习嵌入式Linux驱动开发打下坚实的基础。本书后半部分详细讲解了如何移植uboot、Linux内核、根文件
  系统,最终在开发板上搭建出一个基础的嵌入式 Linux系统,后续的嵌入式 Linux驱动开发就在这个小系统上进行。
  本书可作为广大从事嵌入式开发、MCU 开发、物联网应用开发等工程技术人员的学习和参考用书,也可作为高
  等院校计算机、电子、自动化等专业嵌入式系统、微机接口、物联网、单片机等课程的教材。
【作者简介】
左忠凯,14年参加工作以来一直从事于嵌入式教育,以第一作者身份著有《FreeRTOS源码详解与应用开发》,参与编写了正点原子大量的手把手教你STM32系列书籍,比如《精通STM32F4库函数版》、《STM32F7原理与应用》等。同时录制了大量的STM32相关教学视频,广受好评。18年开始负责公司Linux教育平台的研发,编写了1800多页的Linux驱动开发教程,录制了200多讲Linux开发视频,负责的I.MX6ULL开发板自从发布至今,销量一直处于淘宝第一,Linux驱动开发相关视频在各大平台的点击量超过30万次。
【目录】
 

第一篇Ubuntu操作系统入门

(扫描封底“本书资源”二维码获取)

第二篇裸机开发

第1章开发环境搭建

1.1Ubuntu和Windows文件互传

1.2Ubuntu下NFS和SSH服务开启

1.2.1NFS服务开启

1.2.2SSH服务开启

1.3Ubuntu交叉编译工具链安装

1.3.1交叉编译器安装

1.3.2安装相关库

1.3.3交叉编译器验证

1.4Visual Studio Code软件的安装和使用

1.4.1Visual Studio Code软件的安装

1.4.2Visual Studio Code插件的安装

1.4.3Visual Studio Code新建工程

1.5CH340串口驱动安装

1.6MobaXterm软件安装和使用

1.6.1MobaXterm软件安装

1.6.2MobaXterm软件使用

第2章CortexA7 MPCore架构

2.1CortexA7 MPCore简介

2.2CortexA处理器运行模型

2.3CortexA寄存器组

2.3.1通用寄存器

2.3.2程序状态寄存器

第3章ARM汇编基础

3.1GNU汇编语法

3.2CortexA7常用汇编指令

3.2.1处理器内部数据传输指令

3.2.2存储器访问指令

3.2.3压栈和出栈指令

3.2.4跳转指令

3.2.5算术运算指令

3.2.6逻辑运算指令

 

 

 

第4章汇编LED灯实验

4.1I.MX6U GPIO详解

4.1.1STM32 GPIO回顾

4.1.2I.MX6ULL I/O命名

4.1.3I.MX6ULL I/O复用

4.1.4I.MX6ULL I/O配置

4.1.5I.MX6ULL GPIO配置

4.1.6I.MX6ULL GPIO时钟使能

4.2硬件原理分析

4.3实验程序编写

4.4编译、下载和验证

4.4.1编译代码

4.4.2创建Makefile文件

4.4.3代码烧写

4.4.4代码验证

第5章I.MX6U启动方式详解

5.1启动方式选择

5.1.1串行下载

5.1.2内部BOOT模式

5.2BOOT ROM初始化内容

5.3启动设备

5.4镜像烧写

5.4.1IVT和Boot Data

5.4.2DCD数据

第6章C语言版LED灯实验

6.1C语言版LED灯简介

6.2硬件原理分析

6.3实验程序编写

6.3.1汇编部分实验程序编写

6.3.2C语言部分实验程序编写

6.4编译、下载和验证

6.4.1编写Makefile

6.4.2链接脚本

6.4.3修改Makefile

6.4.4下载和验证

第7章模仿STM32驱动开发格式实验

7.1模仿STM32寄存器定义

7.1.1STM32寄存器定义简介

7.1.2I.MX6ULL寄存器定义

7.2硬件原理分析

7.3实验程序编写

7.4编译、下载和验证

7.4.1编写Makefile和链接脚本

7.4.2编译和下载

第8章官方SDK移植实验

8.1官方SDK移植简介

8.2硬件原理分析

8.3实验程序编写

8.3.1SDK文件移植

8.3.2创建cc.h文件

8.3.3编写实验代码

8.4编译、下载和验证

8.4.1编写Makefile和链接脚本

8.4.2编译和下载

第9章BSP工程管理实验

9.1BSP工程管理简介

9.2硬件原理分析

9.3实验程序编写

9.3.1创建imx6ul.h文件

9.3.2编写led驱动代码

9.3.3编写时钟驱动代码

9.3.4编写延时驱动代码

9.3.5修改main.c文件

9.4编译、下载和验证

9.4.1编写Makefile和链接脚本

9.4.2编译和下载

第10章蜂鸣器实验

10.1有源蜂鸣器简介

10.2硬件原理分析

10.3实验程序编写

10.4编译、下载和验证

10.4.1编写Makefile和链接脚本

10.4.2编译和下载

第11章按键输入实验

11.1按键输入简介

11.2硬件原理分析

11.3实验程序编写

11.4编译、下载和验证

11.4.1编写Makefile和链接脚本

11.4.2编译和下载

第12章主频和时钟配置实验

12.1I.MX6ULL时钟系统详解

12.1.1系统时钟来源

12.1.27路PLL时钟源

12.1.3时钟树简介

12.1.4内核时钟设置

12.1.5PFD时钟设置

12.1.6AHB、IPG和PERCLK根时钟设置

12.2硬件原理分析

12.3实验程序编写

12.4编译、下载和验证

12.4.1编写Makefile和链接脚本

12.4.2编译和下载

第13章GPIO中断实验

13.1CortexA7中断系统详解

13.1.1STM32中断系统回顾

13.1.2CortexA7中断系统简介

13.1.3GIC控制器简介

13.1.4CP15协处理器

13.1.5中断使能

13.1.6中断优先级设置

13.2硬件原理分析

13.3实验程序编写

13.3.1移植SDK包中断相关文件

13.3.2重新编写start.s文件

13.3.3通用中断驱动文件编写

13.3.4修改GPIO驱动文件

13.3.5按键中断驱动文件编写

13.3.6编写main.c文件

13.4编译、下载和验证

13.4.1编写Makefile和链接脚本

13.4.2编译和下载

第14章EPIT定时器实验

14.1EPIT定时器简介

14.2硬件原理分析

14.3实验程序编写

14.4编译、下载和验证

14.4.1编写Makefile和链接脚本

14.4.2编译和下载

第15章定时器按键消抖实验

15.1定时器按键消抖简介

15.2硬件原理分析

15.3实验程序编写

15.4编译、下载和验证

15.4.1编写Makefile和链接脚本

15.4.2编译和下载

第16章高精度延时实验

16.1高精度延时简介

16.1.1GPT定时器简介

16.1.2定时器实现高精度延时原理

16.2硬件原理分析

16.3实验程序编写

16.4编译、下载和验证

16.4.1编写Makefile和链接脚本

16.4.2编译和下载

第17章UART串口通信实验

17.1I.MX6ULL串口通信简介

17.1.1UART简介

17.1.2I.MX6ULL UART简介

17.2硬件原理分析

17.3实验程序编写

17.4编译、下载和验证

17.4.1编写Makefile和链接脚本

17.4.2编译和下载

第18章串口格式化函数移植实验

18.1串口格式化函数移植简介

18.2硬件原理分析

18.3实验程序编写

18.4编译、下载和验证

18.4.1编写Makefile和链接脚本

18.4.2编译和下载

第19章DDR3实验

19.1DDR3内存简介

19.1.1何为RAM和ROM

19.1.2SRAM简介

19.1.3SDRAM简介

19.1.4DDR简介

19.2DDR3关键时间参数

19.3I.MX6ULL MMDC控制器简介

19.3.1MMDC控制器

19.3.2MMDC控制器信号引脚

19.3.3MMDC控制器时钟源

19.4ALPHA开发板DDR3L原理图

19.5DDR3L初始化与测试

19.5.1ddr_stress_tester简介

19.5.2DDR3L驱动配置

19.5.3DDR3L校准

19.5.4DDR3L超频测试

19.5.5DDR3L驱动总结

第20章RGB LCD显示实验

20.1LCD和eLCDIF简介

20.1.1LCD简介

20.1.2eLCDIF接口简介

20.2硬件原理分析

20.3实验程序编写

20.4编译、下载和验证

20.4.1编写Makefile和链接脚本

20.4.2编译和下载

第21章RTC实时时钟实验

21.1I.MX6ULL RTC实时时钟简介

21.2硬件原理分析

21.3实验程序编写

21.3.1修改文件MCIMX6Y2.h

21.3.2编写实验程序

21.4编译、下载和验证

21.4.1编写Makefile和链接脚本

21.4.2编译和下载

第22章I2C实验

22.1I2C和AP3216C简介

22.1.1I2C简介

22.1.2I.MX6ULL I2C简介

22.1.3AP3216C简介

22.2硬件原理分析

22.3实验程序编写

22.4编译、下载和验证

22.4.1编写Makefile和链接脚本

22.4.2编译和下载

第23章SPI实验

23.1SPI & ICM20608简介

23.1.1SPI简介

23.1.2I.MX6ULL ECSPI简介

23.1.3ICM20608简介

23.2硬件原理分析

23.3实验程序编写

23.4编译、下载和验证

23.4.1编写Makefile和链接脚本

23.4.2编译和下载

第24章多点电容触摸屏实验

24.1多点电容触摸屏简介

24.2硬件原理分析

24.3实验程序编写

24.4编译、下载和验证

24.4.1编写Makefile和链接脚本

24.4.2编译和下载

第25章LCD背光调节实验

25.1LCD背光调节简介

25.2硬件原理分析

25.3实验程序编写

25.4编译、下载和验证

25.4.1编写Makefile和链接脚本

25.4.2编译和下载

第26章ADC实验

26.1ADC简介

26.1.1什么是ADC

26.1.2I.MX6ULL ADC简介

26.2硬件原理分析

26.3实验程序编写

26.4编译、下载和验证

26.4.1编写Makefile和链接脚本

26.4.2编译和下载

第三篇系统移植

第27章UBoot使用实验

27.1UBoot简介

27.2UBoot初次编译

27.3UBoot烧写与启动

27.4UBoot命令使用

27.4.1信息查询命令

27.4.2环境变量操作命令

27.4.3内存操作命令

27.4.4网络操作命令

27.4.5EMMC和SD卡操作命令

27.4.6FAT格式文件系统操作命令

27.4.7EXT格式文件系统操作命令

27.4.8NAND操作命令

27.4.9BOOT操作命令

27.4.10其他常用命令

第28章UBoot顶层Makefile详解

28.1UBoot工程目录分析

28.2VSCode工程创建

28.3UBoot顶层Makefile分析

28.3.1版本号

28.3.2MAKEFLAGS变量

28.3.3命令输出

28.3.4静默输出

28.3.5设置编译结果输出目录

28.3.6代码检查

28.3.7模块编译

28.3.8获取主机架构和系统

28.3.9设置目标架构、交叉编译器和配置文件

28.3.10调用scripts/Kbuild.include

28.3.11交叉编译工具变量设置

28.3.12导出其他变量

28.3.13make xxx_defconfig过程

28.3.14Makefile.build脚本分析

28.3.15make过程

第29章UBoot启动流程详解

29.1链接脚本uboot.lds详解

29.2UBoot启动流程解析

29.2.1reset函数源码详解

29.2.2lowlevel_init函数详解

29.2.3s_init函数详解

29.2.4_main函数详解

29.2.5board_init_f函数详解

29.2.6relocate_code函数详解

29.2.7relocate_vectors函数详解

29.2.8board_init_r函数详解

29.2.9run_main_loop函数详解

29.2.10cli_loop函数详解

29.2.11cmd_process函数详解

29.3bootz启动Linux内核过程

29.3.1images全局变量

29.3.2do_bootz函数

29.3.3bootz_start函数

29.3.4do_bootm_states函数

29.3.5bootm_os_get_boot_func函数

29.3.6do_bootm_linux函数

第30章UBoot移植

30.1NXP官方开发板uboot编译测试

30.1.1查找NXP官方的开发板默认配置文件

30.1.2编译NXP官方开发板对应的uboot

30.1.3烧写验证与驱动测试

30.2在UBoot中添加自己的开发板

30.2.1添加开发板默认配置文件

30.2.2添加开发板对应的头文件

30.2.3添加开发板对应的板级文件夹

30.2.4修改UBoot图形界面配置文件

30.2.5使用新添加的板子配置编译uboot

30.2.6LCD驱动修改

30.2.7网络驱动修改

30.2.8其他需要修改的地方

30.3bootcmd和bootargs环境变量

30.3.1环境变量bootcmd

30.3.2环境变量bootargs

30.4uboot启动Linux测试

30.4.1从EMMC启动Linux系统

30.4.2从网络启动Linux系统

第31章UBoot图形化配置及其原理

31.1UBoot图形化配置体验

31.2menuconfig图形化配置原理

31.2.1make menuconfig过程分析

31.2.2Kconfig语法简介

31.3添加自定义菜单

第32章Linux内核顶层Makefile详解

32.1Linux内核获取

32.2Linux内核初次编译

32.3Linux工程目录分析

32.4VSCode工程创建

32.5顶层Makefile详解

32.5.1make xxx_defconfig过程

32.5.2Makefile.build脚本分析

32.5.3make过程

32.5.4builtin.o文件编译生成过程

32.5.5make zImage过程

第33章Linux内核启动流程

33.1链接脚本vmlinux.lds

33.2Linux内核启动流程分析

33.2.1Linux内核入口stext

33.2.2__mmap_switched函数

33.2.3start_kernel函数

33.2.4rest_init函数

33.2.5init进程

第34章Linux内核移植

34.1创建VSCode工程

34.2NXP官方开发板Linux内核编译

34.2.1修改顶层Makefile

34.2.2配置并编译Linux内核

34.2.3Linux内核启动测试

34.2.4根文件系统缺失错误

34.3在Linux中添加自己的开发板

34.3.1添加开发板默认配置文件

34.3.2添加开发板对应的设备树文件

34.3.3编译测试

34.4CPU主频和网络驱动修改

34.4.1CPU主频修改

34.4.2使能8线EMMC驱动

34.4.3修改网络驱动

34.4.4保存修改后的图形化配置文件

第35章根文件系统构建

35.1根文件系统简介

35.2BusyBox构建根文件系统

35.2.1BusyBox简介

35.2.2编译BusyBox构建根文件系统

35.2.3向根文件系统添加lib库

35.2.4创建其他文件夹

35.3根文件系统初步测试

35.4完善根文件系统

35.4.1创建/etc/init.d/rcS文件

35.4.2创建/etc/fstab文件

35.4.3创建/etc/inittab文件

35.5根文件系统其他功能测试

35.5.1软件运行测试

35.5.2中文字符测试

35.5.3开机自启动测试

35.5.4外网连接测试

第36章系统烧写

36.1MfgTool工具简介

36.2MfgTool工作原理简介

36.2.1烧写方式

36.2.2系统烧写原理

36.3烧写NXP官方系统

36.4烧写自制的系统

36.4.1系统烧写

36.4.2网络开机自启动设置

36.5改造自己的烧写工具

36.5.1改造MfgTool

36.5.2烧写测试

36.5.3解决Linux内核启动失败

 
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP