自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

baron-周贺贺-代码改变世界ctw

【介绍】: 某外企资深安全工程师、阅码场资深讲师、51CTO编辑、CSDN博客专家... 【研究方向】:安全/虚拟化、Trustzone、TEE、SOC架构、ARM架构、终端安全/手机安全/设备安全/系统安全、Linux Kernel安全、Android

  • 博客(44)
  • 资源 (21)
  • 问答 (1)
  • 收藏
  • 关注

原创 UltraEdit-64中文安装

UltraEdit

2020-10-31 19:40:54 1566

原创 optee的同步方法

optee的同步方法有三种:spin-lock, mutex, and condvar1、spin-lock在使用cpu_spin_lock之前,需先关闭foreign interrupt,如果不关闭则会assertstatic inline void cpu_spin_lock(unsigned int *lock){cpu_spin_lock_no_dldetect(lock);}static inline void cpu_spin_lock_no_dldetect(unsigned i

2020-10-31 19:37:54 1133

原创 window使用笔记

1、在插入字符的时候会自动删除后面的字符怎么办?当年不小心按到什么键时,光标的闪烁也从竖线变成了下划线,这个时候你发现你想插入一个字符,但会自动删除后面的字符。其实你只要搜索“window的insert键盘怎么按” 即可对于thinkpad笔记本,只需按" Fn + insert" 键即可...

2020-10-31 19:27:51 245

原创 ARM Trustzone介绍-视频学习

ARM Cache介绍

2020-10-31 08:35:35 1850

原创 [mmu/cache]-Cache Type Register(CTR)寄存器介绍-InProgress

CTR_EL0, Cache Type Register(1)、DminLine/IminLineLog2 of the number of words in the smallest cache line of all the data caches and unified caches that are controlled by the PE.获取d-cache cache-line的示例代码: .macro dcache_line_size, reg, tmp

2020-10-30 13:36:00 4175 1

原创 [mmu/cache]-cache在linux和optee中的应用-InProgress

在trustzone技术背景下,linux+optee系统环境,当cpu访问一块内存时,会经过memory filter的过滤,如果我将一块内存配置成secure memory,那么当cpu发起访问的时候,会被memroy filter挡回去,返回一个AXI Error.但是在secure memory已经缓存到了cache的情况下,如果cpu再去访问该内存,cpu直接读写cache,就不经过memory filter,那么是如何保证cache安全的呢?第一种情况:在配置该内存位secure属性后,

2020-10-30 09:40:03 1946

原创 [gic]-ARM gicv3/gicv2的总结和介绍-PPT

gic,gicv2,gicv3,中断控制器,IRQ,FIQ,Serror, 中断,同步异常,异步异常,TF-A,TF-M,ATF,TrustedFirmware,trustzone,TEE,optee,trusty,tlk,lk,armv8,armv9,arm,secureboot,BL31,BL32,BL1,BL2,hypervisor,终端安全,secureboot,security,virtulization

2020-10-30 09:13:31 3497 1

原创 ARMV8-aarch64的寄存器介绍(二)

1、aarch64通用寄存器ARMV8-aarch64有31个64位的寄存器 : x0-x30, 其中x29是Frame pointer(FP), x30是procedure link register(LR)2、aarch64特殊寄存器(sp pc spsr elr xzr等)在aarch64中,没有x31或w31寄存器,但是在一些指令或软件编码中,经常将数字31做为XZR或SP4、Stack pointer(sp)寄存器介绍默认情况下,来了一个异常后,选择当前异常级别的sp,例如来了一个

2020-10-29 23:12:45 6345

原创 ARM trustzone的安全扩展介绍-一篇就够了

1、ARM Trustzone的安全扩展简介ARM Trustzone是什么? ARM Trustzone不具体指一个硬件,也不是一个软件,而是一套技术一套标志,在支持ARM Trustzone的SOC中,需按照ARM Trustzone技术对各个子模块进行设计。(1)、AMBA-AXI总线的扩展, 增加了标志secure读和写地址线:AWPROT[1]和ARPROT[1](2)、processor的扩展(或者说master的扩展),在ARM Core内部增加了SCR.NS比特位,这样ARM Co

2020-10-29 23:11:19 8440 1

原创 [ATF]-ATF的代码学习篇-一篇就够了

★★★ 个人博客导读首页—点击此处 ★★★.说明:在默认情况下,本文讲述的都是ARMV8-aarch64架构,linux kernel 64位文章目录1、ATF里都有什么?2、ATF的编译3、ATF的启动4、进入ATF的和退出ATF方式(1)、进入ATF的方式(2)、退出ATF的方式5、ATF中向量表的介绍6、ATF中栈的设置7、ATF中寄存器的保存和恢复8、ATF的rt_svc介绍(runtime service)(1)、SMC Calling convention文档(2)、DECLARE_.

2020-10-29 23:10:11 9026 3

原创 [ARM-assembly]-ARM交叉编译器下编译的各个镜像的反汇编文件分析

文章目录1、ATF的dump文件(1)、section段(2)、符号表 symbol table(3)、汇编代码段 disassembly(4)、常量区1、ATF的dump文件cat bl31.elf(1)、section段architecture: aarch64, flags 0x00000112:EXEC_P, HAS_SYMS, D_PAGEDstart address 0x000000004ce01000Program Header: LOAD off 0x00000

2020-10-29 22:31:40 3877 1

原创 [mmu/cache]-ARM MMU的学习笔记-一篇就够了

MMU分为两个部分:Address translation 和 TLB其中Address translation也就包含如下14条系统指令而TLB就多了,包含数十条指令,如下是其中的一部分

2020-10-29 22:26:49 9130 6

原创 optee内存管理和页表建立

文章目录1、rodata section指向内存的结构体2、内存的分类和注册3、内存的属性(type)4、页表的构建1、rodata section指向内存的结构体rodata section的地址段 *(.rodata .rodata.*) /* * 8 to avoid unwanted padding between __start_ta_head_section * and the first structure in ta_head_section, in 64-bit

2020-10-29 17:27:05 3992

原创 [mmu/cache]-ARM cache的学习笔记-一篇就够了

文章目录1、cache的应用——什么时候需要刷cache1、cache的应用——什么时候需要刷cache(1)、cpu在往内存(src地址)写数据时,cache中会缓存这些数据,并没有立即同步到DDR, 只有该地址在cache中被换出去时候,才会同步到ddr(2)、Device和ddr直接无cache,device直接从ddr(src地址)中读取数据, 此时当然读不到前面cpu写入的数据.解决办法, 在device读取ddr数据之前, 先做__flush_dcache_area, 将cache数据

2020-10-29 12:47:52 11805 1

原创 [mmu/cache]-ARMV8 MMU内存管理中的Memory attributes和Cache policies

1、MMU页表中的内存属性介绍Memory attributes在MMU translation tables中为每一个region(entry)定义了memory和cache属性在该属性中的BIT[4:2]做为index指向指向了系统寄存器MAIR_ELn (Cache policies), 系统寄存器MAIR_ELn分成8*8bytesTLB做为一种特殊的cache,在它的entry中包含了memory type,所有修改MAIR_ELn寄存器后,在使用ISB指令或TLB invalidate

2020-10-29 09:47:44 5636

原创 optee中的中断处理详解

文章目录1、注册一个中断2、调用到中断处理函数1、注册一个中断注册中断很简单,itr_add和itr_enable就可以了struct itr_handler temp_irq = { 50, //中断号 0, //flag tzc_itr_handler, //handler &itr_tzc_data[0], //paramaters {NULL} //link};itr_add(&temp_irq);itr_enable(50);2、调

2020-10-28 19:55:44 3733

原创 [ARM异常]-ARMV8的异步异常(中断)详细介绍

1、VBAR寄存器的介绍VBAR(Vector Base Address Register)的寄存器有:如果是aarch64:VBAR_EL1VBAR_EL2VBAR_EL3如果是aarch32VBARHVBARMVBAR在开启MMU的系统,VBAR中写入的是虚拟地址,以VBAR_EL1为例,介绍下field的使用:Bits [10:0] reservedBits [11:63]:如果不支持ARMv8.2-LVA(Large VA support:使用64kb页面时,

2020-10-26 14:35:39 5728

原创 [ARM异常]-ARMV8的中断的routing和Mask表

Asynchronous exception routing1、Routing when both EL3 and EL2 are implemented (continued)2、Routing when EL3 is implemented and EL2 is not implemented3、Routing when EL3 is not implemented and EL2 is implementedAsynchronous exception masking1、Physic

2020-10-26 12:13:12 3787

原创 [mmu/cache]-MMU的寄存器学习

文章目录1、PAR_EL1, Physical Address Register1、PAR_EL1, Physical Address Register寄存器:寄存器读写:MRS <Xt>, PAR_EL1MSR PAR_EL1, <Xt>SH : Shareability attribute, for the returned output address. Permitted values are:0b00 Non-shareable.0b10 Outer S

2020-10-25 11:52:08 2278

原创 [mmu/cache]-cache的一些基本概念介绍

文章目录1、Cache的一些概念Cache分配策略(Cache allocation policy)(1)、读分配(read allocation)(2)、写分配(write allocation)Cache更新策略(Cache update policy)(3)、写直通(write through)(4)、写回(write back)properties of normal memory(5)、inner and outer1、Cache的一些概念Cache分配策略(Cache allocation

2020-10-23 18:22:05 4369 1

原创 [register]-ARMV8-aarch64-通用寄存器介绍

X0-X7 Argument registersThese are used to pass parameters to a function and to return a result. They can be used as scratch registers or as caller-saved register variables that can hold intermediate values within a function, between calls to other un.

2020-10-22 13:43:36 4653

原创 [ATF]-中断配置:SCR.FIQ/SCR.IRQ的配置详解

1、ARMV8 SCR.FIQ/SCR.IRQ的bit位定义意思就是说,如果SCR.IRQ=0,IRQ中断不会target到EL3,如果SCR.IRQ=1,则IRQ将会被target到EL3同样FIQ也是如此,如果SCR.FIQ=0,FIQ中断不会target到EL3,如果SCR.FIQ=1,则FIQ将会被target到EL32、SCR.FIQ/SCR.IRQ的配置那么SCR.FIQ/SCR.IRQ是在哪里配置的呢? 因为SCR只有SCR_EL3寄存器,只能在EL3级别操作.在linux+opt

2020-10-21 20:45:22 3510

原创 [architecture]-ARMv8/armv7/linux的栈/sp的学习和总结

1、ARMV8 ARMV7的SP寄存器的介绍(1)、ARMV7-aarch32的SP寄存器在ARMV8-aarch32的状态下,有以下SP寄存器spsp_usrsp_svcsp_abtsp_undsp_irqsp_fiqsp_monsp_hyp注意:在armv7上,arm有七种模式:user、system、supervisor、abort、undefined、irq、fiq, 再加两个扩展模式:hyp、monitor(2)、ARMV8-aarch32的SP寄存器ASRMV8为

2020-10-21 10:23:38 4357 2

原创 Android init.rc执行顺序

适用于android9极其之前的版本所有的action运行于service之前下面为各个section的执行顺序,英文编号的section是系统内建的(写死在init.c中的命令)early-init a) wait_for_coldboot_done b) property_init c) keychord_int d) console_init e) set_init_propertiesinit early-fsfspost-fs.

2020-10-21 09:34:50 2142

原创 [crypto]-02-非对称加解密RSA原理概念详解

说明:本文使用的数据来自网络,重复的太多了,也不知道哪篇是原创.随机选择两个不相等的质数 : p=61、q=53计算 n = p × q = 61×53 = 3233计算n的欧拉函数 : φ(n) = (p-1)(q-1) = 3120随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质, 我们选择一个 e=17计算e对于φ(n)的模反元素d : d*e%φ(n)=1支持 n e d都算出来了,n=3233,e=17,d=2753,所以公钥就是 (3233,.

2020-10-20 13:13:20 1997 2

原创 optee堆Virtualization(hypervisor)的支持

1、一些概念的介绍optee提供虚拟化的支持, 可以在多个VMs上的optee os上跑TAs. 一个VM不能影响到另外一个VM;启用虚拟化支持之后,optee将依赖hypervisor,因为只有hypervisor才知道当前使用哪个VM的optee.hypervisor负责创建和销毁VMs,而且在大多数场景下, hypervisor会开机two-state MMU,所有VMs看到的不是真实的物理地址,二十IPA(intermediate physical addresses)。也就说optee只能

2020-10-20 09:49:11 3834

原创 optee内核中栈的介绍(一)

文章目录1、optee内核的反汇编文件2、optee中的内核栈的定义3、optee中的内核栈的设置1、optee内核的反汇编文件内核栈定义在nozi段out/arm-plat-xxxx/core/tee.elf: file format elf64-littleaarch64out/arm-plat-xxxx/core/tee.elfarchitecture: aarch64, flags 0x00000112:EXEC_P, HAS_SYMS, D_PAGEDstart addres

2020-10-20 09:17:13 3765

原创 [hypervisor]-AArch64 (hypervisor)Virtualization学习笔记

主流的操作系统都有一个假设,就是这个系统有一个特权模式下的os,之上在跑多个非特权模式的APP.而ARM的虚拟化技术就是在同一个系统上共存多个操作系统. 实现这种虚拟core需要硬件的扩展(加速虚拟机之间的切换)和hypervisor软件层的实现.Virtualization是一个允许多个操作系统共享一套硬件的程序, 下面是一个支持Virtualization的软件框图实现Virtualization需要使用一下several architectural features:• A dedicate

2020-10-20 09:12:21 3818

原创 optee内核中栈的介绍(二)

目录1、在optee中的栈内存:2、optee中的栈指针3、在不同阶段使用不同的栈内存和栈指针★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★1、在optee中的栈内存:(1)、Secure monitor stack (128 bytes),绑定cpu, 给armv7使用的(2)、Temp stack (small ~1KB) 128,绑定cpu, 状态切换时使用的, 使用该栈时interrupt是关闭的(3)、Abort stack (medium ~2KB),绑定cpu, 取数据或

2020-10-19 20:06:15 3491

原创 [工具]-脚本自动化工具:按照linux kernel标准格式化输出文件(format_file)

import sysimport osconditional_str = [ "if", "while", "for"]def table_space(tag_count): total_str="" if tag_count == 0: return total_str for num in range(0,tag_count): total_str += '\t' return total_strdef is_space_line(line): if '' ==

2020-10-19 20:03:07 1956 2

原创 optee中User TA的加载和运行

文章目录1、tee_entry_std :std smc的调用2、open_session1、tee_entry_std :std smc的调用在linux kernel中,通过GP标准调用的与TA通信的命令(opensession\invoke\closession)其实都是std smc call。该smc调用后,会进入到TEE中的tee_entry_std中:/* * Note: this function is weak just to make it possible to exclud

2020-10-19 19:55:33 4209 1

原创 optee aarch64体系下栈的设计(sp_el0/sp_el1)

文章目录1、设置sp(1)、stack_tmp和stack_abt(2)、set_sp函数(宏)分析(3)、set_sp的使用2、thread_core_local3、thread_init_per_cpu4、异常进来之后,设置tmp栈(sp_el0)(1)、剖析一个irq异常程序Notes for AArch64There are only two stack pointers, SP_EL1 and SP_EL0, available for OP-TEE in AArch64. When an

2020-10-19 16:39:52 2710

原创 [register]-ARMV8-aarch64 部分系统寄存器总结(必背)

ELR_ELx 异常链接寄存器该寄存器只有ELR_EL1 ELR_EL2 ELR_EL3, 没用ELR_EL0. 因为异常不会routing(target)到EL0.例如在user mode时触发了一个target到EL1的irq异常,那么会将PC指针保持到ELR_EL1中,然后跳转到EL1的异常向量表中;user mode时触发了一个target到EL3的irq异常,,那么会将PC指针保持到ELR_EL3中,然后跳转到EL3的异常向量表中;ELR_ELx (exception Syn...

2020-10-16 13:21:42 5436 1

原创 [思考]-32位的应用程序为什么不能跑64位的应用程序

在ARM文档中,可以找到如下两句话:When the processor moves from a higher to a lower Exception level, the Execution state can stay the same, or it can switch from AArch64 to AArch32.When moving from a lower to a higher Exception level, the Execution state can stay the s

2020-10-16 10:24:54 2745 2

原创 [实验]-从汇编代码来看volatile关键字的作用

环境aarch64的交叉编译器我们将C语言翻译成汇编代码,来看volatile关键字的作用我们先看一段C语言代码void udelay(uint64_t usec){ uint64_t start, cnt, delta,freq; volatile uint64_t delta_us = 0; //------------------在这里定义了一个volatile变量 uint64_t reference_ratio = 16;

2020-10-16 09:39:56 2268

原创 ARM Trustzone的安全扩展介绍-精简版-思维导图

画了一张图来说明吧

2020-10-15 13:51:22 2307

原创 [architecture]-AMRV7和ARMV8中的一些细微差异

文章目录1、svc和swi的区别1、svc和swi的区别svc和swi都是supervisor call指令,都是系统调用.再armv7之前,用的都是swi,触发异步异常,进入vector_swi异常向量表;在armv8-arch64架构下,抛弃了swi,改用了svc,触发的是同步异常,进入同步异常向量表sync_exception_aarch64...

2020-10-15 09:56:58 2020

原创 ARM架构中MMU/TLB/Cache的一些概念和寄存器

1、一些基本概念(1)、Write-through 和 Write-backWrite-through- Write is done synchronously both to the cache and to the backing store.Write-back (or Write-behind) - Writing is done only to the cache. A modified cache block is written back to the store, just befor

2020-10-14 09:25:52 3577

原创 aarch64的TCR寄存器介绍

在ARM Core中,还有几个相关的系统寄存器:TCR_EL1TCR_EL2TCR_EL3(1)、T1SZ、T0SZT1SZ, bits [21:16] 通过TTBR1寻址的内存区域的大小偏移量,也就是TTBR1基地址下的一级页表的大小T0SZ, bits [5:0](2)、ORGN1、IRGN1、ORGN0、IRGN0其实可以总结为这样:...

2020-10-13 17:55:52 4034

原创 [ARM异常]-ARMV8-aarch64异常和中断处理概念详细介绍

文章目录1、异常和中断的概念2、异常产生的方法:(1)、Abort :(2)、Reset(3)、同步异常(4)、异步异常(中断)1、异常和中断的概念(AArch64 Exception and Interrupt Handling)异常是指需要特权软件(an exception handler))采取某些操作,以确保系统的平稳运行中断有时用作异常的同义词。但是对于ARM的术语来说,中断是异步异常,只是异常的一种;异常是一个事件(而不是分支或跳转指令)导致指令的正常顺序执行被修改。一个中断是一个异

2020-10-12 13:13:52 4749 1

Armv9的RME安全架构介绍

QEMU-based Simulation Platform for ARM CCA

2023-07-03

基于英飞凌产品的汽车EPS方案介绍

随着对车辆的转向性能以及能耗标准的不断提高,作为一种有效的性能改进和节能手段,电动助力转向系统(EPS)正替代传统的液压助力转向系统(HPS)而被越来越多的中小型汽车所采用。 本文将从北京晶川电子技术发展有限责任公司和英飞凌科技公司合作开发的一个汽车电动助力转向系统参考方案出发,介绍EPS的一般结构及其电控单元的一般原理。在此基础上本文将着重介绍英飞凌对于EPS电控单元的理解并详细介绍该单元基于英飞凌产品上的实现方案。通过对所用器件的说明我们将分析该方案的突出特点。最后,本文将分析EPS电控单元的发展趋势并简介英飞凌公司所采取的与之对应的解决方案。

2023-06-23

面向安全要求严苛的应用的飞思卡尔双核控制器系列

电子稳定性控制、动力转向与自适应巡航控制有什么共同之处?对于系统设计师来说,设计出此类系统、同时满足一流的功能性安全要求是一项极具挑战性的任务。应用功能的数量和复杂性都在上升,开发成本压力很高,走向市场的时间在缩短。 针对采用复杂的控制算法、且安全要求严苛的应用的设计工程师,看似有广泛的系统架构进行选择。然而,当今现有的大多数微控制器解决方案或者缺乏灵活性,不能支持各种功能性安全概念,或者要求在安全软件方面投入很大。另一方面,额外的软件增加了复杂度并更容易导致系统故障。 因而,我们为 MPC564xL系列双核控制器的开发提出了以下的口号: 高效—提供最高性能水平(以更少的投入,实现更多产出),更低的时钟频率,并实现智能外围协调 灵活—构建一种支持多重安全架构的双核概念并让用户在性能和安全水平之间取得平衡 安全—形成一个符合 SIL3/ASIL D 标准的安全概念并通过在硬件中加入关键安全组件和自测功能降低软件复杂度

2023-06-23

汽车电动助力转向系统的研究与方案-英飞凌

现代汽车技术追求高效节能,高舒适性和高安全性三大目标。 作为汽车最重要的子系统 之一,转向系统的发展也一直努力追求达到这些目标。 与传统液压助力转向系统(HPS)相比, 电动助力转向系统(EPS)能节省油耗约 3%~5%,具有结构精巧、节能环保、安全舒适等优点, 是汽车助力转向系统的发展方向。 英飞凌作为世界第二大车用半导体供应商,一直致力于开发新的产品以适应于电动助力 转向系统的发展。本文首先介绍转向系统的市场分析以及 EPS 的分类及其基本功能, 然后在 此基础上介绍英飞凌对于基于两种不同电机的 EPS 系统的解决方案及其产品,最后本文分析 了 EPS 的两个新方向以及英飞凌将采用的解决方案和新的产品技术。 关键词: 电动助力转向 EPS 英飞凌 Infineon

2023-06-23

支持ASIL D 应用的安全集成硬件解决方案

在汽车应用中,人体与电气/电子系统之间的交互显著增加,具体而言是指在管理对安全至关重要的决策时的交互,这些决策会对驾驶员的健康产生严重影响。随着这些先进的安全系统从被动安全不断演进到更主动的安全系统,包括预测安全系统,甚至自主车概念等,汽车行业已经并将继续出台严格的要求。 管理这些对安全至关重要的决策会增加安全系统的复杂性和额外的软件内容。复杂性增加会不断增加系统和/或随机硬件故障的风险。为了帮助确保最高的安全标准并影响安全汽车系统的开发,汽车行业已经发布了最新的汽车安全标准 ISO 26262。 本文讨论了对各种安全架构的实施,并介绍了一个创新的集成安全解决方案,以简化系统级功能安全设计,包括遵从 ISO 26262 标准。

2023-06-23

英飞凌汽车安全解决方案

英飞凌汽车安全解决方案

2023-06-23

论文:函数信号发生器制作

本设计运用了基于NiosⅡ嵌入式处理器的SOPC技术,设计完成了函数信号发生器系统。本系统的DDS 信号发生部分由FPGA最小系统加DAC904构成,控制与信息显示部分由单片机最小系统加键盘,液晶显示器构成。单片机接受键盘指令通过串口将控制字,发送到FPGA内部的NIOSII处理器,由NIOS处理器来控制FPGA内部的信号发生部分实现各项功能。本系统充分利用了EDA开发工具与FPGA内部资源,提高了系统的稳定性和抗干扰能力,得到很好的输出效果。

2023-06-23

论文:单相电参数测量仪

本系统以高精度电表集成电路CS5463为计量核心、以C8051F005单片机为控制核心,并辅以必要的外围电路,可以精确地测量电压、电流、频率、有功功率、无功功率、功率因数、电量等各种单相电参数。系统主要包括采集模块、信号调理模块、计量模块、控制模块、语音模块、通信模块等。同时还可以实现预购置电量设置、分时段计量、超限保护、语音报警、打印以及与上位机通信功能

2023-06-23

论文:简易数控充电电源

本系统以直流电源为核心,NEC upd78F0547单片机为主控制器,通过键盘来设置直流电源的输出电流,并可由液晶显示器显示输出的电压、电流值

2023-06-23

基于51单片机循迹智能小车

关键词: AT89C52 红外传感器 减速电机 光电管 霍尔元件 本次设计的简易智能电动车采用简单的人工智能技术,使用AT89C52作为小车的检测和控制核心。根据题目设定的行进及具体要求,分别采用红外传感器进行寻迹行驶、黑带采集及变速行驶,采用霍尔元件对小车行驶过程中的速度进行测量,并在终点进行行驶路程的测量,采用直流减速电机对小车实行较精确定位,由LCD显示出各项功能知识。由数码管进行行驶时间显示,由蜂鸣器及LED构成声光提示电路。最后,小车的运行过程中的各种自动化过程由单片机通过编程实现。

2023-06-23

C8051F005小车自动控制

关键词:单片机C8051F005,反射型光电传感器,角度传感器,PWM技术 本系统采用单片机C8051F005作为核心器件对小汽车行驶的自动控制。控制过程是利用反射型光电传感器识别路面黑线信息,保证小车能够有效的寻迹和停止。采用角度传感器测量坡度,通过数据采集系统的处理,完成电动小汽车在跷跷板处于任何角度时的速度及方向控制。利用PWM (脉宽调制)技术控制直流电机的转速,时间用数码管显示。本设计共使用五支反射型光电传感器,其中利用四支控制车轮的转向,一支控制前进、停止。整个系统较好的实现了题目的要求,达到了较高的性能指标。

2023-06-23

AT89C51红外避障小车

本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

2023-06-23

电动车跷跷板-全国大学生电子设计竞赛

本系统以51系列单片机89S52为控制中心,外加电机驱动集成电路L298、七段码译码显示集成电路74LS247、七段码数码管等外围元件控制电动车前进、后退、停止等运行状态,并显示所需时间、发出声光报警。本次设计前进、后退、停止等状态运行时间通过简单估算及实验测试最终确定,并通过单片机定时完成。单片机通过接收键盘信号确定小车的工作方式,从而启动具有相应定时参数的运行程序;单片机执行程序时根据定时信息适时发出控制信号给电机驱动集成电路L298;而L298通过输出高电压、低电压、零值电压来控制电动车的前进、后退、刹车、停止等运行模式。

2023-06-23

电动智能小车(完整论文)

80C51单片机、光电检测器、PWM调速、电动小车。 80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计是结合科研项目而确定的设计类课题。本系统以设计题目的要求为目的,采用80C51单片机为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。 采用的技术主要有: (1) 通过编程来控制小车的速度; (2) 传感器的有效应用; (3) 新型显示芯片的采用.

2023-06-23

TF-A LTS Proposal

TF-A LTS Proposal

2023-06-12

数字车钥匙CCC规范V1.1

数字车钥匙CCC规范 : Car Connectivity Consortium

2023-04-12

Armv8/Armv9架构入门指南(cortex-A系列)

2022年最新,300多页,Armv8/Armv9架构入门指南(cortex-A系列)

2023-04-12

Armv8/Armv9指令集速查手册

2023年最新,Armv8/Armv9指令集速查手册

2023-04-12

Armv8/Armv9寄存器速查手册

2023年最新,Armv8/Armv9寄存器速查手册

2023-04-12

Armv8/Armv9异常中断深度学习系列

Armv8/Armv9异常中断深度学习系列

2023-04-12

深度学习cache系列

Armv8/Armv9的,深度学习cache系列,2023最新版本

2023-04-12

Learning the Arm Architecture(中文)

学习Arm Architecture的资料,总结后的笔记,共计120多页

2023-04-12

Armv8/Armv9 cache深度学习

Armv8/Armv9 cache深度学习

2023-04-12

ARMv8/ARMv9指令集概述(中文)PDF

ARMv8/ARMv9指令集概述(中文)PDF

2023-04-12

嵌入式Linux C语言初学者项目实践:火车票订票系统

2023年最新,480行代码实现火车票订票系统,适合嵌入式Linux C语言初学者,附编译和使用文档,支持: 1:Insert a train information 2:Inquire a train information 3:Book a train ticket 4:Update the train information 5:Advice to you about the train 6:save information to file 7:quit the system

2023-04-12

GlobalPlatform规范中的密码学算法总结

GlobalPlatform TEE规范中的密码学算法总结。包含彩图讲解、代码示例、函数总结等

2022-06-12

seL4-manual-latest.pdf

微内核白皮书、sel4微内核白皮书、seL4-whitepaper.pdf

2021-11-19

DDI0487G_b_armv8_arm.pdf

ARMV8文档,2021.9最新,armv8.8

2021-09-13

optee-readthedocs-io-en-latest.pdf

optee官方文档,2021年最新

2021-08-05

Linux-Kernel官方文档.pdf

3882页Linux Kernel Documentation; Linux Kernel官方文档

2021-08-05

GPD_TEE_TUI_Extn_Biometrics_API_v1.0_PublicRelease_2018_04_03.pdf

2021最新版: GP TEE TUI API文档

2021-08-05

GPD_TEE_Internal_Core_API_Specification_v1.3_PublicRelease.pdf

2021年最新版: GP TEE internal Core API

2021-08-05

TrustZone for Armv8-A

TrustZone for Armv8-A ARM Trustzone的详细介绍

2020-12-25

iOS_Security_Guide-苹果安全白皮书

iOS_Security_Guide-2015-9

2020-12-25

移动应用(App)数据安全与个人信息保护-白皮书

移动应用(App)数据安全与个人信息保护-2019

2020-12-25

samsung-KNOX安全白皮书

samsung-KNOX

2020-12-25

华为-EMUI 8.0安全技术白皮书

EMUI 8.0安全技术白皮书

2020-12-25

oppo-ColorOS 11安全技术白皮书

ColorOS 11安全技术白皮书

2020-12-25

移动金融应用安全白皮书

移动金融应用安全白皮书

2020-12-25

GlobalPlatform_TEE_Whitepaper

GlobalPlatform_TEE_Whitepaper 安全白皮书

2020-12-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除