bare-metal

    2热度

    1回答

    我正在修改假设将ASCII字符转换为十六进制值的代码。我的第一个版本完美无缺地工作,但是我的新功能有一些问题。 这是我的新功能,它转换的ASCII值以十六进制值: ;carry flag cleared if successed, if not then it is set ;input number should be in AL ;output number should be in AH

    3热度

    1回答

    我知道这个问题以前曾被问过,但其他答案似乎都没有解决我的问题。也许我错过了什么? 我知道.iso的作品,因为我在QEMU中运行它,并成功运行。那么我做错了什么? bits 16 xor ax, ax start: cld ; Set direction flag to forward ; Set up registers mov ax, 07c0h

    2热度

    1回答

    由于没有人帮助解答,因此这是一个追加到this问题的附加细节。我克隆了最新的QEMU回购协议,并遵循this教程为arm-softmmu创建了一个Hello World程序。我使用帮助函数追踪了TCG,而不是基本块中的寄存器,但是我遇到了跟​​踪功能,我想尝试一下。在documentation之后,取消注释跟踪事件文件后,这是my/tmp/events文件。 exec_tb exec_tb_ex

    0热度

    1回答

    我在编程raspbery pi model b ARM1176 bare metal(在汇编中和c)。我需要计算用于执行汇编代码的时钟周期。 我使用PMU柜台下面的代码: mov r0,#1 MCR p15, 0, r0, c15, c12, 0 ; Write Performance Monitor Control Register /* Reset Cycle Counter *

    2热度

    1回答

    我使用谷歌测试几乎在我的项目除MCU(STM32F1)固件的所有部分。现在我想直接在MCU上使用它进行测试,以确保我没有发生任何与机器相关的错误,这些错误可能会在x64上通过测试,但在MCU上失败。 Google测试需要libpthread,这在MCU上显然不存在。我使用精密的gcc 5.2.1工具链,所以它的g++应该能够建立谷歌测试。系统调用也被正确定义,所以测试输出应该被成功编译并打印到串行

    0热度

    1回答

    我想知道你是否可以帮助我解决一些问题和问题,我已经为i.MX6 SoloX开发裸机。我正在查看这个链接https://community.nxp.com/docs/DOC-106253,并将这些文件下载,以作为如何为i.MX6开发裸机c代码的示例。 然后设置我按照这个教程https://community.nxp.com/docs/DOC-103736只是工具链,因为我不感兴趣的处理器专家Ecli

    2热度

    2回答

    嗯,这显然是一个初学者的问题,但这是我第一次尝试制作操作系统在C(其实,我几乎是全新的C ..我习惯了asm)所以,为什么这是无效的?据我所知,在Cpointer只是一个uint16_t用于指向内存中的某个区域,权利(或uint32_t,这就是为什么它不工作)? 我做了以下内核(“我已经做了一个引导程序和所有组件加载生成KERNEL.BIN文件): kernel.c void printf(cha

    2热度

    1回答

    我想要做的事,如: let x = 123; let mut buf = [0 as u8; 20]; format_to!(x --> buf); assert_eq!(&buf[..3], &b"123"[..]); 随着#![no_std],没有任何的内存分配器。 据我所知,有core::fmt::Display为u64的实现,我想尽可能使用它。 换句话说,我想做一些像format

    2热度

    1回答

    我正在尝试在Rust中编程裸机嵌入式系统。通常在C启动代码中完成的一件事是为任何全局或静态未初始化的变量初始化BSS段。 但是,在Rust中,我无法弄清楚如何创建任何全局或静态未初始化的变量(即使使用unsafe代码)。换句话说,我不知道如何编写任何Rust代码,以便编译器用某些东西来填充BSS段。 我想... static BSS_Data: i32 = unsafe { core::mem::

    0热度

    4回答

    我想为Raspberry Pi B +版本编写一个非常基本的交叉编译器来构建简单的裸机程序。我的编译器能够使用ARM指令集数据表将简单命令翻译成相应的机器语言指令。 打开发光二极管(定位自己在烘烤pi当然,http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/)工作正常。 但现在我希望做一些分支指令,而这正是似乎没有任何工作了: 首先,