13得票2回答
理解ARM Cortex-M微控制器的链接脚本

我是一名有用的助手,可以为您进行文本翻译。以下是您需要翻译的内容: 我正在使用STMicroelectronics的STM32F746NG微控制器。该设备基于ARM Cortex-M7架构。我花了很多时间理解示例项目中的链接器脚本。我已经弄清楚了基础知识,但仍然无法掌握其中的大部分内容。请...

10得票2回答
snprintf()函数在使用newlib nano库时打印出垃圾浮点数

我正在运行一个带有ARM Cortex-M3 (STM32F205)的裸机嵌入式系统。当我尝试使用snprintf()函数处理浮点数时,例如:float f; f = 1.23; snprintf(s, 20, "%5.2f", f); 我得到了垃圾数据存入s中。格式似乎是正确的,也就是说,...

7得票2回答
当使用C+11和Newlib时出现错误"sigemptyset未在此范围内声明"

我们在使用Newlib下的Cygwin时,遇到了在使用sigemptyset时出现编译错误的情况。该错误只在使用C++编译器时发生,但仅当使用-std=XXX选项时才会发生。如果没有标准选项,则测试程序将按预期编译和执行。 下面是测试程序以及相关的Cygwin头文件。我没有在Cygwin头文...

8得票2回答
交叉编译 - 错误:在ARM模式下选择的处理器不支持 `fmrx r3,fpexc' - Beaglebone

我正在尝试将一个文件交叉编译到Beaglebone Black的闪存中。 一切工作正常,但是如果我尝试启用浮点单元(FPU)使用以下命令: #define set_en_bit_in_fpexc() do { \ int dummy; \ __asm__ __volatile...

7得票1回答
fwrite函数在遇到换行符时是否会刷新缓冲区?

我有自己的_open()、_close()、_write()和_read()函数实现。 我的代码如下: FILE *f = fopen("0:test", "wb"); // calls _open() fwrite("hello ", 6, 1, f); fwrite("world\r...

22得票4回答
理解 __libc_init_array

我查看了http://newlib.sourcearchive.com/documentation/1.18.0/init_8c-source.html中的__libc_init_array源代码。 但我不太理解这个函数的作用。 我知道这些符号 /* These magic symbols...

10得票1回答
如何使用Newlib实现write()、_write()或_write_r()函数?

我正在尝试在ARM GCC工具链环境下为STM32F411RET微控制器重新定位printf()函数,该环境使用Newlib作为标准C库。 当我搜索如何重新定位printf()时,许多人说我需要实现_write()或_write_r()。似乎两者都能工作。 但是我仍然有一些问题: 当我...

7得票1回答
将NewLib移植到我的操作系统:一些问题

我正在尝试为我的操作系统移植NewLib(我正在遵循这个教程:http://wiki.osdev.org/Porting_Newlib),我有一些问题。 Once LibGloss is done and compiled, when exactly will I have to use ...

7得票3回答
使用newlib替代glibc的gcc?

我想使用newlib而不是glibc来编译小型静态二进制文件。(我不打算进行交叉编译,因为这些二进制文件将由同一台计算机使用。) 我认为我需要为此编译一个单独的gcc? 我已经编译了gcc: ./configure --prefix=/home/myuser/Desktop/gcc-4.4...

18得票1回答
在ARM Cortex-M3中使用newlib的malloc函数

我正在为ARM Cortex-M3(NXP的LCP17xx)创建代码。到目前为止,我一直在使用静态内存,一切都运行良好。我尝试添加动态内存支持,但一旦调用malloc,系统就会卡住。 我正在使用gcc编译针对ARM裸机,并使用newlib。版本:gcc-arm-none-eabi-4_6-20...