问题标签 [newlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
909 浏览

linker - 将 LDFLAGS 添加到 newlib Makefiles

我正在尝试在 syscalls.c 文件中实现 _sbrk() 函数。为此,我需要将 newlib 与我的项目目标文件链接起来。在 newlibs 根文件夹中,我做了一个简单的

这为我创造了一堆 Makefile。但现在我不知道我编辑了哪个 Makefile 来更改 LDFLAGS。如果不这样做,我会收到“未定义的引用”错误,因为链接器找不到相关对象。在此先感谢您的阅读(并希望能帮助我:) 克里斯

0 投票
2 回答
260 浏览

c - 不同 libc 实现中 wprintf() 中“%s”的不同行为

我注意到虽然

与 Linux 下的标准 glibc 一起工作,同样的事情与 newlib 的工作方式不同。似乎 newlib 期望那里有 "%s" 的宽字符串,因此可以使用以下方法:

哪种行为是正确的?这是newlib中的错误吗?另外,有没有办法在 printf 字符串格式说明符中明确指定我想要一个“窄”字符串,而不是一个宽字符串?

0 投票
4 回答
35963 浏览

gcc - 了解 __libc_init_array

我从http://newlib.sourcearchive.com/documentation/1.18.0/init_8c-source.html查看了 __libc_init_array 的源代码。
但我不太明白这个函数的作用。

我知道这些符号

在链接描述文件中定义。
部分链接描述文件可能如下所示:

然后我在 ELF-v1.1、gcc 4.7.2、ld 和 codesourcery(我正在使用 codesourcery g++ lite)的文档中使用键“init_array”进行搜索,但一无所获。

我在哪里可以找到这些符号的规格?

0 投票
1 回答
368 浏览

shared-libraries - 如何创建具有两个同名函数的共享库 (.so)

我首先编译了两个目标文件(.o):

  • 字符串-memcpy.o
  • 机器-memcpy.o

他们都定义了一个函数memcpy()。现在,我想创建一个共享库(.so):

由于“多个定义memcpy而失败。有没有办法做到这一点 ?谢谢!

事实上,当我尝试为 libc (newlib-1.16) 编译共享库时,我遇到了这个问题。我只能在 Internet 上找到如何从中构建静态库。因此,任何有关如何实现这一目标的提示都值得赞赏。

0 投票
1 回答
1025 浏览

c - 跨 i386 gcc 缺少 crt0.o 文件

我不知道为什么 newlib 没有为 i386 目标提供 crt0.o 或 crt1.o,因为它是 powerpc、arm 等目标的情况。

ld 需要它(我也需要调用静态构造函数)。

0 投票
2 回答
2987 浏览

gcc - 替代 Newlib?

我是一名使用 IA-32 类型处理器的嵌入式软件工程师。我们正在寻找一个编译器工具链——最好是免费的。

我们曾经使用 Mentor Graphics CodeBench Lite,但它不再可用。

我们查看了其他 GCC 发行版,但它们都没有 glibc 的裸机实现。除了 newlib 之外没有,但由于 GPL 和 LGPL 许可问题,我们不能使用它。我们是 OEM,我们的客户(和我们)拥有专有代码。

欢迎任何建议。

0 投票
1 回答
973 浏览

c - 模拟器中运行时函数调用的ARM硬故障

我正在尝试为裸机(无操作系统)ARM Cortex M3 从 3rd 方源构建和运行一些项目。

我用 newlib 用 arm-none-eabi-gcc(success) 构建它。

我在 TI Code Composer Studio 的模拟器下运行它。

问题:

当我运行它时,它在第一次调用运行时库函数时出现硬故障(进入相应的 ISR)

直到现在我播种它在调用 memmove 或 memcpy 时失败。在跟踪反汇编时,我发现它完全按照指令失败

BLX 内存集

问题:什么可能导致故障以及如何调试它???

0 投票
1 回答
185 浏览

visual-c++ - 使用 Visual C++ Express 从 newlib 编译数学函数

我正在提取为使用 NEWLIB 的数学函数的嵌入式系统设计的代码,我想用 Visual C++ Express Edition 编译该代码。但是,似乎 NEWLIB 中的部分代码设计为仅使用 GCC 编译。

问题:可以以某种方式修改 NEWLIB 以使用 GCC 以外的编译器进行编译吗?如何?

我在这里问不合理的事情吗?

例如,Visual Compiler 无法理解以下符号:

请注意,如果我可以使用 LCC 进行编译,我会满足于自己。这会更容易吗?

0 投票
2 回答
953 浏览

c - newlib printf 函数错误

我正在尝试将 printf 数据发送到我的uart设备。我已经适当地编写了 write_r() 函数。

我遇到的问题是,

  • 当我说printf(" My name is sam \n I am fine ");
  • 下次我说printf(" I am back ");

第一个问题:我只能看到"My name is Sam",然后光标转到下一行并停在那里。

第二个问题“我回来了”根本没有打印出来。

我尝试删除\n,仍然printf没有打印第二个。没有任何问题uart

看起来然后\到达指针丢失了。

我的代码

0 投票
2 回答
3918 浏览

c++ - STM32 C++ 新运算符(CoIDE)

我是 ARM 编程的新手,我正在使用 CoIDE,我正在尝试用 C++ 编写一些应用程序来从 8 个通道读取 PWM。

我的问题是使用运算符new;如果我写:

它工作正常,但如果我写:

程序转到:

在第一行之后。

我在 my.st.com here上找到了一个主题,并尝试将“--specs=nano.specs”添加到“链接”和“编译”部分的“杂项控制”中,但没有任何变化。