编译Hi3516DV300的SDK

编译Hi3516DV300的SDK前言如果您之前编译过EV200的SDK,那么您会发现,编译DV300的过程很类似,软件包直接拷贝,无需重新下载,通常在1-2个小时内能搞定SDK的编译。DV300的入门会简洁介绍,如果遇到编译错误,请你阅读EV200的编译过程和相应目录下的readme查询解决方法。欢迎访问海思开源平台:www.dopi.vip.环境ubuntu18.04amd64dopi@ubuntu:~$cat/proc/versionLinuxversion5.3.0-62-generic(buildd@

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

如果您之前编译过EV200的SDK,那么您会发现,编译DV300的过程很类似,软件包直接拷贝,无需重新下载,通常在1-2个小时内能搞定SDK的编译。
DV300的入门会简洁介绍,如果遇到编译错误,请你阅读EV200的编译过程和相应目录下的readme查询解决方法。

欢迎访问海思开源平台:www.dopi.vip.

环境

  1. ubuntu18.04 amd64
dopi@ubuntu:~$ cat /proc/version
Linux version 5.3.0-62-generic (buildd@lcy01-amd64-004) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #56~18.04.1-Ubuntu SMP Wed Jun 24 16:17:03 UTC 2020
  1. 海思官方dv300 Linux SDK
    链接:https://pan.baidu.com/s/14CUm62hqorvYKQHR4CXIDQ
    提取码:sjzg

解决问题的思路

  1. 遇到错误不要着急搜索引擎搜索,往往在出错文件的位置,会有一个readme.txt。 会告诉依赖项,以及解决方法。

  2. 遇到tar解压报错,估计你图快,windows下载后,拷贝到ubuntu中,文件会出错,google也救不了,这时候静下心来,wget重新慢慢下载,再编译试试。

  3. 提示系统命令缺失,可直接搜索。


参考文件

1.package\osdrv\readme.cn

1.osdrv 顶层 Makefile 使用说明
本目录下的编译脚本支持 arm-himix200-linux,arm-himix200-linux工具链对应glibc库。具体命令如下(以hi3516dv300举例)
注意:
	由于开源工具整改,部分开源工具不再提供源码包,客户编译OSDRV时需要自行下载:
	a:linux-4.9.37.tar.gz (https://www.kernel.org/pub/)
		将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中

	b:yaffs2utils-0.2.9.tar.gz (https://github.com/dorigom/yaffs2utils/releases)
		将下载的 yaffs2utils-0.2.9.tar.gz 存放到osdrv的tools/pc/mkyaffs2image/目录中

	c:gdb-7.9.1.tar.gz  (http://ftp.gnu.org/gnu/gdb/)
		将下载的 gdb-7.9.1.tar.gz 存放到 osdrv的tools/board/gdb/目录中

	d:ncurses-6.0.tar.gz  ( http://ftp.gnu.org/gnu/ncurses/)
		将下载的 ncurses-6.0.tar.gz 存放到 osdrv的tools/board/gdb/目录中

	e:util-linux-2.31.tar.gz (https://www.kernel.org/pub/linux/utils/util-linux/v2.31)

		将下载的 util-linux-2.31.tar.gz 存放到 osdrv的tools/pc/cramfs_tool/目录中

(1)编译整个osdrv目录:
	注意:默认不发布内核源码包,只发布补丁文件。内核源码包需自行从开源社区上下载。
	      从linux开源社区下载v4.9.37版本的内核:
     	1)进入网站:www.kernel.org
     	2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
     	3)选择linux/菜单项,进入子页面
     	4)选择kernel/菜单项,进入子页面
     	5)选择v4.x/菜单项,进入子页面
     	6)下载linux-4.9.37.tar.gz (或者linux-4.9.37.tar.xz)到osdrv/opensource/kernel目录下     
    
	make all

注意:由于Makefile中文件系统编译依赖组件较多,不能保证单独编译的文件系统可用,建议采用make all编译;
        但可单独编译uboot,kernel;

    可以传如下参数:
    a, BOOT_MEDIA:spi(default) or emmc
    b, CHIP:hi3516dv300(default) 、 hi3516av300 or hi3516cv500
    c, 如果客户想要更换可以使用TARGET_XLSM=*.xlsm来指定所需要的u-boot表格文件

(2)清除整个osdrv目录的编译文件:
	make OSDRV_CROSS=arm-himix200-linux clean
(3)彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:
	make OSDRV_CROSS=arm-himix200-linux distclean

(4)单独编译kernel(以hi3516dv300举例):
	注意:单独编译内核之前请先阅读osdrv/opensource/kernel下的readme_cn.txt说明。

	待进入内核源代码目录后,执行以下操作
	cp arch/arm/configs/hi3516dv300_smp_defconfig  .config
    (emmc启动时执行如下操作:cp arch/arm/configs/hi3516dv300_emmc_smp_defconfig  .config)

	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage

(5)单独编译模块(以hi3516dv300举例):
	待进入内核源代码目录后,执行以下操作
	cp arch/arm/configs/hi3516dv300_smp_defconfig  .config
    (emmc启动时执行如下操作:cp arch/arm/configs/hi3516dv300_emmc_smp_defconfig  .config)
	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- modules

(6)单独编译uboot(以hi3516dv300举例)(注意:发布包默认按照DMEB板的配置发布,如果客户单板和DEMB板不一致,需要根据客户自己的单板环境修改uboot表格才能使用,否则可能导致uboot无法启动或者其他问题。)
    待进入boot源代码目录后,执行以下操作
	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_defconfig
	(emmc启动时执行如下操作:make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_emmc_defconfig)

	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- -j 20

    make -C ../../../tools/pc/hi_gzip

    cp ../../../tools/pc/hi_gzip/bin/gzip arch/arm/cpu/armv7/hi3516dv300/hw_compressed/ -rf 

    Windowns下进入到osdrv/tools/pc/uboot_tools/目录下打开对应单板的Excel文件,在main标签中点击"Generate reg bin file"按钮,生成reg_info.bin即为对应平台的表格文件。
    从osdrv/tools/pc/uboot_tools目录拷贝reg_info.bin到boot源代码目录,重命名为.reg
    cp ../../../tools/pc/uboot_tools/reg_info.bin .reg

    make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin
    
    opensource/uboot/u-boot-2016.11下生成的u-boot-hi3516dv300.bin即为可用的u-boot镜像
	
(7)制作文件系统镜像:
在osdrv/pub/中有已经编译好的文件系统,因此无需再重复编译文件系统,只需要根据单板上flash的规格型号制作文件系统镜像即可。

	SPI NOR Flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到SPI NOR Flash的块大小。这些信息会在uboot启动时
	会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。
	下面以块大小为64KB为例:
	osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x10000 -o osdrv/pub/rootfs_uclibc_64k.jffs2
	或者
	osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc -l -e 0x10000 -o osdrv/pub/rootfs_glibc_64k.jffs2

    	Nand Flash使用yaffs2格式的镜像,制作yaffs2镜像时,需要用到nand flash的pagesize和ecc。这些信息会在uboot启动时会打
	印出来。建议使用时先直接运行mkyaffs2image工具,根据打印信息填写相关参数。
	下面以并口NAND的2KB pagesize、4bit ecc为例:
    	osdrv/pub/bin/pc/mkyaffs2image610 osdrv/pub/rootfs_uclibc osdrv/pub/rootfs_uclibc_2k_4bit.yaffs2 1 2
    	或者
    	osdrv/pub/bin/pc/mkyaffs2image610 osdrv/pub/rootfs_glibc osdrv/pub/rootfs_glibc_2k_4bit.yaffs2 1 2

    	Nand Flash使用UBI文件系统,在osdrv/tools/pc/ubi_sh下提供mkubiimg.sh工具用于制作UBI文件系统,需要用到Nand
	Flash的pagesize、blocksize和UBIFS分区的大小。
	以2KB pagesize, 128KB blocksize和UBI文件系统分区大小32MB为例:
	
	mkubiimg.sh hi3516dv300 2k 128k osdrv/pub/rootfs 32M osdrv/pub/bin/pc
	
	osdrv/pub/rootfs是根文件系统文件夹目录
	osdrv/pub/bin/pc是制作UBI文件系统镜像的工具目录
    	生成的rootfs_hi3516dv300_2k_128k_32M.ubifs,就是最终用于烧写的UBI文件系统镜像。

2. 镜像存放目录说明
编译完的image,rootfs等存放在osdrv/pub目录下
pub
├─ bin
│   ├─ board_glibc -------------------------------------------- himix200编译出的单板用工具
│   │   ├── ethtool
│   │   ├── flashcp
│   │   ├── flash_erase
│   │   ├── flash_otp_dump
│   │   ├── flash_otp_info
│   │   ├── gdb-arm-himix200-linux
│   │   ├── mtd_debug
│   │   ├── mtdinfo
│   │   ├── nanddump
│   │   ├── nandtest
│   │   ├── nandwrite
│   │   ├── sumtool
│   │   ├── ubiattach
│   │   ├── ubicrc32
│   │   ├── ubidetach
│   │   ├── ubiformat
│   │   ├── ubimkvol
│   │   ├── ubinfo
│   │   ├── ubinize
│   │   ├── ubirename
│   │   ├── ubirmvol
│   │   ├── ubirsvol
│   │   └── ubiupdatevol
│   └─ pc
│       ├── lzma
│       ├── mkfs.cramfs
│       ├── mkfs.jffs2
│       ├── mkfs.ubifs
│       ├── mkimage
│       ├── mksquashfs
│       └── ubinize
├─image_glibc ------------------------------------------------- himix200编译出的镜像文件
│   ├── uImage_hi3516dv300 ----------------------------------------- kernel镜像
│   ├── u-boot-hi3516dv300.bin ------------------------------------- u-boot镜像
│   ├── rootfs_hi3516dv300_64k.jffs2 ------------------------------- 64K jffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_128k.jffs2 ------------------------------ 128K jffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_256k.jffs2 ------------------------------ 256K jffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_2k_4bit.yaffs2 -------------------------- yaffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_2k_24bit.yaffs2 ------------------------- yaffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_4k_4bit.yaffs2 -------------------------- yaffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_4k_24bit.yaffs2 ------------------------- yaffs2 文件系统镜像
│   ├── rootfs_hi3516dv300_2k_128k_32M.ubifs------------------------ 2k 128k UBI 文件系统镜像
│   └── rootfs_hi3516dv300_4k_256k_50M.ubifs------------------------ 4k 256k UBI 文件系统镜像
│
├─ rootfs.ubiimg ----------------------------------------------- UBIFS根文件系统
├─ rootfs_glibc.tgz  ------------------------------------------- himix200编译出的rootfs文件系统

3.osdrv目录结构说明:
osdrv
├─Makefile ------------------------------ osdrv目录编译脚本
├─tools --------------------------------- 存放各种工具的目录
│  ├─board ------------------------------ 各种单板上使用工具
│  │  ├─ethtools ----------------------- ethtools工具
│  │  ├─reg-tools-1.0.0 ----------------- 寄存器读写工具
│  │  ├─udev-167 ------------------------ udev工具集
│  │  ├─mtd-utils ----------------------- flash裸读写工具集
│  │  ├─gdb ----------------------------- gdb工具
│  │  └─e2fsprogs ----------------------- mkfs工具集
│  └─pc ---------------------------------- 各种pc上使用工具
│      ├─jffs2_tool----------------------- jffs2文件系统制作工具
│      ├─cramfs_tool --------------------- cramfs文件系统制作工具
│      ├─squashfs4.3 --------------------- squashfs文件系统制作工具
│      ├─nand_production ----------------- nand量产工具
│      ├─lzma_tool ----------------------- lzma压缩工具
│      ├─zlib ---------------------------- zlib工具
│      ├─mkyaffs2image -- ---------------- yaffs2文件系统制作工具
│      └─uboot_tools ----------------------uboot镜像制作工具、xls文件及ddr初始化脚本、reg_info.bin制作工具
├─pub ----------------------------------- 存放各种镜像的目录
│  ├─image_glibc ------------------------ 基于himix200工具链编译,可供FLASH烧写的映像文件,包括uboot、内核、文件系统
│  ├─bin -------------------------------- 各种未放入根文件系统的工具
│  │  ├─pc ------------------------------ 在pc上执行的工具
│  │  ├─board_glibc --------------------- 基于himix200工具链编译,在单板上执行的工具
│  └─rootfs_glibc.tgz ------------------- 基于himix200工具链编译的根文件系统
├─opensource----------------------------- 存放各种开源源码目录
│  ├─busybox ---------------------------- 存放busybox源代码的目录
│  ├─uboot ------------------------------ 存放uboot及安全boot源代码的目录
│  └─kernel ----------------------------- 存放kernel源代码的目录
└─rootfs_scripts ------------------------- 存放根文件系统制作脚本的目录

4.注意事项
(1)在windows下复制源码包时,linux下的可执行文件可能变为非可执行文件,导致无法编译使用;u-boot或内核下编译后,会有很多符号链接文件,在windows下复制这些源码包, 会使源码包变的巨大,因为linux下的符号链接文件变为windows下实实在在的文件,因此源码包膨胀。因此使用时请注意不要在windows下复制源代码包。
(2)使用某一工具链编译后,如果需要更换工具链,请先将原工具链编译文件清除,然后再更换工具链编译。
(3)编译板端软件
    a.此芯片具有浮点运算单元和neon。文件系统中的库是采用兼容软浮点调用接口的硬浮点和neon编译而成,因此请用户注意,所有此芯片板端代码编译时需要在Makefile里面添加选项-mcpu=cortex-a7、-mfloat-abi=softfp和-mfpu=neon-vfpv4。
如:
对于A7:
    CFLAGS += -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -fno-aggressive-loop-optimizations
    CXXFlAGS +=-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -fno-aggressive-loop-optimizations
其中CXXFlAGS中的XX根据用户Makefile中所使用宏的具体名称来确定,e.g:CPPFLAGS。

kernel 下载

进入 osdrv/opensource/kernel/目下载linuxlinux-4.9.37.tar.gz

cd osdrv/opensource/kernel/
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.9.37.tar.gz

该方法下载很慢,建议迅雷下载,拷贝到osdrv/opensource/kernel/
执行log:

dopi@ubuntu:/usr/dopi/Hi3516EV200_SDK_V1.0.1.0/package$ cd osdrv/opensource/kernel/
dopi@ubuntu:/usr/dopi/Hi3516EV200_SDK_V1.0.1.0/package/osdrv/opensource/kernel$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.9.37.tar.gz
--2020-06-29 06:13:44--  https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.9.37.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 141696654 (135M) [application/x-gzip]
Saving to: ‘linux-4.9.37.tar.gz’

linux-4.9.37.tar.gz                        1%[>                                                                                ]   2.32M  8.69KB/s    eta 4h 18m 

下载yaffs2utils-0.2.9.tar.gz

cd osdrv/tools/pc/mkyaffs2image/
wget --no-check-certificate https://codeload.github.com/dorigom/yaffs2utils/tar.gz/0.2.9 -O yaffs2utils-0.2.9.tar.gz 

PS: wget指令下载https有些wget版本需要跳过https才能下载成功,使用–no-check-certificate 跳过,默认下载的文件可以使用-O参数修改文件名
执行log:

$ wget https://codeload.github.com/dorigom/yaffs2utils/tar.gz/0.2.9
--2020-06-29 06:23:09--  https://codeload.github.com/dorigom/yaffs2utils/tar.gz/0.2.9
Resolving codeload.github.com (codeload.github.com)... 13.229.189.0
Connecting to codeload.github.com (codeload.github.com)|13.229.189.0|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘0.2.9’

0.2.9                   [   <=>              ]  38.95K  82.5KB/s    in 0.5s    

2020-06-29 06:23:11 (82.5 KB/s) - ‘0.2.9’ saved [39880]

下载gdb-7.9.1.tar.gz

cd osdrv/tools/board/gdb/
wget http://ftp.gnu.org/gnu/gdb/gdb-7.9.1.tar.gz

下载ncurses-6.0.tar.gz

cd osdrv/tools/board/gdb/
wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz

下载util-linux-2.31.tar.gz

osdrv/tools/pc/cramfs_tool/
wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.31/util-linux-2.31.tar.gz

编译:

dopi@ubuntu:/usr/dopi/Hi3516EV200_SDK_V1.0.1.0/package$ cd osdrv/
dopi@ubuntu:/usr/dopi/Hi3516EV200_SDK_V1.0.1.0/package/osdrv$ make all

编译需要20多分钟,一次性编译通过,无错误。

operation complete,
489 objects in 2716 NAND pages.
/usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv
chmod 644 /usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv/pub/hi3516dv300_spi_smp_image_glibc/rootfs_hi3516dv300_4k_24bit.yaffs2
find /usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv/pub/rootfs_glibc/ -name '*svn' | xargs rm -rf
pushd /usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv/pub/rootfs_glibc; chmod +w usr/bin -R; chmod +w usr/sbin -R; chmod +w sbin -R; popd
/usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv/pub/rootfs_glibc /usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv
/usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv
pushd /usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv/pub;tar czf rootfs_glibc.tgz rootfs_glibc;rm rootfs_glibc -rf;popd
/usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv/pub /usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv
/usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv
---------finish osdrv work
dopi@ubuntu:/usr/dopi/dopi_dv300/Hi3516CV500_SDK_V2.0.2.0/package/osdrv$ 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190172.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux top命令 详解「建议收藏」

    linux top命令 详解「建议收藏」top命令主要用来观察和收集运行在系统上的进程的一些有用信息。ps只是一个快照,是ps命令执行的那一瞬间的系统中进程的快照。top则可以用于持续观察。第一步,在命令行键入top,回车进入top管理界面。第一行其实和uptime的执行效果是一样的。分析一下,12:48:06是当前运行这个命令的时候,机器的时间。up134days,19:36,指的是说这台机器,持续运行了134天了,启动于134天前的19:36。5users代表的是当前运行这个命令的时候,这台机器上总共登陆有5个用

    2022年9月24日
    1
  • VMware虚拟机安装Ubuntu20.04详细图文教程[通俗易懂]

    VMware虚拟机安装Ubuntu20.04详细图文教程[通俗易懂]Windows下VM16虚拟机安装Ubuntu20.04下载链接和手把手的详细教程,同时还有更换软件源和命令行安装VMTools实现跨系统复制粘贴教程

    2022年10月1日
    0
  • 数据挖掘项目总结文档模板_数据挖掘实训心得

    数据挖掘项目总结文档模板_数据挖掘实训心得数据挖掘项目总结文档1、文档概述1.1编写目的记录本次实验思路及流程,备忘用。1.2适用对象个人学习总结,描述有偏差之处陆续更进。2、业务理解与分析定义2.1需求概述针对传统网络入侵检测系统存在的误判以及漏检情况,采用数据挖掘的指导思想,通过大量的攻击样本数据进行知识发现,本次实验采用的kdd99数据集,其中包含了大量的模拟攻击行为。1998年美国国防

    2022年9月5日
    3
  • plc梯形图编程入门基础知识_plc梯形图实例详解

    plc梯形图编程入门基础知识_plc梯形图实例详解​上升沿下降沿梯形图解析上升沿:上升沿就是此点从不通到通的过程,在PLC里面表现就是只通一次。举例:上图,当按钮1未按下的时候按钮1是断开的,此点不通,当按钮1被按下,按钮1导通,上面上升沿指令表示当按钮1按下去后,PLC只通一次,后面不管按钮1是否按下,整条线路都不通。下降沿:下降沿就是此点从通到不通的过程,在PLC里面就表现就是只通一次。举例:上图,当按钮1已经按下,按钮1已经导通,在按一次使按钮1瑞口,当按钮1从导通到断开,这条线路通一次,通了以后按钮1不管是通…

    2022年9月11日
    0
  • c语言fsync函数,c – 如何在一个流上做fsync?

    c语言fsync函数,c – 如何在一个流上做fsync?不幸的是,查看标准没有提供basic_filebuf或任何basic_[io]?fstream类模板,以允许您提取底层的操作系统文件描述符(以fileno()为CstdioI/O的方式).也没有一个open()方法或构造函数将这样的文件描述符作为参数(这将允许您使用不同的机制打开文件并记录文件句柄).有basic_ostream::flush(),但是我怀疑这实际上并不调用fsyn…

    2022年5月23日
    37
  • 数字电路实验 05 – | 触发器及其应用[通俗易懂]

    数字电路实验 05 – | 触发器及其应用[通俗易懂]一、实验目的和任务掌握基本RS、JK、T和D触发器的逻辑功能。 掌握集成触发器的功能和使用方法。 熟悉触发器之间相互转换的方法。二、实验原理介绍触发器是能够存储1位二进制码的逻辑电路,它有两个互补输出端,其输出状态不仅与输入有关,而且还与原先的输出状态有关。触发器有两个稳定状态,用以表示逻辑状态“1”和“0”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存储器件,是构成各种时序电路的最基本逻辑单元。三、实验数据、计

    2022年7月13日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号