1.超详细【Uboot驱动开发】(二)uboot启动流程分析
2.uboot启动详细讲解
3.SpringBoot中mysql的驱动驱动驱动依赖问题
超详细【Uboot驱动开发】(二)uboot启动流程分析
深入解析Uboot驱动开发(二):启动流程详解
Uboot启动流程分为BL1和BL2两个阶段,本文主要探讨BL2阶段。源码BL1的驱动驱动详细流程可参阅后续文章。以EMMC启动为例,源码让我们逐步剖析Uboot的驱动驱动启动流程。
首先,源码Java迭代器实现源码理解Uboot的驱动驱动执行流程,包括打开文档和,源码结合代码理解u-boot.lds链接脚本的驱动驱动重要性。它定义了程序的源码入口地址,并指导编译和链接。驱动驱动
核心部分是源码board_init_f函数,它调用init_sequence_f进行初始化,驱动驱动via怎么修改源码涉及串口、源码定时器、驱动驱动设备树等,并通过reloc_xxx函数实现重定向。重定向是Uboot的重要功能,它将自身镜像移动到高端内存区,为Kernel加载腾出空间。
随后,执行board_init_r,这是Uboot运行的后置初始化,负责初始化外设信息,包括DM驱动和MMC驱动。扫雷群组APP源码最后,进入run_main_loop,执行main_loop函数,这是Uboot的核心执行函数,管理环境变量、命令行交互等。
理解bootdelay_process和cli_loop等关键部分,可以看到Uboot如何在启动后处理倒计时和命令行输入。深入研究这些部分,将对Uboot有全面的了解,但建议先从基础开始,逐步探索。运动挖矿币源码
参考文献提供更深入的学习资源,有兴趣的读者可以参考。如有疑问,欢迎在评论区交流。
uboot启动详细讲解
uboot是遵循GPL条款的开放源码项目。
uboot的作用是系统引导。
uboot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。
其源码目录、编译形式与Linux内核很相似,事实上,族谱查询网源码不少uboot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从uboot源码的注释中能体现这一点。
uboot不仅仅支持嵌入式Linux系统的引导,它还支持NetBS D, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android嵌入式操作系统。
其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS, android。
这是uboot中Universal的一层含义,另外一层含义则是uboot除了支持PowerPC系列的处理器外,还能支持MIPS、 x、ARM、NIOS、XScale等诸多常用系列的处理器。
这两个特点正是uboot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。
就目前来看,uboot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。
其它系列的处理器和操作系统基本是在年 月PPCBOOT改名为uboot后逐步扩充的。
从PPCBOOT向uboot的顺利过渡,很大程度上归功于uboot的维护人德国DENX软件工程中心Wolfgang Denk本人精湛专业水平和执着不懈的努力。
当前,uboot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。
SpringBoot中mysql的驱动依赖问题
在SpringBoot中集成MySQL数据库时,涉及到的驱动依赖是MySQL Connector/J或MySQL Connector/Java。主要区别在于,MySQL Connector/J适用于Java应用程序,而MySQL Connector/Java则适用于Java EE应用程序。
在Maven仓库中,MySQL Connector/J和MySQL Connector/Java的依赖信息如下:
Maven Central: mysql:mysql-connector-java:8.0. (sonatype.com)
Maven Central: com.mysql:mysql-connector-j:8.0. (sonatype.com)
在使用SpringBoot项目时,根据SpringBoot版本的不同,引入的依赖文件也有所差异。例如,在SpringBoot 2.7.8版本中,若通过IDEA直接建立项目并勾选MySQL驱动,引入的依赖文件为MySQL Connector/J相关依赖。
MySQL驱动为MySQL Connector/J时,可以不加版本号,因为从8.0.版本开始,Maven仓库中提供了版本选择列表。
然而,MySQL驱动为MySQL Connector/Java时,必须明确指定版本号。如果不加版本号,可能会出现“Cannot resolve com.mysql:mysql-connector-java:unknown”的错误。
以SpringBoot 2.5.6为例,MySQL驱动为MySQL Connector/J时,同样需要加版本号。版本号从8.0.版本开始,Maven仓库中提供了详细的版本列表。
如果不加版本号,则会报错:“Cannot resolve com.mysql:mysql-connector-j:unknown”。但加了版本号之后,项目就可以正常运行。
在SpringBoot 2.7.0及以后版本中,通过IDEA直接构建项目时选择MySQL驱动,默认加载的为MySQL Connector/J相关的驱动。
在SpringBoot项目的application.yml配置文件中,通常会包含数据库连接的相关信息,如数据库名称(geren)等。这表明在配置中正确使用了数据库驱动和相应的连接参数。