blogernice

导航

统计

文章分类 -  Boot

1 2 下一页

RTOS Magus CPU DDR Uart IIC SPI 中断 线程
u-boot之NAND启动与NOR启动的区别
摘要:u-boot之NAND启动与NOR启动的区别 nand启动与nor启动的区别主要分为以下几部分说明: 1、nand flash与nor flash的最主要区别 2、s3c2440的nand启动与nor启动原理 3、nand启动与nor启动的时候uboot做了什么 1、在JZ2440开发板上有两种Fl 阅读全文

posted @ 2021-06-27 21:44 blogernice 编辑

TrustZone
摘要:这篇文章源于老板想了解TrustZone,要求我写一篇文章简单介绍TrustZone的原理。既然是给领导看的,只介绍原理哪里够,因此也添加了公司自己现有TEE环境的设计、实现和发展,也顺带加入了一些题外话。也是因为要给领导看,所以文章也不能涉及太多技术细节,包括TrustZone模块的详细设计以及示 阅读全文

posted @ 2021-06-27 21:43 blogernice 编辑

ARM汇编:MRS和MSR指令
摘要:ARM汇编:MRS和MSR指令 ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据。 一:下面先来说说状态寄存器 针对32位的ARM处理器,状态寄存器就是一个32位长的寄存器。每个位的含义如下图: 分成了4部分: 1,条件标志位 N(Negative), Z(Zero), C(Carry), 阅读全文

posted @ 2020-10-19 14:50 blogernice 编辑

ARM汇编之MOV PC,LR
摘要:ARM汇编之MOV PC,LR BL NEXT ;跳转到子程序 ......... ;NEXT处执行 NEXT .......... MOV PC,LR ;从子程序返回 这里的BL是跳转的意思,LR(R14)保存了返回地址,PC(R15)是当前地址,把LR给PC就是从子程序返回。 1.SP(R13) 阅读全文

posted @ 2020-10-19 14:46 blogernice 编辑

ARM汇编:数据处理指令集:MOV、ADD、ADDS、ADC、SUB、SUBS、SBC、RSB、MUL、AND、ORR、EOR、BIC、CMP、TST、TEQ、LSL、LSR、ASR、RORV
摘要:ARM指令集——数据处理指令 数据处理指令有: MOV、ADD、ADDS、ADC、SUB、 SUBS、SBC、RSB、MUL、AND、 ORR、EOR、BIC、CMP、TST、 TEQ、LSL、LSR、ASR、RORV 数据处理指令语法 <操作{<cond>}{S}> <Rd>, <Rn>, <Op 阅读全文

posted @ 2020-10-19 14:44 blogernice 编辑

ARM的六大类指令集---LDR、LDRB、LDRH、STR、STRB、STRH
摘要:ARM微处理器支持加载/存储指令用于在寄存器和存储器之间传送数据,加载指令用于将存储器中的数据传送到寄存器,存储指令则完成相反的操作。常用的加载存储指令如下: — LDR 字数据加载指令 — LDRB 字节数据加载指令 — LDRH 半字数据加载指令 — STR 字数据存储指令 — STRB 字节数 阅读全文

posted @ 2020-10-19 14:40 blogernice 编辑

ARM汇编:汇编中IA、IB、DA、DB和FD、ED、FA、EA什么意思?
摘要:ARM指令的多数据传输(STM、LDM)中,提到:多寄存器的Load和Store指令分为2组:一组用于数据的存储与读取,对应于IA、IB、DA、DB,一组用于堆栈操作,对应于FD、ED、FA、EA, 两组中对应的指令含义相同。 IA:increase after ;表示数据传输后地址增加IB:inc 阅读全文

posted @ 2020-10-19 14:37 blogernice 编辑

ARM指令集
摘要:一、ARM指令的格式和分类 经典ARM指令格式如下: <opcode> {<cond>} {S} <Rd>,<Rn>,<operand2> <opcode> {<cond>} {S} <Rd>,<Rn>,<operand2> <opcode> {<cond>} {S} <Rd>,<Rn>,<oper 阅读全文

posted @ 2019-11-16 15:12 blogernice 编辑

详解 ARM Linux启动过程分析
摘要:本文以S3C2410 ARM处理器为例,详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。 1、引 言 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(bootloader), Linux 内核,文件系统,应用程序。 其中 bootload 阅读全文

posted @ 2019-11-14 17:17 blogernice 编辑

bootloader简介
摘要:本文介绍了基于嵌入式系统中的 OS 启动加载程序Boot Loader 的概念、软件设计的主要任务以及结构框架等。一、引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmw 阅读全文

posted @ 2018-10-25 16:59 blogernice 编辑

如何编译.so动态库
摘要:问:我源文件为main.c, x.c, y.c, z.c,头文件为x.h,y.h,z.h如何编译成.so动态库?编译器用gcc最好能给出详细参数解释,谢谢答:# 声称动代连接库,假设名称为libtest.sogcc x.c y.c z.c -fPIC -shared -o libtest.so# 将 阅读全文

posted @ 2018-10-25 16:57 blogernice 编辑

maugs中1ms的实现
摘要:1ms的实现 hal_systimer_1ms = (hal_clock_cpu / 2000);除以2000的原因是: C0_COUNT 寄存器作为一个实时的定时器工作,每两个时钟周期增 1。所以hal_clock_cpu要准确,否则系统计时不准确. 系统时间的实现 在magus_sys_time 阅读全文

posted @ 2018-10-25 16:56 blogernice 编辑

uboot中usb storage启动方法
摘要:这种方法比较简单,就是利用uboot自带命令usbboot来实现启动,也算是最粗糙的一种。1.在配置文件中添加一系列有关USB的支持。uboot编译启动后输入usb startusbboot 0x30800000 0:1这里的0是usb设备0,1是第一分区当然,这里肯定会失败,因为usb stora 阅读全文

posted @ 2018-10-25 16:55 blogernice 编辑

SYSCALL functions available in MARS
摘要:SYSCALL functions available in MARS Introduction A number of system services, mainly for input and output, are available for use by your MIPS program. 阅读全文

posted @ 2018-10-25 16:53 blogernice 编辑

genstart 脚本学习
摘要:[cpp] view plaincopy #!/bin/bash cp -f $1/start.S . includeS=`grep "^#include.*\.S" $1/start.S` for i in $(echo $includeS | sed "s/#include //g" | tr  阅读全文

posted @ 2018-10-25 16:52 blogernice 编辑

内核启动命令行的传递过程
摘要:Linux 内核在启动的时候需要一些参数,以获得当前硬件的信息或者启动所需资源在内存中的位置等等。这些信息可以通过bootloader传递给内核,比较常见的 就是cmdline。以前我在启动内核的时候习惯性的通过uboot传递一个cmdline给内核,没有具体的分析这个过程。最近在分析内核启动过程的 阅读全文

posted @ 2018-10-25 16:52 blogernice 编辑

向UBOOT中移植代码
摘要:1.首先,将要移植的代码目录(如bootpicsnd)整个拷贝到UBOOT工程中,最好放到对应的board目录下。 2.在bootpicsnd目录里,新建一个Makefile,参考如下: ## (C) Copyright 2000-2007# Wolfgang Denk, DENX Software 阅读全文

posted @ 2018-10-25 16:51 blogernice 编辑

start.s打印寄存器值的汇编实现
摘要:/*a0 = addrt2 = *(addr)t4 for right shift*/LEAF(print_reg) li t0,UART0_BASE_ADDR li t1,10 lw t2,0(a0) li t4,32 1: sub t4,4 move t3,t2 srl t3,t4 and t3 阅读全文

posted @ 2018-10-25 16:48 blogernice 编辑

PMON链接脚本ld.script分析
摘要:1.首先我们是通过make tgt=rom CROSS_COMPILE=mips-wrs-linux-gnu- DEBUG=-g来编译的,所以实际上主要调用如下编译命令: ejtag_rom ejtag_rom1 ejtag_ram rom: clean ${START} zloader.o gcc 阅读全文

posted @ 2018-10-25 16:47 blogernice 编辑

PMON中autoload自动加载操作系统代码分析
摘要:龙芯BIOS的最终目的,还是需要加载一个更好的操作系统。当你在启动时不按下任何按键,pmon就会自动地加载缺省设置的操作系统。它的实现代码如下:#ifdef AUTOLOADs = getenv ("al");autoload (s);#elses = getenv ("autoboot");aut 阅读全文

posted @ 2018-10-25 16:46 blogernice 编辑

1 2 下一页
点击右上角即可分享
微信分享提示