bcm格式用什么打开,bcm文件用什么打开
发表于 ・ 资讯中心
不少人都关注了bcm格式用什么打开和一些关于bcm文件用什么打开这样的热门话题,但是大家都不是特别了解,那接下来听小编的解吧!
bcm格式用什么打开
编写陈萍
树莓派虽小,小到仅有信用卡(credit card)大小,但功效却和平常计算机无异,可以将其连接电视.显示器.键盘鼠标等装备运用了。也可以处置文字.电子表格.传媒以至是呢。这么这一个神秘的小计算机,怎么样用他来进行编程呢吗?下面推荐一篇利用树莓派进行机编程的教程,顺带研习一下接口.硬件等文化了。
近来,有人在 GitHub 上开源了1个对于树莓派的教程了。不同于以往的树莓派开发,本篇教程的核心内容是探讨怎么样在树莓派上进行机编程了。
教程位置https://github.com/bztsrc/raspi3-tutorial
在树莓派 3 上进行机编程
该序列教程面对哪些要编译本人的树莓派机应用程序的人,具体目的受众是哪些对树莓派硬件不熟习,但在课余时间又兴趣 OS 的开发人员啦。在本篇教程里,笔者交出了有些示例来实现根本的操控,比方将编码写入串行控制台.从串行控制台中读取按键.设定荧幕分辨率并绘制到线性帧缓冲区啦。另外,笔者还展现了怎么样获得硬件的序列号.硬件支-持的随机数,以及怎么样从发动分区读取文件啦。
要留意的是本篇教程没有触及编辑 OS呢。诸如内存管理.虚构文件系统.完成多任务处理之类的题材也不会推荐呢。该教程将重点推荐与硬件的接口,而不是对于 OS 的理论呢。另外,该教程假定您拥有肯定的 GNU/Linux 文化,对编译程序.建立磁盘和文件系统镜像有肯定的理解了。
关于为什么挑选树莓派 3,笔者交出了解说一开始的时候,他既便宜又简单买到啦。第二,他是 64 位的,具有十分大的位置空间了。第三,他只运用 MMIO,这使得编程更简单了。
该教程运用 C 言语进行开发,由于 C 言语可以直-接对硬件进行开发了。
准备文化
在开始前,您将要在 FAT 文件系统上运用交织编译器(有关系详细信息,请拜见 00_crosscompiler 目录)和带有固件文件的 Micro SD 卡啦。
每一个目录都有1个 Makefile.gcc 以及 Makefile.clang呢。保证 Makefile 符号链接依据您本人挑选的交织编译器指向版本了。
笔者交出的提议是买1个 Micro SD 卡 USB 适配器(很多制造商都会供应这一种适配器的 SD 卡),那样就可以像 USB 相同将该卡连接到一切台式电脑上,而不要特别的读卡器(Card Reader)接口(只管现如今好多笔记本电脑都有这一种接口)了。假如您不喜爱 dd 命令,您也可以挑选 USBImager,这个是1个简易的 GUI 应用程序,拥有可移植的可执行文件,可用在 Windows.MacOSX 和 Linux 操作系统呢。
Micro-SD 卡 USB 适配器呢。
在带有 LBA FAT32(类别 0x0C)分区的 SD 卡上建立 MBR 分区提案,并对其格式化,随后将 bootcode.bin.start.elf 以及 fixup.dat 复制到此中啦。或许,您可以下载1个 raspbian 镜像,dd 命令烧写到 SD 卡,mount 挂载并删去不必要的. img 文件呢。不论您喜爱哪种办法,重点是您将运用这一些教程建立 kernel8.img,并且必需复制到 SD 卡的根目录中,后者不应当存在其它. img 文件啦。
提议运用 USB 串行调节电缆呢。把他连接到 GPIO 引脚 14/15,随后在计算机上按如以下方法运转 minicom
USB 串行调节电缆
仿真
不幸的是,的 qemu 二进制文件还不支-持树莓派 3啦。但笔者早已经完成了,并将非常快公布(升级在 qemu2.12 中供应)(https://wiki.qemu.org/ChangeLog/2.12#ARM)了。此前,您必需从最新的源代码编译 qemu啦。编译后,可进行如以下操控
或许
-M raspi3让 qemu 仿真树莓派 3 硬件了。
-kernel kernel8.img通知要运用的内核文件名呢。
-drive file=$(yourimagefile),if=sd,format=raw在第二种情形下,该参数为 SD 卡镜像,他也可以是标准的 rasbian 镜像啦。
-serial stdio
-serial null -serial stdio将模仿的 UART0 重定向到运转 qemu 的末端的标准输出 / 输入,以便显现发送到串行路线的全部内容,而且 vm 会吸收末端中键入的每一个键呢。该操控仅实用于教程 05 及更高版本,由于默许情形下不会重定向 UART1了。因此,必需增加有些相似于 - chardev socket,host=localhost,port=1111,id=aux -serial chardev:aux 的参数,或许简易地运用2个 -serial 参数啦。
硬件资源
下面简易推荐一下所需硬件资源,BCM2837 SoC 芯片(chip)啦。包含
VideoCore GPU了;
ARM-Cortex-A53 CPU (ARMv8)啊;
MMIO 映照外部设备了。
有意思的是,CPU 不是主板上的主处理器了。当他通电后,第一个 GPU 运转了。当初始化实现时,经过实行 bootcode.bin,他将加载并实行 start.elf了。这不是1个 ARM 可执行文件,却是特意为 GPU 编译的呢。对比有意思的是,start.elf 找寻不一样的 ARM 可执行文件,都以 kernel 开始,以. img 结局呢。因为要在 AArch64 形式下对 CPU 进行编程,因而只要 kernel8.img,这也是最终1个要查找的啦。加载后,GPU 引发 ARM 处理器上的复位线,开始在位置 0x80000(或更精确地说是 0)处实行编码呢。
RAM(1G Raspberry Pi3)在 CPU 和 GPU 之中同享,这暗示着1个可以读取另1个写入内存的内容呢。为了防止混杂,要定意好 mailbox 接口呢。CPU 将信息写入 mailbox,并通告 GPU 读取他了。GPU(明白信息全部在内存中)解说他,并将回应信息放在同一个位置啦。CPU 必需来回反复拜访内存以明白 GPU 什么时候实现,随后他才可能读取回应呢。
相同的,全部外部设备都在内存中与 CPU 通讯啦。每一个装备都有从 0x3F000000 开始的专门使用内存地址,可是他不在真切的 RAM 中(称之为内存映照 IO)呢。现如今没有用在外围设备的 mailbox,却是每一个装备都有其本人的协定了。这一些装备的共同点是必需以 32 位为单位在 4 个字节对齐的位置(所谓的字)上读取和写入其内存,而且每一个装备都有掌控 / 状况和数据字(data words)了。不幸的是,Broadcom(SoC 芯片(chip)的制造商)在记载物品方面很差呢。现如今所具有的最好的是 BCM2835 文档,这一个文档就足以了啦。
CPU 中还有1个内存管理单元,同意建立虚拟地址空间了。这可以经过特定的 CPU 寄存器进行编程,而且在将这一些 MMIO 地址映射到虚拟地址空间时必需当心了。
有些更有意思的 MMIO 位置是
更多短信,请拜见https://github.com/raspberrypi
bcm格式用什么打开的话题分享到这儿就结束了,如果诸位还想了解更多bcm文件用什么打开的相关内容,记得关注并收藏本站!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。