当前位置:网站首页>D1 Nezha Development Board understands the basic startup and loading process
D1 Nezha Development Board understands the basic startup and loading process
2022-06-12 13:27:00 【Zhangshizheng】
Preface
Familiar with an embedded platform , You need to know how to start the platform , Such as Nand Flash、Nor Flash、SD Card, etc
Different ways to start , The firmware itself may be stored in different locations , Such as Nand Flash start-up , You need to install all the firmware , Such as boot0、uboot、kernel、rootfs etc. , Download to the specified location first , Or specified storage 【 Partition 】, Block the firmware storage , Used to store firmware with different functions
image SD card 、NandFlash etc. , Generally, direct code execution is not supported , So it's like Linux Such as system , It's all through bootloader, Start the system in advance , If initialized RAM(SDRAM、DDR SDRAM etc. ), Copy the code to RAM In the implementation of , therefore Nand Flash、SD The card is mainly used to store code and data ,RAM Used for system startup and operation , Execution of code
A great deal of CPU chip , Both support multi-level startup , All records on Nezha development board D1 CPU, be based on RISCV64 For my flat head brother C906 The core , It also supports multiple startup modes , Such as SD card 、Nand Flash etc.
uboot Is common boot Add loader, That is, it has the function of starting and loading , It has the function of firmware upgrade , however CPU Access to electricity , There should be an original startup process , This process is based on CPU Of ROM Starting mode , If you use Nand Flash guide , need boot Mode selection Nand Flash,CPU When powered on, it will take the initiative to Nand Flash A small part of the code in , copy to RAM To carry out , This is it. CPU ROM Of itself boot function , Hardware solidified , The user cannot wipe it out .
this 【 A little bit of code 】, You need to do a good job in the basic initialization of the system , Such as system clock configuration 、DEBUG Pin configuration 、RAM Initialization etc. , And have 【 Level 2 jump function 】, Jump to uboot etc. bootloader. let me put it another way ,CPU Of itself ROM The firmware , Direct loading is not supported Uboot, But need a bootstrap Type of boot Code , Through this bootstrap start-up uboot, Then continue to guide Linux Isooperating system , Then load the file system , Such a level by level jump and execution
All records on Nezha development board D1 CPU, It's using :
OpenSBI, Asboot0The way ,CPU After power on , The first run ROM Boot loader in , performOpenSBI, Then initialize the system , Then go to jump to run uboot Other firmwareOpenSBICount as Full ambition D1 CPU The logic program of , May be limited by the boot mode , ThisOpenSBIThe size of the firmware will be limited
Start process
D1 Nezha development board , Without inserting SD In the case of cards , The on-board... Will be started by default
Tina Linux, This startup can be done by viewing 【DEBUG】 Serial port startup information acquisitionThe basic boot mode is :
CPU ROM Cut to Nand Flash How to lead
- OpenSBI v0.6
- U-Boot 2018.05
- Linux version 5.4.61
- BusyBox v1.27.2
This is the standard Linux The system starts the process
OpenSBI

U-Boot

Linux kernel

BusyBox rootfs

Other thoughts
If you start RT-Thread Of rt-smart operating system , This is based on Nand Flash What will the startup loading process look like ?
I think it can be :
CPU ROM Cut to Nand Flash How to lead
- OpenSBI v0.6
- U-Boot
- rt-smart
- userapps
SD How to start the card , We will continue to study later
Summary
Preliminary contact D1 Nezha development board , Start to understand the boot mode of the system , Learn how to download firmware
Firmware download can use : Quanzhi
PhoenixSuitTools , at present USB The drive is connected , however Generated rt-smart img The mirroring tool does not recognize , So we need to continue our research


let me put it another way , Need to find a support burning boot0 Tools for , This
PhoenixSuitTools , It is estimated that only Linux That set of firmware burning , By default uboot How to load the boot .Later research Nand Flash【 Empty piece 】 burning 、rt-smart Image burning method
边栏推荐
- Build an embedded system software development environment - build a cross compilation environment
- 创新实训(十二)项目总结
- Innovation training (XI) summary of some bugs in the development process
- 【微信小程序开发】第1篇:开发工具安装及程序配置
- 达梦数据库DM8 windows环境安装
- Innovation training (XII) project summary
- [Title brushing] Super washing machine
- import torch_ Geometric loads some common datasets
- How to adapt the page size when iframe is embedded in a web page
- Installation of pagoda
猜你喜欢

深度学习的多个 loss 是如何平衡的?

The goods are full. You must take this knowledge

用PyTorch进行语义分割

Innovation training (XI) summary of some bugs in the development process

It is enough to read this article. Web Chinese development

leetcode 47. Permutations II full permutations II (medium)

"New continent" of mobile application going to sea

There was an error installing mysql. Follow the link below to CMD

章鱼网络进展月报 | 2022.5.1-5.31

STM32F1与STM32CubeIDE编程实例-设备驱动-EEPROM-AT24C256驱动
随机推荐
Successful job hopping Ali, advanced learning
Deploy opengauss database based on Huawei cloud Kunpeng elastic ECS [Gauss is not a mathematician this time]
[embedded] serial communication and its case
单向环形链表实现约瑟夫环
import torch_geometric 第一个图网络例子
[brush title] probability of winning a draw
Pytorch官方Faster R-CNN源代码解析(一)——特征提取
深度学习的多个 loss 是如何平衡的?
手把手教你IDEA创建SSM项目结构
imagemagick:a gentle introduction to magick++
Experience and learning path of introductory deep learning and machine learning
嵌入式系统概述2-嵌入式系统组成和应用
C#DBHelper_ FactoryDB_ GetConn
Symbolic constant, const qualifier
D1 哪吒开发板 了解基本的启动加载流程
C语言【23道】经典面试题【下】
torch_ About the geometric Mini batch
干货满满,这些知识你必须拿下
成功定级腾讯T3-2,万字解析
Chrome debugging tool