企业网站开发哪家好网站毕业设计选题

张小明 2026/1/10 2:35:29
企业网站开发哪家好,网站毕业设计选题,开发游戏软件赚钱吗,广州电力建设有限公司QEMU 执行第一个驱动#xff08;hello_drv.ko#xff09;全过程总结 核心流程#xff1a;获取源码 → 设置工具链 → 编译内核 / 设备树 → 编译驱动 → 部署驱动到 QEMU 根文件系统 → 启动 QEMU 加载测试驱动#xff0c;全程在主机 Ubuntu 操作#xff0c;QEMU 仅负责运…QEMU 执行第一个驱动hello_drv.ko全过程总结核心流程获取源码 → 设置工具链 → 编译内核 / 设备树 → 编译驱动 → 部署驱动到 QEMU 根文件系统 → 启动 QEMU 加载测试驱动全程在主机 Ubuntu 操作QEMU 仅负责运行验证。一、获取全套源码主机 Ubuntu 终端基础前提作用下载 QEMU 模拟器、内核、工具链等所有开发必需的源码后续编译、运行都依赖这些文件。# 1. 配置Git首次使用需设置邮箱和用户名可随意填book100ask:~$gitconfig --global user.emailabc123.combook100ask:~$gitconfig --global user.nameMyName# 2. 下载repo工具多仓库管理工具用于同步全套源码book100ask:~$gitclone https://e.coding.net/codebug8/repo.git# 3. 创建源码目录并进入book100ask:~$mkdir-p 100ask_imx6ull-qemu book100ask:~$cd100ask_imx6ull-qemu# 4. 初始化repo并关联源码仓库国内仓库下载更快book100ask:~/100ask_imx6ull-qemu$../repo/repo init -u https://e.coding.net/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask-imx6ull_qemu_release_v1.0.xml --no-repo-verify# 5. 同步源码4线程加速约10-30分钟中断后重新执行此命令续传book100ask:~/100ask_imx6ull-qemu$../repo/reposync-j4# 6. 下载QEMU模拟器镜像含启动脚本、根文件系统等book100ask:~$gitclone https://e.coding.net/weidongshan/ubuntu-18.04_imx6ul_qemu_system.git# 7. 验证源码是否下载成功查看目录内容book100ask:~$ls~/100ask_imx6ull-qemu# 应显示 buildroot2019.02、Linux-4.9.88、ToolChain 等目录book100ask:~$ls~/ubuntu-18.04_imx6ul_qemu_system# 应显示 imx6ul-system-image、qemu-imx6ull-gui.sh 等文件二、设置交叉编译工具链主机 Ubuntu 终端作用让主机能编译出 ARM 架构的内核、驱动适配 QEMU 模拟的 IMX6ULL1. 临时生效推荐小白仅当前终端有效# 添加交叉编译器路径到环境变量exportPATH$PATH:/home/book/100ask_imx6ull-qemu/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin# 指定目标架构为ARMexportARCHarm# 指定交叉编译器前缀exportCROSS_COMPILEarm-linux-gnueabihf-2. 永久生效可选重启终端仍有效# 编辑用户配置文件vi~/.bashrc# 在文件末尾添加以下3行保存退出按Esc→:wqexportARCHarmexportCROSS_COMPILEarm-linux-gnueabihf-exportPATH$PATH:/home/book/100ask_imx6ull-qemu/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin# 使配置生效source~/.bashrc验证工具链是否配置成功arm-linux-gnueabihf-gcc -v# 输出编译器版本信息即正常三、编译 QEMU 专用内核和设备树主机 Ubuntu 终端作用生成适配 QEMU 的内核zImage和硬件配置设备树.dtb驱动需依赖内核运行# 1. 进入内核源码目录cd~/100ask_imx6ull-qemu/linux-4.9.88# 2. 清理编译残留makemrproper# 3. 加载QEMU专用配置无需手动配置驱动make100ask_imx6ull_qemu_defconfig# 4. 编译内核镜像-j4按CPU核心数调整如-j8加速先执行nproc查看核心数nprocmakezImage -j4# 5. 编译设备树硬件配置文件makedtbs# 6. 替换QEMU原有的内核和设备树备份旧文件复制新文件cd~/ubuntu-18.04_imx6ul_qemu_system/imx6ul-system-imagemvzImage zImage_oldmv100ask_imx6ull_qemu.dtb 100ask_imx6ull_qemu.dtb_oldcp~/100ask_imx6ull-qemu/linux-4.9.88/arch/arm/boot/zImage ./cp~/100ask_imx6ull-qemu/linux-4.9.88/arch/arm/boot/dts/100ask_imx6ull_qemu.dtb ./四、编译第一个驱动hello_drv.ko主机 Ubuntu 终端作用将驱动源码编译为 ARM 架构的.ko 模块供 QEMU 加载1. 准备驱动文件# 1. 创建驱动目录并进入mkdir-p ~/nfs_rootfs/01_hello_drvcd~/nfs_rootfs/01_hello_drv# 2. 新建驱动源码hello_drv.c复制以下内容粘贴vihello_drv.c2. 新建 Makefile指定编译规则# 1. 使用不同的开发板内核时, 一定要修改KERN_DIR# 2. KERN_DIR中的内核要事先配置、编译, 为了能编译内核, 要先设置下列环境变量:# 2.1 ARCH, 比如: export ARCHarm64# 2.2 CROSS_COMPILE, 比如: export CROSS_COMPILEaarch64-linux-gnu-# 2.3 PATH, 比如: export PATH$PATH:/home/book/100ask_roc-rk3399-pc/ToolChain-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin# 注意: 不同的开发板不同的编译器上述3个环境变量不一定相同,# 请参考各开发板的高级用户使用手册KERN_DIR/home/book/100ask_imx6ull-qemu/linux-4.9.88 all:make-C$(KERN_DIR)Mpwdmodules$(CROSS_COMPILE)gcc -o hello_drv_test hello_drv_test.c clean:make-C$(KERN_DIR)Mpwdmodules cleanrm-rf modules.orderrm-f hello_drv_test obj-mhello_drv.o ~ ~Makefile21L, 853C3. 编译驱动# 执行编译无报错则生成hello_drv.komake-j4五、部署驱动到 QEMU 根文件系统主机 Ubuntu 终端作用将编译好的驱动拷贝到 QEMU 的 “系统盘”rootfs.imgQEMU 启动后可访问# 1. 挂载QEMU根文件系统镜像rootfs.img到主机/mntsudomount-o loop ~/ubuntu-18.04_imx6ul_qemu_system/imx6ul-system-image/rootfs.img /mnt# 2. 拷贝驱动到QEMU的/root目录临时测试用方便查找sudocp~/nfs_rootfs/01_hello_drv/hello_drv.ko /mnt/root/sudocp~/nfs_rootfs/01_hello_drv/hello_drv_test /mnt/root/# 3. 卸载镜像必须执行否则镜像损坏sudoumount/mnt六、启动 QEMU 并加载测试驱动主机→QEMU 终端1. 启动 QEMU主机 Ubuntu 终端# 进入QEMU主目录启动带GUI的模拟器首次启动需安装SDL环境cd~/ubuntu-18.04_imx6ul_qemu_systemsudo./install_sdl.sh# 首次启动执行输入密码123456./qemu-imx6ull-gui.sh# QEMU启动后在登录界面输入root无需密码登录2. 加载驱动QEMU 终端root 用户# 1. 查看驱动文件是否存在ls/root/hello_drv.ko# 2. 加载驱动模块insmod /root/hello_drv.ko# 3. 验证驱动加载成功lsmod# 查看模块列表能看到hello_drvdmesg|tail# 查看内核打印显示hello_drv init success!cat/proc/devices3.运行程序驱动根据实际程序来./hello_drv_test七、关键注意事项所有编译操作需确保工具链已配置终端输入arm-linux-gnueabihf-gcc -v有版本输出则正常挂载 / 卸载 rootfs.img 时需保证无其他程序占用 /mnt 目录否则报错执行cd ~退出 /mnt 再卸载驱动加载报错 “Invalid module format”需确认内核版本一致主机内核目录执行make kernelreleaseQEMU 终端执行uname -r两者需相同QEMU 快捷键鼠标锁定按CtrlAltg解锁退出 QEMU 按Ctrla松开后按x若 QEMU 启动无 GUI需重新执行sudo ./install_sdl.sh安装 SDL 环境。最后谢谢阅读笔者记录驱动学习过程如有错误之处还请指正。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

手机创建个人网站 免费电子商务网站建设优势

Bash编程:模式匹配、命令操作与示例代码详解 1. extglob扩展模式匹配运算符 在使用 shopt -s extglob 时,以下运算符会生效。匹配默认区分大小写,但可以使用 shopt -s nocasematch (bash 3.1+)来改变这一特性,该选项会影响 case 和 [[ 命令。 分组 含义 @( …

张小明 2026/1/9 0:04:02 网站建设

p2p贷款网站建设巩义网站公司

对于新手而言,搭建网站的核心难点在于梳理清晰的流程的选对适配的工具。PageAdmin CMS作为一款高效的成熟建站工具,能大幅降低开发门槛,配合规范的域名注册、服务器租用及部署流程,普通人也能快速完成网站搭建。本文将详细拆解从前…

张小明 2026/1/9 5:55:34 网站建设

做seo网站图片怎么优化wordpress 内链设置

P2041 分裂游戏 题目描述 有一个无限大的棋盘,棋盘左下角有一个大小为 nnn 的阶梯形区域,其中最左下角的那个格子里有一枚棋子。你每次可以把一枚棋子“分裂”成两枚棋子,分别放在原位置的上边一格和右边一格。(但如果目标位置已有…

张小明 2026/1/7 9:07:42 网站建设

wordpress 多网站如何自己做网站模版

抖音直播自动录制终极指南:告别手动操作的全自动解决方案 【免费下载链接】DouyinLiveRecorder 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveRecorder 还在为错过心仪主播的精彩直播而烦恼吗?DouyinLiveRecorder这款开源自动化工具将…

张小明 2026/1/7 9:05:39 网站建设

seo网站推广与优化方案优秀答辩ppt范文10页

低轨卫星导航增强技术:改正数播发模式的原理、信号流程和关键指标 1. GNSS 导航增强技术 1.1 原理 全球卫星导航系统(GNSS)受卫星轨道误差、卫星钟差、电离层延迟、对流层延迟及码偏差等因素影响,用户终端定位精度通常为米级&…

张小明 2026/1/7 9:03:20 网站建设

做淘宝客没网站怎么做江苏工程建设信息网

【收藏】护网行动日薪2700元!网络安全蓝队红队区别,零基础也能入行 护网行动是国家组织的网络攻防测试,分为攻击方红队和防守方蓝队。文章分享了一位大学生自学三个月参加蓝队,日薪2700元的真实经历。指出蓝队初级门槛低&#xf…

张小明 2026/1/7 9:01:15 网站建设