Linux系统CH347应用—GPIO输出输入与中断功能

 Linux/安卓系统可使用CH347转接GPIO功能,所有GPIO均为双向IO口,支持输出与输入切换,输出时为推挽输出结构,具有较强驱动能力,输入时内部为弱上拉输入,上拉能力较弱。此外,用作输入的GPIO还支持GPIO中断功能。

在系统下提供2种应用方式使用GPIO,第一种使用Master主机驱动扩展GPIO,其使用方法和系统自带的GPIO口一样。可参考:

基于CH347实现USB扩展SPI/I2C/GPIO Master主机应用方案_扩展spi芯片_PC技术小能手的博客-CSDN博客文章浏览阅读2.3k次,点赞3次,收藏9次。在安卓/Linux主机上经常会遇到CPU原生SPI/I2C/GPIO Master资源通道不够或者功性能不满足实际产品需求的情况,基于USB2.0高速USB转接芯片CH347,配合厂商提供的USB转MPHSI(Multi Peripheral Serial Line)Master总线驱动(CH34X-MSPI-Master)可轻松实现为系统扩展SPI和I2C总线、GPIO Expander、中断信号等。_扩展spi芯片https://blog.csdn.net/WCH_TechGroup/article/details/130093377本篇博客仅介绍使用CH347应用库libch347进行GPIO编程:

一、应用框图

二、资源列表

demo:应用软件示例

driver:驱动软件

lib:应用库文件,提供大部分CPU架构的动态库和静态库

三、工作原理

驱动软件正常工作时,会自动在系统/dev目录下创建字符设备,名称为:/dev/ch34x_pis*。基于此节点设备,配合 libch347 动态库,ch347demo应用程序实现对 CH347 芯片的硬件资源的访问。

此方式适用于不需要依赖于原有外设驱动工作的应用场景,使用字符设备实现对于外设的读写功能。类似于串口应用,通过访问 /dev/tty* 设备实现相应设备的:打开、关闭、读写等操作。

四、使用步骤

使用HID驱动模式,直接使用系统自带的 hidraw 驱动即可,使用厂商驱动模式,需要编译使用 CH341PAR_LINUX 资料中driver下的驱动文件,链接地址:CH341PAR_LINUX.ZIP - 南京沁恒微电子股份有限公司USB转JTAG/SPI/I2C/并口/GPIO等接口的Linux设备驱动程序,支持CH341的USB转SPI/I2C/EPP并口/MEM并口等,支持CH347的480Mbps高速USB转JTAG/SPI/I2C/GPIO等,支持32/64位操作系统。https://www.wch.cn/downloads/CH341PAR_LINUX_ZIP.htmlhttps://github.com/WCHSoftGroup/ch341par_linuxhttps://github.com/WCHSoftGroup/ch341par_linux驱动使用流程如下:

 (1)驱动加载

1. unzip CH341PAR.ZIP
2. cd driver
3. sudo make install

插入CH347硬件设备,此时会自动在 /dev 目录下创建字符设备:ch34x_pis*,如下所示:

至此,代表驱动程序和芯片工作正常。

(2)拷贝库文件至系统库路径下,此处以X64 CPU的 ch347 动态库为例:

sudo cp lib/x64/dynamic/libch347.so /usr/lib

(3)应用编程—GPIO API介绍

/**
 * CH347OpenDevice - open device
 * @pathname: device path in /dev directory
 *
 * The function return positive file descriptor if successful, others if fail.
 */
extern int CH347OpenDevice(const char *pathname);

/**
 * CH347CloseDevice - close device
 * @fd: file descriptor of device
 *
 * The function return true if successful, false if fail.
 */
extern bool CH347CloseDevice(int fd);

/**
 * CH347GPIO_Get - get gpio status
 * @fd: file descriptor of device
 * @iDir: gpio direction bits, bits0-7 on gpio0-7, 1 on ouput, 0 on input
 * @iData: gpio level bits, bits0-7 on gpio0-7, 1 on high, 0 on low
 *
 * The function return true if success, others if fail.
 */
extern bool CH347GPIO_Get(int fd, uint8_t *iDir, uint8_t *iData);

/**
 * CH347GPIO_Set - gpio setting
 * @fd: file descriptor of device
 * @iEnable: gpio function enable bits, bits0-7 on gpio0-7, 1 on enable
 * @iSetDirOut: gpio direction bits, bits0-7 on gpio0-7, 1 on ouput, 0 on input
 * @iSetDataOut: gpio output bits, bits0-7 on gpio0-7, if gpio direction is output, 1 on high, 0 on low
 *
 * The function return true if success, others if fail.
 */
extern bool CH347GPIO_Set(int fd, uint8_t iEnable, uint8_t iSetDirOut, uint8_t iSetDataOut);

/**
 * CH347GPIO_IRQ_Set - gpio irq function setting
 * @fd: file descriptor of device
 * @gpioindex: 0, 2, 3, 4, 5, 6 and 7 are valid
 * @enable:  0 : disable, 1 : enable
 * @irqtype: IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_BOTH
 * @isr_handler: handler to call when interrupt occurs, if isr disable, the routine will be ignored.
 *
 * The function return true if success, others if fail.
 */
extern bool CH347GPIO_IRQ_Set(int fd, uint8_t gpioindex, bool enable, uint8_t irqtype, void *isr_handler);

CH347GPIO_Get:获取芯片所有GPIO引脚的方向和当前电平

CH347GPIO_Set:设置芯片所有GPIO引脚的使能、方向和电平

CH347GPIO_IRQ_Set:启用指定GPIO引脚的中断功能,可指定中断触发类型为:上升沿、下降沿和双边沿。

CH347 GPIO接口操作流程:

GPIO中断功能使用示例,打开设备后,得到设备描述符fd,然后调用接口函数启用中断功能即可。当GPIO6有边沿变化的时候,注册的中断回调函数会自动执行,打印中断触发次数。

static void ch34x_demo_isr_handler(int signo)
{
	static int int_times = 0;

	printf("ch34x interrupt times: %d\n", int_times++);
}

static void ch34x_demo_irq_operate(bool enable)
{
	bool ret;
	int gpioindex = 6;

	ret = CH347GPIO_IRQ_Set(ch347device.fd, gpioindex, enable, IRQ_TYPE_EDGE_BOTH, ch34x_demo_isr_handler);
	if (!ret) {
		printf("Failed to set CH347 irq function.");
		return;
	}
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第一章 嵌入式开发系统概况(70分钟)(第一讲) 一、开发平台硬件资源 二、开发平台软件资源及文档 三、开发平台硬件安装 四、开发平台软件安装 1、VMARE虚拟机的安装 2、LINUX操作系统的安装 3、交叉环境GCC的安装编译 第二章 测试程序讲解 一、整板测试 (33分钟)(第二讲) 1、在u-boot下用串口下载测试程序 2、对各个实验进行演示操作,测试相应模块的功能 3、在u-boot下用网口下载测试程序 二、ADS1.2 开发环境使用及启动代码分析(第二讲) 1、ADS1.2 开发环境使用(22分钟) (1)、工程的建立 (2)、工程的编译分析 (3)、硬件的仿真调试 2、启动代码分析(80分钟) (1)、代码启动流程分析 (2)、相关寄存器配置分析 (3)、44binit.s讲解 (4)、option.s讲解 (5)、memcfg.s讲解 (6)、main.c讲解 (7)、相应头文件讲解 三、S3C444B0X I/O口与中断的分析(第三讲) 1、S3C444B0X I/O口(37分钟) (1)、I/O口寄存器配置 (2)、I/O口控制LED代码分析 (3)、UART寄存器配置及代码简要分析 2、 中断(46分钟) (1)、中断模式 (2)、中断寄存器配置 (3)、仿真调试按键外部中断的程序流程 四、AD温度采集显示、音频接口、NAND flash 读写(第四讲) 1、AD温度采集显示(30分钟) (1)、AD工作原理 (2)、AD寄存器配置 (3)、LM35温度传感器介绍 (4)、代码分析 (5)、仿真演示实验 2、 音频(32分钟) (1)、WAV格式及结构分析 (2)、IIS相关寄存器配置及代码分析 (3)、硬件结构分析 (4)、仿真演示实验 3、 NAND Flash (41分钟) (1)、NAND Flash与NOR Flash区别 (2)、芯片参数分析 (3)、硬件结构分系 (4)、对应芯片手册的读写时序分析代码 (5)、仿真演示实验 五、USB D12从设备(108分钟)(第五讲) 1、USB协议介绍 2、下位机代码简要分析 3、DRIVER STUDIO软件的安装 4、上位机驱动sys、inf文件生成概述 5、上位机应用程序的实现 (1)、工程的建立 (2)、代码编写及分析 (3)、对应应用程序编写下位机程序实现USB通信 第三章 ucos讲解(145分钟)(第六讲) 一、uC/OS-II的简单应用 1、uC/OS-II简介 (1)、MAIN函数的结构 (2)、任务的结构 (3)、重要uC/OS-II API函数介绍 (4)、多任务的机制 2、代码分析 (1)、启动代码分析 (2)、相关函数和结构体的介绍 (3)、任务的创建 (4)、S3C44B0X定时器介绍 3、邮箱的实现 (1)、邮箱的建立 (2)、程序流程分析 (3)、仿真演示实验 4、事件的实现 (1)、事件的建立 (2)、程序流程分析 (3)、仿真演示实验 5、uC/OS-II实现AD对LM35温度采集 (1)、uC/OS-II文件目录介绍 (2)、程序讲解 (3)、超级终端显示温度 (4)、编写程序更改超级终端上显示字体和背景的颜色 6、uCOSII_uCGUI实现彩色液晶显示 第四章 嵌入式uclinux讲解 一、u-boot移植和分析(90分钟)(第七讲) 1、u-boot介绍 2、u-boot移植介绍 3、u-boot代码烧写进FALSH 4、代码编译分析 (1)、config.mk讲解 (2)、start.S讲解 (3)、memsetup.S讲解 (4)、board.c讲解 (5)、TX44B0.c讲解 (6)、u-boot.lds讲解 (7)、相应头文件讲解 二、uclinux讲解 1、准备工作(5分钟)(第八讲) (1)、uclinux复制 (2)、uclinux移动 (3)、uclinux解压 2、uclinux文件目录介绍(10分钟)(第八讲) 3、启动代码分析(107分钟) (1)、irq.c讲解 (2)、time.c讲解 (3)、head.s讲解 (4)、misc.c讲解 (5)、head-armv.s讲解 (6)、main.c讲解 (7)、version.s讲解 (8)、s3c44b0-rtc.c讲解 (9)、对应头文件讲解 (10)、u-boot用网口烧写uclinux内核并且固化到FLASH中运行的流程分析 4、字符驱动程序(15分钟)(第八讲) (1)、字符驱动简介 (2)、file_operations结构体介绍 5、GPIO字符驱动程序(130分钟)(第八讲) (1)、驱动程序编写 (2)、快照的使用 (3)、内核配置 (4)、内核编译 (5)、演示实验 6、中断字符驱动程序(52分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 7、AD字符驱动程序(10分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 8、RTC字符驱动程序(13分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 9、网络驱动编程(186分钟)(第九讲) (1)、网络协议简介 (2)、网络驱动框架简介 (3)、结构体、变量、函数介绍 (4)、Source Insight 软件的安装和使用 (5)、8390.h、8390.c、Ne.c、Netdevice.h程序讲解 (6)、网络文件系统NFS的建立与配置 (7)、LINUX内核的配置、编译 (8)、演示开发板与PC机通过NFS实现文件共享 10、块设备-USB主设备CH375驱动编程(122分钟)(第十讲) (1)、USB驱动框架简介 (2)、CH375-hw.h、Ch375-hcd.c程序讲解 (3)、LINUX内核的配置 (4)、设备号的创建 (5)、LINUX内核的编译 (6)、终端环境插入scsi-disk模块、usb核、usb-storage 、ch375-hcd模块 (7)、插入U盘演示实验,显示目录、创建文件夹 总计:1384分钟
第一章 嵌入式开发系统概况(70分钟)(第一讲) 一、开发平台硬件资源 二、开发平台软件资源及文档 三、开发平台硬件安装 四、开发平台软件安装 1、VMARE虚拟机的安装 2、LINUX操作系统的安装 3、交叉环境GCC的安装编译 第二章 测试程序讲解 一、整板测试 (33分钟)(第二讲) 1、在u-boot下用串口下载测试程序 2、对各个实验进行演示操作,测试相应模块的功能 3、在u-boot下用网口下载测试程序 二、ADS1.2 开发环境使用及启动代码分析(第二讲) 1、ADS1.2 开发环境使用(22分钟) (1)、工程的建立 (2)、工程的编译分析 (3)、硬件的仿真调试 2、启动代码分析(80分钟) (1)、代码启动流程分析 (2)、相关寄存器配置分析 (3)、44binit.s讲解 (4)、option.s讲解 (5)、memcfg.s讲解 (6)、main.c讲解 (7)、相应头文件讲解 三、S3C444B0X I/O口与中断的分析(第三讲) 1、S3C444B0X I/O口(37分钟) (1)、I/O口寄存器配置 (2)、I/O口控制LED代码分析 (3)、UART寄存器配置及代码简要分析 2、 中断(46分钟) (1)、中断模式 (2)、中断寄存器配置 (3)、仿真调试按键外部中断的程序流程 四、AD温度采集显示、音频接口、NAND flash 读写(第四讲) 1、AD温度采集显示(30分钟) (1)、AD工作原理 (2)、AD寄存器配置 (3)、LM35温度传感器介绍 (4)、代码分析 (5)、仿真演示实验 2、 音频(32分钟) (1)、WAV格式及结构分析 (2)、IIS相关寄存器配置及代码分析 (3)、硬件结构分析 (4)、仿真演示实验 3、 NAND Flash (41分钟) (1)、NAND Flash与NOR Flash区别 (2)、芯片参数分析 (3)、硬件结构分系 (4)、对应芯片手册的读写时序分析代码 (5)、仿真演示实验 五、USB D12从设备(108分钟)(第五讲) 1、USB协议介绍 2、下位机代码简要分析 3、DRIVER STUDIO软件的安装 4、上位机驱动sys、inf文件生成概述 5、上位机应用程序的实现 (1)、工程的建立 (2)、代码编写及分析 (3)、对应应用程序编写下位机程序实现USB通信 第三章 ucos讲解(145分钟)(第六讲) 一、uC/OS-II的简单应用 1、uC/OS-II简介 (1)、MAIN函数的结构 (2)、任务的结构 (3)、重要uC/OS-II API函数介绍 (4)、多任务的机制 2、代码分析 (1)、启动代码分析 (2)、相关函数和结构体的介绍 (3)、任务的创建 (4)、S3C44B0X定时器介绍 3、邮箱的实现 (1)、邮箱的建立 (2)、程序流程分析 (3)、仿真演示实验 4、事件的实现 (1)、事件的建立 (2)、程序流程分析 (3)、仿真演示实验 5、uC/OS-II实现AD对LM35温度采集 (1)、uC/OS-II文件目录介绍 (2)、程序讲解 (3)、超级终端显示温度 (4)、编写程序更改超级终端上显示字体和背景的颜色 6、uCOSII_uCGUI实现彩色液晶显示 第四章 嵌入式uclinux讲解 一、u-boot移植和分析(90分钟)(第七讲) 1、u-boot介绍 2、u-boot移植介绍 3、u-boot代码烧写进FALSH 4、代码编译分析 (1)、config.mk讲解 (2)、start.S讲解 (3)、memsetup.S讲解 (4)、board.c讲解 (5)、TX44B0.c讲解 (6)、u-boot.lds讲解 (7)、相应头文件讲解 二、uclinux讲解 1、准备工作(5分钟)(第八讲) (1)、uclinux复制 (2)、uclinux移动 (3)、uclinux解压 2、uclinux文件目录介绍(10分钟)(第八讲) 3、启动代码分析(107分钟) (1)、irq.c讲解 (2)、time.c讲解 (3)、head.s讲解 (4)、misc.c讲解 (5)、head-armv.s讲解 (6)、main.c讲解 (7)、version.s讲解 (8)、s3c44b0-rtc.c讲解 (9)、对应头文件讲解 (10)、u-boot用网口烧写uclinux内核并且固化到FLASH中运行的流程分析 4、字符驱动程序(15分钟)(第八讲) (1)、字符驱动简介 (2)、file_operations结构体介绍 5、GPIO字符驱动程序(130分钟)(第八讲) (1)、驱动程序编写 (2)、快照的使用 (3)、内核配置 (4)、内核编译 (5)、演示实验 6、中断字符驱动程序(52分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 7、AD字符驱动程序(10分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 8、RTC字符驱动程序(13分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 9、网络驱动编程(186分钟)(第九讲) (1)、网络协议简介 (2)、网络驱动框架简介 (3)、结构体、变量、函数介绍 (4)、Source Insight 软件的安装和使用 (5)、8390.h、8390.c、Ne.c、Netdevice.h程序讲解 (6)、网络文件系统NFS的建立与配置 (7)、LINUX内核的配置、编译 (8)、演示开发板与PC机通过NFS实现文件共享 10、块设备-USB主设备CH375驱动编程(122分钟)(第十讲) (1)、USB驱动框架简介 (2)、CH375-hw.h、Ch375-hcd.c程序讲解 (3)、LINUX内核的配置 (4)、设备号的创建 (5)、LINUX内核的编译 (6)、终端环境插入scsi-disk模块、usb核、usb-storage 、ch375-hcd模块 (7)、插入U盘演示实验,显示目录、创建文件夹 总计:1384分钟
第一章 嵌入式开发系统概况(70分钟)(第一讲) 一、开发平台硬件资源 二、开发平台软件资源及文档 三、开发平台硬件安装 四、开发平台软件安装 1、VMARE虚拟机的安装 2、LINUX操作系统的安装 3、交叉环境GCC的安装编译 第二章 测试程序讲解 一、整板测试 (33分钟)(第二讲) 1、在u-boot下用串口下载测试程序 2、对各个实验进行演示操作,测试相应模块的功能 3、在u-boot下用网口下载测试程序 二、ADS1.2 开发环境使用及启动代码分析(第二讲) 1、ADS1.2 开发环境使用(22分钟) (1)、工程的建立 (2)、工程的编译分析 (3)、硬件的仿真调试 2、启动代码分析(80分钟) (1)、代码启动流程分析 (2)、相关寄存器配置分析 (3)、44binit.s讲解 (4)、option.s讲解 (5)、memcfg.s讲解 (6)、main.c讲解 (7)、相应头文件讲解 三、S3C444B0X I/O口与中断的分析(第三讲) 1、S3C444B0X I/O口(37分钟) (1)、I/O口寄存器配置 (2)、I/O口控制LED代码分析 (3)、UART寄存器配置及代码简要分析 2、 中断(46分钟) (1)、中断模式 (2)、中断寄存器配置 (3)、仿真调试按键外部中断的程序流程 四、AD温度采集显示、音频接口、NAND flash 读写(第四讲) 1、AD温度采集显示(30分钟) (1)、AD工作原理 (2)、AD寄存器配置 (3)、LM35温度传感器介绍 (4)、代码分析 (5)、仿真演示实验 2、 音频(32分钟) (1)、WAV格式及结构分析 (2)、IIS相关寄存器配置及代码分析 (3)、硬件结构分析 (4)、仿真演示实验 3、 NAND Flash (41分钟) (1)、NAND Flash与NOR Flash区别 (2)、芯片参数分析 (3)、硬件结构分系 (4)、对应芯片手册的读写时序分析代码 (5)、仿真演示实验 五、USB D12从设备(108分钟)(第五讲) 1、USB协议介绍 2、下位机代码简要分析 3、DRIVER STUDIO软件的安装 4、上位机驱动sys、inf文件生成概述 5、上位机应用程序的实现 (1)、工程的建立 (2)、代码编写及分析 (3)、对应应用程序编写下位机程序实现USB通信 第三章 ucos讲解(145分钟)(第六讲) 一、uC/OS-II的简单应用 1、uC/OS-II简介 (1)、MAIN函数的结构 (2)、任务的结构 (3)、重要uC/OS-II API函数介绍 (4)、多任务的机制 2、代码分析 (1)、启动代码分析 (2)、相关函数和结构体的介绍 (3)、任务的创建 (4)、S3C44B0X定时器介绍 3、邮箱的实现 (1)、邮箱的建立 (2)、程序流程分析 (3)、仿真演示实验 4、事件的实现 (1)、事件的建立 (2)、程序流程分析 (3)、仿真演示实验 5、uC/OS-II实现AD对LM35温度采集 (1)、uC/OS-II文件目录介绍 (2)、程序讲解 (3)、超级终端显示温度 (4)、编写程序更改超级终端上显示字体和背景的颜色 6、uCOSII_uCGUI实现彩色液晶显示 第四章 嵌入式uclinux讲解 一、u-boot移植和分析(90分钟)(第七讲) 1、u-boot介绍 2、u-boot移植介绍 3、u-boot代码烧写进FALSH 4、代码编译分析 (1)、config.mk讲解 (2)、start.S讲解 (3)、memsetup.S讲解 (4)、board.c讲解 (5)、TX44B0.c讲解 (6)、u-boot.lds讲解 (7)、相应头文件讲解 二、uclinux讲解 1、准备工作(5分钟)(第八讲) (1)、uclinux复制 (2)、uclinux移动 (3)、uclinux解压 2、uclinux文件目录介绍(10分钟)(第八讲) 3、启动代码分析(107分钟) (1)、irq.c讲解 (2)、time.c讲解 (3)、head.s讲解 (4)、misc.c讲解 (5)、head-armv.s讲解 (6)、main.c讲解 (7)、version.s讲解 (8)、s3c44b0-rtc.c讲解 (9)、对应头文件讲解 (10)、u-boot用网口烧写uclinux内核并且固化到FLASH中运行的流程分析 4、字符驱动程序(15分钟)(第八讲) (1)、字符驱动简介 (2)、file_operations结构体介绍 5、GPIO字符驱动程序(130分钟)(第八讲) (1)、驱动程序编写 (2)、快照的使用 (3)、内核配置 (4)、内核编译 (5)、演示实验 6、中断字符驱动程序(52分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 7、AD字符驱动程序(10分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 8、RTC字符驱动程序(13分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 9、网络驱动编程(186分钟)(第九讲) (1)、网络协议简介 (2)、网络驱动框架简介 (3)、结构体、变量、函数介绍 (4)、Source Insight 软件的安装和使用 (5)、8390.h、8390.c、Ne.c、Netdevice.h程序讲解 (6)、网络文件系统NFS的建立与配置 (7)、LINUX内核的配置、编译 (8)、演示开发板与PC机通过NFS实现文件共享 10、块设备-USB主设备CH375驱动编程(122分钟)(第十讲) (1)、USB驱动框架简介 (2)、CH375-hw.h、Ch375-hcd.c程序讲解 (3)、LINUX内核的配置 (4)、设备号的创建 (5)、LINUX内核的编译 (6)、终端环境插入scsi-disk模块、usb核、usb-storage 、ch375-hcd模块 (7)、插入U盘演示实验,显示目录、创建文件夹 总计:1384分钟
第一章 嵌入式开发系统概况(70分钟)(第一讲) 一、开发平台硬件资源 二、开发平台软件资源及文档 三、开发平台硬件安装 四、开发平台软件安装 1、VMARE虚拟机的安装 2、LINUX操作系统的安装 3、交叉环境GCC的安装编译 第二章 测试程序讲解 一、整板测试 (33分钟)(第二讲) 1、在u-boot下用串口下载测试程序 2、对各个实验进行演示操作,测试相应模块的功能 3、在u-boot下用网口下载测试程序 二、ADS1.2 开发环境使用及启动代码分析(第二讲) 1、ADS1.2 开发环境使用(22分钟) (1)、工程的建立 (2)、工程的编译分析 (3)、硬件的仿真调试 2、启动代码分析(80分钟) (1)、代码启动流程分析 (2)、相关寄存器配置分析 (3)、44binit.s讲解 (4)、option.s讲解 (5)、memcfg.s讲解 (6)、main.c讲解 (7)、相应头文件讲解 三、S3C444B0X I/O口与中断的分析(第三讲) 1、S3C444B0X I/O口(37分钟) (1)、I/O口寄存器配置 (2)、I/O口控制LED代码分析 (3)、UART寄存器配置及代码简要分析 2、 中断(46分钟) (1)、中断模式 (2)、中断寄存器配置 (3)、仿真调试按键外部中断的程序流程 四、AD温度采集显示、音频接口、NAND flash 读写(第四讲) 1、AD温度采集显示(30分钟) (1)、AD工作原理 (2)、AD寄存器配置 (3)、LM35温度传感器介绍 (4)、代码分析 (5)、仿真演示实验 2、 音频(32分钟) (1)、WAV格式及结构分析 (2)、IIS相关寄存器配置及代码分析 (3)、硬件结构分析 (4)、仿真演示实验 3、 NAND Flash (41分钟) (1)、NAND Flash与NOR Flash区别 (2)、芯片参数分析 (3)、硬件结构分系 (4)、对应芯片手册的读写时序分析代码 (5)、仿真演示实验 五、USB D12从设备(108分钟)(第五讲) 1、USB协议介绍 2、下位机代码简要分析 3、DRIVER STUDIO软件的安装 4、上位机驱动sys、inf文件生成概述 5、上位机应用程序的实现 (1)、工程的建立 (2)、代码编写及分析 (3)、对应应用程序编写下位机程序实现USB通信 第三章 ucos讲解(145分钟)(第六讲) 一、uC/OS-II的简单应用 1、uC/OS-II简介 (1)、MAIN函数的结构 (2)、任务的结构 (3)、重要uC/OS-II API函数介绍 (4)、多任务的机制 2、代码分析 (1)、启动代码分析 (2)、相关函数和结构体的介绍 (3)、任务的创建 (4)、S3C44B0X定时器介绍 3、邮箱的实现 (1)、邮箱的建立 (2)、程序流程分析 (3)、仿真演示实验 4、事件的实现 (1)、事件的建立 (2)、程序流程分析 (3)、仿真演示实验 5、uC/OS-II实现AD对LM35温度采集 (1)、uC/OS-II文件目录介绍 (2)、程序讲解 (3)、超级终端显示温度 (4)、编写程序更改超级终端上显示字体和背景的颜色 6、uCOSII_uCGUI实现彩色液晶显示 第四章 嵌入式uclinux讲解 一、u-boot移植和分析(90分钟)(第七讲) 1、u-boot介绍 2、u-boot移植介绍 3、u-boot代码烧写进FALSH 4、代码编译分析 (1)、config.mk讲解 (2)、start.S讲解 (3)、memsetup.S讲解 (4)、board.c讲解 (5)、TX44B0.c讲解 (6)、u-boot.lds讲解 (7)、相应头文件讲解 二、uclinux讲解 1、准备工作(5分钟)(第八讲) (1)、uclinux复制 (2)、uclinux移动 (3)、uclinux解压 2、uclinux文件目录介绍(10分钟)(第八讲) 3、启动代码分析(107分钟) (1)、irq.c讲解 (2)、time.c讲解 (3)、head.s讲解 (4)、misc.c讲解 (5)、head-armv.s讲解 (6)、main.c讲解 (7)、version.s讲解 (8)、s3c44b0-rtc.c讲解 (9)、对应头文件讲解 (10)、u-boot用网口烧写uclinux内核并且固化到FLASH中运行的流程分析 4、字符驱动程序(15分钟)(第八讲) (1)、字符驱动简介 (2)、file_operations结构体介绍 5、GPIO字符驱动程序(130分钟)(第八讲) (1)、驱动程序编写 (2)、快照的使用 (3)、内核配置 (4)、内核编译 (5)、演示实验 6、中断字符驱动程序(52分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 7、AD字符驱动程序(10分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 8、RTC字符驱动程序(13分钟)(第八讲) (1)、驱动程序编写 (2)、内核配置 (3)、内核编译 (4)、演示实验 9、网络驱动编程(186分钟)(第九讲) (1)、网络协议简介 (2)、网络驱动框架简介 (3)、结构体、变量、函数介绍 (4)、Source Insight 软件的安装和使用 (5)、8390.h、8390.c、Ne.c、Netdevice.h程序讲解 (6)、网络文件系统NFS的建立与配置 (7)、LINUX内核的配置、编译 (8)、演示开发板与PC机通过NFS实现文件共享 10、块设备-USB主设备CH375驱动编程(122分钟)(第十讲) (1)、USB驱动框架简介 (2)、CH375-hw.h、Ch375-hcd.c程序讲解 (3)、LINUX内核的配置 (4)、设备号的创建 (5)、LINUX内核的编译 (6)、终端环境插入scsi-disk模块、usb核、usb-storage 、ch375-hcd模块 (7)、插入U盘演示实验,显示目录、创建文件夹 总计:1384分钟

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PC技术小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值