树莓派基于 Linux 的 Windows XP

关注、星标公众,不错过精彩内容

素材来源:开源中国

编辑整理:strongerHuang

来源地址:

https://www.oschina.net/news/115232/raspberry-pi-linux-raspbian-xp-professional-windows

Raspberry Pi,中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)  是为学习计算机编程教育而设计。只有信用卡大小的微型电脑,其系统基于Linux。

树莓派在嵌入式领域有响当当的名气,由于存在众多嵌入式爱好者,树莓派不乏各种创意。

随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。就在前不久,Raspberry Pi 4 基于 Linux 的 Windows XP 出现了。

新的树莓派操作系统为:Linux Raspbian XP Professional .

看着启动界面是不是有点Windows xp的感觉?

Raspbian XP Professional 附带许多功能,可使人联想到旧的 XP OS。它具有高效的“开始”菜单,顶部带有可用的搜索栏。所有的菜单、图标和任务栏都具有经典的气泡 XP。其甚至包括完整的 LibreOffice 套件来代替 Microsoft Office,以满足办公要求。

不过,尽管该操作系统看起来像 Windows XP,但其本质上还是不能原生运行 Windows XP 应用,而是需要借助合适的仿真器。因此,它也确实预装了一些仿真平台 。 

如果要运行本机 Windows 应用程序,可以使用内置的 Windows 98 虚拟机;BOX86 则可以运行旧的 PC 游戏。还可以利用其他仿真器,例如 DOSBox、Mupen64 和 MAME。通过连接 USB 控制器,整个系统可以兼作复古游戏机。此外,PI LAB 还发布了 Raspbian 95。

下面,通过一个视频来进一步了解这个新的树莓派操作系统Linux Raspbian XP Professional .

目前,这项工作仍在进行中,大家可以继续期待接下来会带来的一些更新内容。

免责声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

推荐阅读:

SEGGER编译器会是一个新的“Clang”吗?

93年宝马汽车中的CAN总线通信网络

C语言为何不会过时?你需要掌握多少种语言?

关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。

长按前往图中包含的公众号关注

### 树莓派 Linux 内核驱动开发教程 #### 工具准备 为了在树莓派上进行基于 Linux 的内核驱动开发,需要准备好必要的工具和环境。这些工具包括但不限于交叉编译器、树莓派内核源码以及调试工具等[^1]。 #### 下载树莓派内核源码 获取树莓派的官方内核源码是第一步。可以通过 Git 仓库克隆最新的内核代码到本地机器上。具体命令如下所示: ```bash git clone --depth=1 https://github.com/raspberrypi/linux.git ``` 此命令会拉取最新版本的树莓派专用内核源码并将其存储于当前工作目录下。 #### 编译内核 完成内核源码下载之后,需配置适合目标板卡(即树莓派4B)的默认配置文件,并执行实际编译过程。以下是主要步骤: - 配置内核选项: 使用 `make` 命令加载预定义好的树莓派特定配置模板。 ```bash make bcmrpi_defconfig ``` - 开始构建内核镜像及相关模块: ```bash make -j$(nproc) ``` 上述 `-j$(nproc)` 参数表示利用主机 CPU 所有核心加速编译流程。 #### 创建内核驱动程序 编写自定义驱动之前先理解基本概念非常重要。按照 Linux 中广义与狭义两种定义来看待驱动,则本节讨论的是后者——专注于操作系统层面用于控制硬件行为的一段特殊目的编码[^2]。 对于初学者来说可以从简单的字符设备入手学习如何注册卸载设备节点等功能接口。下面给出一个最基础框架作为示范用途: ```c #include <linux/module.h> #include <linux/kernel.h> static int __init my_driver_init(void){ printk(KERN_INFO "My Driver Initialized\n"); return 0; } static void __exit my_driver_exit(void){ printk(KERN_INFO "My Driver Exited\n"); } module_init(my_driver_init); module_exit(my_driver_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("A Simple Example of Kernel Module."); ``` 该例子仅打印消息至 dmesg 日志当中并未真正关联任何物理外设资源管理功能。 #### 应用层测试程序 一旦完成了底层驱动部分的设计实现后还需要配套的应用级客户端来验证其交互效果是否正常运作良好。通常情况下我们会采用 C 或 Python 脚本来发送指令接收反馈数据等形式来进行全方位的功能检测评估活动。 假设前面创建了一个名为 `/dev/my_device` 的新虚拟装置路径名那么可以尝试打开它并向其中写入字符串或者读取出预先设定的内容片段等等操作方式均属常见做法之一。 #### 安装驱动及运行程序 最后一步便是把刚才制作完毕的新版固件部署回真实的目标嵌入式平台上去替换掉原有的旧版本从而使得新增加的支持能力生效可用。一般涉及拷贝更新后的 zImage 文件连同 dtbs 目录下的所有内容覆盖原有位置即可。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值