欢迎来到皮皮网网首页

【流量审计源码】【spark源码编译windows】【淘客源码程序】emmc源码读写

来源:java员工考勤系统源码 时间:2024-12-24 04:16:49

1.鸿蒙系统体验之在IMX6ULL上体验鸿蒙系统
2.自学嵌入式开发应该先要学些什么?源码
3.飞凌嵌入式i.MX 8M Plus开发板的OTA远程升级方案
4.总结uboot的重要概念,不知道的读写看过来
5.超详细Uboot驱动开发(二)uboot启动流程分析

emmc源码读写

鸿蒙系统体验之在IMX6ULL上体验鸿蒙系统

       请先下载以下文件,里面含有烧写软件:

       鸿蒙内核Liteos-a的源码官方代码目前只支持海思的芯片,我作为首批开发者入驻华为一个多月,读写成功在ASK_IMX6ULL上移植了Liteos-a。源码

       本文先让大家体验一下Liteos-a,读写流量审计源码后续会发布教程、源码视频、读写源码。源码

       百问网开发了一款烧写软件:ask_imx6ull_flashing_tool,读写它的源码界面如下:

       使用这软件,只需要一条USB线连接电脑和开发板USB OTG口,读写只需要点击一个按钮就可以体验鸿蒙系统。源码

       1.1 熟悉ASK_IMX6ULL启动开关1.1.1 全功能版

       ask_imx6ull全功能版支持USB、读写EMMC、源码SD/TF卡三种启动方式。使用后2种启动方式之前,需要先在EMMC或SD/TF卡上烧写系统。

       板子背后画有一个表格,表示这3种方式如何设置。表格如下:

       BOOT CFG

       这3种启动方式的设置示意图如下:

       其中的USB启动模式主要用来烧写系统。 注意:设置为USB启动时,不能先插上SD/TF卡。spark源码编译windows

       1.1.2 MINI EMMC版

       百问网 IMX6ULL EMMC版支持USB、EMMC、SD/TF卡三种启动方式。使用后2种启动方式之前,需要先在EMMC或SD/TF卡上烧写系统。 板子背后画有一个表格,表示这3种方式如何设置。表格如下:

       这3种启动方式的设置示意图如下:

       其中的USB启动模式主要用来烧写系统。 注意:设置为USB启动时,不能先插上SD/TF卡。

       1.2 安装驱动程序

       下载“ask_imx6ull烧写工具v4.zip” 后,把它解压可得如下目录:

       运行上图中的程序。

       1.2.2 连接USB OTG线

       先把开发板设置为USB启动方式,接好2条USB线,开发板上电。

       (1) 全功能版接线方式

       (2) MINI EMMC版接线方式

       1.2.3 安装IMX6ULL的USB驱动程序

       通过USB下载或是烧写程序时,需要把开发板的OTG口用USB线连接到电脑。一般都会自动安装驱动,烧写软件的绿灯不亮时,则很有可能是驱动程序没有安装好,这时需要手工安装驱动程序。

       要选择“连接到主机”,淘客源码程序勾选“记住我的选择,以后不再询问”。也许你不慎点错了“连接到虚拟机”,那也没关系,在VMWARE的菜单中把“Freescale SE Blank 6ULL”或“Netchip USB download gadget”断开连接,如下图所示:

       安装第2个驱动:当烧写工具的“设备已连接”绿灯亮起,就可以在“专业版”点击“运行”按钮,这时电脑会识别出“USB download gadget”设备,一般都会自动给它安装驱动程序,如下图:

       如果没有自动安装好驱动程序(“固件已运行”绿灯没亮),先去

       下载zadig并运行,然后参考下图安装驱动程序:

       如果一切正常,烧写工具的2个绿灯都会亮,如下:

       这就表示所有驱动都安装好了,可以重启开发板,就可以参考后面章节体验鸿蒙了。

       1.3 鸿蒙文件在哪

       在“ask_imx6ull烧写工具v4”目录下,

       1.4 一键体验鸿蒙:下载到内存运行1.4.1 一键启动

       把开发板设置为USB启动,接好2条USB线,装好驱动程序后,运行烧写工具,点击下图所示按钮,2019打码 源码观察串口信息,可以看到板子启动进入鸿蒙系统了:

       串口信息如下:

       1.4.2 执行shell命令

       执行help命令,可以看到支持的SHELL命令,如下:

       1.4.3 执行数码相框GUI程序

       注意:必须用“./bin/digitpic”,不能用绝对路径“/bin/digitpic” 注意:这个GUI程序是我们自己写得,很丑,与鸿蒙无关。

       在板子屏幕上可以看到:

       1.4.4 退出程序

       执行task命令确定进程号,然后执行“kill -9 PID”杀掉进程,比如:

       1.5 开机自动启动鸿蒙

       把开发板设置为USB启动,接好2条USB线,装好驱动程序后,运行烧写工具.

       先烧写,点击下图所示按钮:

       然后设置默认系统,如下图所示:

       最后,设置为EMMC启动,重新上电后就可以自动进入鸿蒙系统。

自学嵌入式开发应该先要学些什么?

       åµŒå…¥å¼å¼€å‘的学习其实并没有那么难,只要了解学习的体系,掌握正确的学习方法,学习起来并不难。来讲一下嵌入式开发都要学些啥!

嵌入式开发的主要学习内容:

       C,Java核心编程:c语言核心编程,Java核心编程;

       Linux核心操作与算法:Linux系统使用,Linux-c编程核心技术,精品数据结构,Linux-c编程精髓;

       æ ¸å¿ƒæ“ä½œä¸Žç®—法:Linux系统编程,Linux网络编程核心技术,UI编程,Java核心编程,安卓核心技术;

       ARM+Linux底层开发:数字电路,ARM编程核心,Linux系统开发,嵌入式Linux驱动开发;

       å¤§åž‹é¡¹ç›®å®žè·µï¼šæ¯æœŸå®‰æŽ’各类型真实的项目

       äº’联网行业目前还是最热门的行业,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

       æƒ³è¦ç³»ç»Ÿå­¦ä¹ ï¼Œä½ å¯ä»¥è€ƒå¯Ÿå¯¹æ¯”一下开设有IT专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。

       ç¥ä½ å­¦æœ‰æ‰€æˆï¼Œæœ›é‡‡çº³ã€‚

       è¯·ç‚¹å‡»è¾“入图片描述

飞凌嵌入式i.MX 8M Plus开发板的OTA远程升级方案

       传统Linux系统更换镜像的手段相对单一,但RAUC工具为Linux引入了Android式的OTA升级功能。本文以飞凌嵌入式i.MX 8M Plus的OKMX8MP-C开发板为实例,展示如何基于Linux 5.4.内核通过RAUC实现系统更新。

       升级前,展示图片源码系统启动时会读取boot.0和rootfs.0分区。切换至OTA模式,uboot引导系统将从boot.1和rootfs.1启动。实现Linux-OTA的关键步骤如下:

       环境准备

       下载Ubuntu .虚拟机镜像,链接地址:mirrors.tuna.tsinghua.edu.cn...

       升级虚拟机GCC至7.0版本:修改apt源,安装GCC-7和G++-7,然后将原有GCC和G++备份并指向新版本。

       安装RAUC工具:通过apt进行安装。

       源码配置与环境配置

       -

       配置eMMC分区:修改Init.sh脚本。

       解压RAUC及相关依赖工具:包括liblz4、fw_setenv、unsquashfs和yocto-rauc-1.5.1。

       修改配置文件:fw_env.config、system.conf,以及编译脚本和挂载配置文件,确保兼容性和分区正确。

       生成升级包

       -

       全编译镜像,获取所需文件。

       复制镜像和密钥文件,创建并编辑manifest.raucm配置文件。

       编写打包脚本run.do_bundle.sh,生成bundle.raucb升级包。

       系统升级与管理

       -

       将升级包传到开发板,检查系统状态并进行升级。

       升级后确认uboot引导分区,切换至新系统,然后同步并重启。

       如果需要回退,重新配置uboot引导分区。

       通过以上步骤,飞凌嵌入式OKMX8MP-C开发板成功实现了RAUC支持的OTA升级,升级过程涉及的分区管理和RAUC工具的使用是关键。希望这个教程能为开发者提供实践指导。

总结uboot的重要概念,不知道的看过来

       本篇内容不讲解uboot源码,只总结面试中高频问到的重要知识点。内容适用于嵌入式新人了解uboot,对老手有复习和查漏补缺的作用。

       1、PC机启动:上电后,BIOS程序初始化DDR内存和硬盘,从硬盘读取OS镜像到DDR,跳转执行OS。

       2、嵌入式Linux系统启动:上电后执行uboot,初始化DDR、Flash,将OS从Flash读到DDR,启动OS。

       3、uboot定义与作用:uboot属于bootloader,作为单线程裸机程序,主要作用是初始化硬件、内存、flash等,引导内核启动。

       4、uboot启动阶段(不同平台差异):MTK平台:boot rom -> preloader -> lk -> kernel;RK平台:bootrom -> spl(miniloader) -> uboot -> trust -> kernel;NXP平台:bootrom -> bl2 -> ATF -> uboot -> kernel。

       5、uboot支持多种启动方式:SPI Flash/eMMC/Nvme/SD/Hard Disk/U-Disk/net。启动方式不同,固件存放位置也不同。

       6、掌握uboot的关键点:命令和环境变量。uboot启动后大部分工作在shell中完成,命令用于操作,环境变量如bootcmd和bootargs,用于设置启动参数。

       7、bootargs参数详解:root用于指定rootfs位置,console用于设置控制台,mem用于指定内核使用内存大小,ramdisk_size用于设置ramdisk大小,initrd用于指定initrd参数,init用于指定启动脚本,mtdparts用于设置分区。

       8、常用bootargs组合:文件系统为ramdisk、jffs2类型、nfs等不同情况下的bootargs设置示例。

       总结,了解uboot是嵌入式开发的基础,掌握其启动过程和关键参数,对提高开发效率和解决问题有重要作用。

超详细Uboot驱动开发(二)uboot启动流程分析

       本文将深入解析Uboot(BL2阶段)的启动流程,BL1阶段的详细流程会在后续文章中分享。首先,我们来看Uboot的执行流程,以EMMC作为启动介质为例。

       Uboot启动流程大致如下:首先打开u-boot.lds文件,它是Uboot工程的关键链接脚本,指定入口地址ENTRY(_start)。通过查找u-boot.lds文件(通常在源码目录下),可以理解程序的组装过程。

       进入程序执行,board_init_f()函数在common/board_f.c中,负责调用init_sequence_f进行初始化,包括串口、定时器、设备树和DM驱动模型等,还包括global_data结构体初始化。其中,reloc_xxx函数实现重定向功能,将Uboot镜像移到高端内存以避免内存冲突。

       重定向的必要性和过程包括:当内存不足时,Uboot会将自身镜像移动到DDR的其他位置。具体步骤包括在arch/arm/lib/crt0.S文件内的处理。setup_reloc函数帮助我们跟踪重定向后的地址,便于调试。

       后续,board_init_r负责后置初始化,如外设信息的初始化。最后,执行run_main_loop和main_loop函数,main_loop是Uboot的核心,处理kernel加载、命令行交互和预定义命令等任务。

       在main_loop中,bootdelay_process负责启动倒计时,cli_loop则负责命令行交互。通过理解这些关键步骤,我们对Uboot的启动流程有了全面认识。深入了解部分则可根据个人兴趣逐步探索。

       如果有疑问或需要进一步讨论,欢迎在评论区交流。参考文章链接如下:

       [0]:优化阅读体验

       [1]:board_init_f的详细介绍

       [2]:启动流程参考

       [3]:main_loop的相关内容