【CH9434】使用CH9434移植到32单片机扩展4串口

CH9434是一款串口扩展芯片,功能是通过SPI接口可以扩展4路串口出来,通过相应的232串口、485串口芯片,可以扩展相应的接口。

该项目通过STM32的SPI接口扩展4路串口出来,通过串口收发数据。

目录

一、硬件准备

二、资料准备

三、CODE

四、硬件连接

五、测试&结果


一、硬件准备

  • 主控板一个,这里选择的是STM32F103评估板
  • CH9434评估板
  • 杜邦线若干

二、资料准备

三、CODE

1.选择一个能编译的工程,将下载好的参考代码放置工程文件夹,添加C文件以及H文件路径。

2.将提供的main函数里的几个函数移植好,接口函数如下。

/* US延时函数 */
void CH9434_US_DELAY(void)
{
	delay_us(1);
}
/* SPI接口SCS引脚控制,0:低电平  1:高电平 */ 
void CH9434_SPI_SCS_OP(u8_t dat)
{
	if(dat)
		GPIO_SetBits(GPIOB, GPIO_Pin_12);
	else
	    GPIO_ResetBits(GPIOB, GPIO_Pin_12);
}
/* SPI交换一个字节接口 */
u8_t CH9434_SPI_WRITE_BYTE(u8_t dat)
{
	u8_t temp;
	
	while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET);
	SPI_I2S_SendData(SPI2, dat);
	while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
	temp = SPI_I2S_ReceiveData(SPI2);
	
	return temp;
}

3.为方便测试,提供一个可以查询所有CH9434寄存器的函数void CH9434UARTxTest(u8_t uart_idx)

该函数可以打印CH9434对应串口的所有寄存器的值

void WriteCH9434Data( u8_t mAddr, u8_t mData )    /* 向指定寄存器写入数据 */
{
	CH9434_SPI_SCS_OP(0);
    CH9434_SPI_WRITE_BYTE( ( mAddr ) | 0x80 );    /* 位5-2为当前操作地址,位1为1写操作 */
	delay_us (2);
	CH9434_SPI_WRITE_BYTE( mData );
	CH9434_SPI_SCS_OP(1);                     //Spi432Stop( );
}
u8_t ReadCH9434Data( u8_t mAddr )    /* 从指定寄存器读取数据 */
{
    u8_t d;
	CH9434_SPI_SCS_OP(0);
    CH9434_SPI_WRITE_BYTE( mAddr );    /* 位5-2为当前操作地址,位1为0读操作 */
    delay_us (2);
	d = CH9434_SPI_WRITE_BYTE( 0xFF );
    CH9434_SPI_SCS_OP(1);                     //Spi432Stop( );
    return( d );
}

/*******************************************************************************
* Function Name  : CH9434UARTxTest
* Description    : 枚举所有寄存器的值
* Input          : 

* Output         : None
* Return         : None
*******************************************************************************/
void CH9434UARTxTest(u8_t uart_idx)
{
	u8_t  s,i,j;
	u8_t  uart_reg_add;
	
	//CLK_CTRL寄存器读取
	i = ReadCH9434Data( CH9434_CLK_CTRL_CFG_ADD+0x10*uart_idx );
	printf("CLK_CTRL=%02X\n", i );
	
	//RBR寄存器读取
	j=(s&0x80);
	if(j==0)  //DLAB=0
	{
        i = ReadCH9434Data( CH9434_UARTx_RBR_ADD+0x10*uart_idx );
	    printf("RBR1=%02X\n", i );
	}
	if(j!=0)  //DLAB=1
	{
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, s&0x7f );
		i = ReadCH9434Data( CH9434_UARTx_RBR_ADD+0x10*uart_idx );
	    printf("RBR2=%02X\n", i );
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, s );
	}
	//IER寄存器读取
	s = ReadCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx );
	j=(s&0x80);
	if(j==0)  //DLAB=0
        i = ReadCH9434Data( CH9434_UARTx_IER_ADD+0x10*uart_idx );
	    printf("IER1=%02X\n", i );
	if(j!=0)  //DLAB=1
	{
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, s&0x7f );
		i = ReadCH9434Data( CH9434_UARTx_IER_ADD+0x10*uart_idx );
	    printf("IER2=%02X\n", i );
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, s );
	}
	
	//IIR寄存器读取
	i = ReadCH9434Data( CH9434_UARTx_IIR_ADD+0x10*uart_idx );
	printf("IIR=%02X\n", i );
	//LCR寄存器读取
	i = ReadCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx );
	printf("LCR=%02X\n", i );
	//MCR寄存器读取
	i = ReadCH9434Data( CH9434_UARTx_MCR_ADD+0x10*uart_idx );
	printf("MCR=%02X\n", i );
	//LSR寄存器读取
	i = ReadCH9434Data( CH9434_UARTx_LSR_ADD+0x10*uart_idx );
	printf("LSR=%02X\n", i );
	//MSR寄存器读取
	i = ReadCH9434Data( CH9434_UARTx_MSR_ADD+0x10*uart_idx );
	printf("MSR=%02X\n", i );
	//SCR寄存器读取
	i = ReadCH9434Data( CH9434_UARTx_SCR_ADD+0x10*uart_idx );
	printf("SCR=%02X\n", i );
	
	//DLL寄存器读取
	s = ReadCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx );
	j=(s&0x80);
	if(j!=0)  //DLAB=1
	{
        i = ReadCH9434Data( CH9434_UARTx_DLL_ADD+0x10*uart_idx );
	    printf("DLL1=%02X\n", i );
	}
	if(j==0)  //DLAB=0
	{
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, 0xff );
		i = ReadCH9434Data( CH9434_UARTx_DLL_ADD+0x10*uart_idx );
	    printf("DLL2=%02X\n", i );
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, s );
	}
	
	//DLM寄存器读取
	s = ReadCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx );
	j=(s&0x80);
	if(j!=0)  //DLAB=1
	{
        i = ReadCH9434Data( CH9434_UARTx_DLM_ADD+0x10*uart_idx );
	    printf("DLM1=%02X\n", i );
	}
	if(j==0)  //DLAB=0
	{
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, 0xff );
		i = ReadCH9434Data( CH9434_UARTx_DLM_ADD+0x10*uart_idx );
	    printf("DLM2=%02X\n", i );
		WriteCH9434Data( CH9434_UARTx_LCR_ADD+0x10*uart_idx, s );
	}
}

 

四、硬件连接

   STM32        CH9434
    PB15 <<-->> SDI
    PB14 <<-->> SDO
    PB13 <<-->> SCK
    PB12 <<-->> CS
    PB10 <<-->> INT
 

五、测试&结果

移植代码成功

官方提供的代码本来就是基于STM32的代码,所以移植起来很快,基本没有修改的地方。如果是其他平台的主控单片机,需要修改的就是接口函数的3个地方,如下

/* US延时函数 */
void CH9434_US_DELAY(void);

/* SPI接口SCS引脚控制,0:低电平  1:高电平 */ 
void CH9434_SPI_SCS_OP(u8_t dat);

/* SPI交换一个字节接口 */
u8_t CH9434_SPI_WRITE_BYTE(u8_t dat);
将以上三个函数改成对应自己主控的函数即可

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第一章 嵌入式开发系统概况(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、代码分析
第一章 嵌入式开发系统概况(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分钟

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值