bare-metal

    0热度

    2回答

    我对编写操作系统并不太了解,但我认为这是一个很好的学习方式。有树莓派操作系统的教程,但它们不是基于Linux或用python制作的。我只是在这里寻找一个通用教程。

    1热度

    1回答

    因此,我在学校之前编写了一个小型RTOS,但是我们只是使用bootloader(redboot)留给我们的内存映射。它(一个TS-7200)有4个8MB的ram段,但引导程序已将它们重新映射为从0开始连续。我基本上想知道什么机制可以做到这一点,因为我现在正在编写一个px4fmu arm-based自动驾驶仪的重量更轻,想知道我的记忆是怎么回事,所以我可以找出我的链接器脚本以及内存保护。 引导加载程

    5热度

    2回答

    优化使用LLVM为交叉编译器 clang -Wall -m32 -emit-llvm -fno-builtin --target=arm-none-eabi -c lib_memset.c -o lib_memset.bc opt -std-compile-opts -strip-debug -march=arm -mcpu=mpcore -mtriple=arm-none-eabi lib_m

    0热度

    1回答

    我打算在没有任何Linux发行版的情况下使用BeagleBone,但使用简单的裸机代码。 所以首先:是否已经有一些可用的示例代码?尤其是包含以太网连接的TCP/IP堆栈? 谢谢!

    0热度

    1回答

    我正在研究多核处理器。 我想制作一个AMP系统,也就是说 - 我有一个应用程序在core0上成功运行,我想要完全相同的应用程序来运行core1。但是这两个应用程序不会互相影响 - 就像两个不同的应用程序在不同的内核上运行一样。 我该怎么办?可能的计划是: 1.将已编译的应用程序复制到RAM的不同位置,并将新位置的起始地址提供给core1,以便从那里开始执行。使用链接器脚本。 有没有人试过它?如果你

    0热度

    3回答

    我想写一个链接脚本看起来像这样: SECTIONS { . = 0x0; .startup . : { startup.o(.text) } .text : { *(.text) } .data : { *(.data) } .bss : { *(.bss COMMON) } . = 0x4000; other.text : {

    1热度

    1回答

    我目前正在Raspberry Pi上开发一个小型操作系统,我通过替换SD卡的/boot partition上的kernel.img文件进行安装。当我的代码运行时,CPU已经处于正常模式,所以我无法访问Secure world/Trustzone区域。 是否可以修改Raspberry的启动过程以便能够在安全模式下开始执行我的代码? 最佳, 五

    2热度

    2回答

    我正在致力于Cortex-M3。 我想添加一个功能(或ISR)到现有的固件镜像,而无需更新整个程序。 我可以编译并构建一个没有main的函数并写入flash吗? 如果我知道这个函数被写入的地址,我可以使用函数指针调用这个函数吗? 我们有单线程和没有OS的代码。根本问题是,在这种情况下,我们将如何创建安装和使用应用程序的环境。

    0热度

    1回答

    我有一个在ARM-Cortex A9处理器核心上实现的裸机程序。该程序将处理2个中断。现在我想测量这个CPU的效率。可能是CPU闲置的时间与CPU忙的时间之比。我正在使用zedboard(zynq 7000系列)进行测量。 由于我没有在核心上运行的操作系统,我现在知道如何获得CPU效率。 干杯, 小号

    0热度

    1回答

    我正在尝试在裸机AM1808上做一些引脚复用,但我似乎无法写入注册寄存器?或者,更具体地说,我似乎无法读回我尝试写入的值。 这里是我的代码: #define SYSCFG_BASE ((void*volatile)0x01C14000) #define SYSCFG_KICK0R (*((unsigned int*volatile)(SYSCFG_BASE + 0x38))) #define