greenhills相关内容
链接器报告内联函数的多重定义错误. 我在头文件中有以下代码: struct Port_Pin{易失性uint32_t * port_addr_set_value;//!port_addr_clr_value: p_port->port_addr_set_value;*port_addr = 1 pin_bit_position;返回;} 我将头文件包含在多个源 (.c) 文件中.
..
..
我要在内联汇编中使用全局变量。 asm(“ LDR R0,g_TsInitStackPointerAddress”); 此处g_TsInitStackPointerAddress是全局变量。在编译时没有显示任何错误。 但是在链接时显示以下错误 [elxr ](错误)超出范围:0x1001326(无符号)不适合12个 位,同时从InitStack + 0x20执行重定位类型
..
我找到了几个代码段,用于禁用专用代码部分的GCC优化。 使用编译指示GCC优化(0) 但是对于Greenhils编译器,我找不到类似的东西。 没有这样的选择吗? 解决方案 从手册中: #pragma ghs Ostring 打开优化。可选字符串可以包含以下任何一个或所有字母: L-循环优化 M-内存优化 S-小(但缓慢)优化 # pragma ghs
..
我希望有人可以快速回答这个问题,但是基本上当我打开优化时,我会收到以下错误: [elxr](错误)小数据区 overflow:0xfff9f6fc(signed)没有 适合16位,同时在文件test_main.o 中执行 重定位位置__sti___13_test_main_cpp_252229d3 + 0xc,引用符号oe_init_intconn 当我放入此链接器指令时也会出
..
链接器是报告多次定义错误的内联函数。 我有一个头文件如下code: 结构Port_Pin { 挥发性uint32_t的* port_addr_set_value; //&LT!;这里写的引脚值引脚设置为高。 挥发性uint32_t的* port_addr_clr_value; //&LT!;写引脚值到这个端口清除引脚为低电平。 挥发性uint32_t的* port_ad
..