一个失误,编译器报错Error: invalid char '[' beginning operand 2 `[ %eax]'

ROS Noetic + Realsense ROS 2.3.2 在鲁班猫4上的完整工作空间搭建与相机启动调试 本文详细介绍了在鲁班猫4(RK3588S)开发板上搭建ROS Noetic与Realsense ROS 2.3.2开发环境的完整流程,包括Realsense SDK安装、工作空间配置、D435i深度相机驱动调试等关键步骤,为机器人视觉系统开发提供实用指南。 阅读详情

因为一个疏忽导致找bug几小时,上网搜寻不得,现写于此,愿向我一样被这一小概率事件折磨的人早点解脱。。。

gprs.c: Assembler messages:
gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %eax]'
gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %eax]'
gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %edi]'
gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %ebx]'
gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %edi]'

为一个嵌入式设备编程,编译器报错如上,源代码如下:

static inline void _outl(unsigned long addr, unsigned long dat) {
    asm volatile (
    "str %1, [ %0 ]\n"
                :
                : "r" (addr), "r" (dat)
                : "memory"
        );
}

百思不得其解,后发现原因:

Makefile中前段时间在电脑上调试程序把Makefile加了一行:

CC=arm-none-linux-gnueabi-gcc
CC :=gcc     <--------------此行为新加行,意思是把CC变量重新赋值'gcc',也就是改交叉编译为直接编译

注释掉那行后编译通过。

原因:

这是一个C语言嵌入汇编的实例,汇编代码是目标arm核心处理器的汇编,当然必须要用对应的交叉编译器喽。

【AHE数据集】历史/未来全球网格热排放数据 PF-AHF AHE数据集 阅读详情

相关推荐

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

结合了很多项目和文章,总结一篇项目构建的笔记。 温馨提示:文章末尾记录了我在搭建项目过程中,遇到的一些问题和解决办法 ~

aDiaoYa_的博客 4232

汇编后缀导致了编译错误(一个极难发现的错误)

Error: junk at end of line, first unrecognized character is `/' 的解决方案

金宝桑的博客 9458

ADS重新安装失败排查指南:从注册表清理到环境变量配置

本文详细解析了ADS重新安装失败的常见原因及解决方案,包括注册表残留清理、license路径锁定处理和环境变量配置。通过分步指南和实用技巧,帮助工程师高效解决安装问题,确保软件正常运行。

weixin_42524708的博客 457

Golang编译报错 ‘invalid char’

最近在新电脑安装go环境,发现 golang 包名如果有汉字就不能编译运行。具体来讲,就是报错 ‘invalid char’但是,我在以前的电脑上运行没有问题。

qq_42747210的博客 2162

从FreeCAD到BIMBase:PlaneGCS约束求解器的移植使用指南

本文为BIMBase平台的开发者提供了一份详细的PlaneGCS几何约束求解器移植与集成指南。文章深入探讨了如何从FreeCAD中提取PlaneGCS核心代码,并将其适配到BIMBase的C++二次开发环境中,重点解决了内存管理、数据模型桥接、约束抽象以及性能调优等关键问题,旨在帮助开发者构建稳定高效的参数化设计模块。

weixin_29213525的博客 321

IEPE传感器4mA恒流源接口电路

另外传感器的偏置电压大概在10V多点,一般接个电容把直流分量去掉。这里我们要把恒流源的电流设置在4毫安左右,R1取33Ω差不多正好。经过CR的隔直流电路后的波形是这样的。

老白的博客 6115

解决Error: junk at end of line, first unrecognized character is `@'

<br />http://www.unixresources.net/linux/clf/embedded/archive/00/00/62/92/629208.html<br /> <br /> <br /> 我按照哈佛大学上的一个链接编译ARM Toolchain, 使用的版本是: <br />gcc 3.4.6 <br />binutils: 2.16 <br />glibc: 2.3.6 <br />glibc-linuxthreads: 2.3.6 <br />arm-kernel: linux-

samantha_sun的专栏 2万+

数字孪生驱动的城市地下管网智能运维与应急处置决策支持系统

上海市城市数字化中心的数据实践显示,通过关联分析管网材质与故障率的关系,将铸铁管更换周期从15年优化至8年(李敏,2021)。环境效益方面,上海市通过优化管网运行参数,年减少碳排放1.8万吨,相当于种植36万棵乔木。数字孪生与物理设备的双向交互采用OPC UA协议实现,某次天津管网渗漏事件中,系统通过实时数据反馈,指导现场人员调整注浆方案,将修复时间从48小时压缩至16小时。虚拟指挥沙盘支持多视角协同,深圳水务系统的实践表明,通过AR可视化技术,跨部门会议效率提升60%,方案决策时间缩短40%。

2501_92431686的博客 1426

编译出现错误,想知道为什么错误

编译出现错误,想知道为什么会有错误: **main.c:12:5: Error: Invalid operand types ‘char’ and ‘char *’ b[0] = (char *)malloc(64); #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char *a[30];//建立一个指针数组,然后建立两个一级指针 char *b;

Dong_tutu的博客 387

Freeswitch DTMF 按键无法接收问题修复

freeswitch 在接收到 update后,会更新成新的 payload type,但是给的200响应,仍然是旧的,这时候就会导致手机侧认识需要发送旧的payload,所以发到 fs 后就会导致直接丢包,不去处理RTP包了。呼叫时需要设置通道变量 rtp_manual_rtp_bugs=ACCEPT_ANY_PAYLOAD ,这时候FS 就不会对包的payload进行判断,直接判定通过。应该修复 freeswitch 给响应时,应该根据收到的 payload 发送给手机,但是一直未找到正确的路径。

2301_81507069的博客 374

Codex 100个真实案例 - 用AI绘制CAD机械图纸(工程师看了直呼内行)

本案例将展示如何用 Codex 生成 Python 脚本,通过 `ezdxf` 库绘制标准 DXF 格式的 CAD 机械图纸。我们会从零开始,逐步实现直线、圆、圆弧、标注等基本图形元素,最终绘制出一张包含主视图、俯视图、尺寸标注、标题栏和技术要求的完整法兰盘零件图。还会演示参数化批量生成不同规格零件图和自动 BOM 物料清单,生成的 DXF 文件可直接在 AutoCAD、FreeCAD 中打开。全程用自然语言驱动 Codex,工程师看完直接上手!

yueyeguzhuo的专栏 2084

Linux-awk

awk一· awk简介二. awk的语法格式三. awk的选项四. awk的命令五. awk的命令格式六. awk的工作原理七. awk的内部变量八. awk的两个打印函数print和printf九 awk的command包括模式和动作两部分十 awk的模式10.1 模式为正则表达式10.2 模式为比较表达式10.3 模式为条件表达式10.4 模式中可以执行计算10.5 模式使用逻辑操作符和复合模式10.6 范围模式10.7 在比较表达式中,可以用.加数字表示零点几;在动作语句中可以把字段类型为数值类

qq_33808440的博客 1560

DeepSeek Harness“一切皆插件”核心机制详解

DeepSeek Harness 的“一切皆插件”核心 = Cordis 微内核 + 服务化能力接口 + 声明式依赖注入 + 类型化事件 + 可逆副作用 + 配置层 Profile/Bundle/Patch 组合。它的工程收益是:把模型、工具、循环、存储、UI 等所有 Agent 能力都变成“可从配置替换、可干净装卸”的单元,而不是写死在框架里。

软件行业技术文化交流。 602

Invalid char (/) found at index (10) in sheet name异常原因|导出excel出现Invalid char (/) found at index (10)

前言 相信大家在做导出excel的时候,有些小伙伴们会碰到下面这样的异常:Invalid char (/) found at index (10) in sheet name 如图所示 问题分析 出现这样的问题是因为你在导出excel的时候,给excel取的名字中 带了 / (斜杠); 大家也可以看到图中的bug,我取的名字是 待评估/评估驳回,这样的excel文件名称就会有问...

小小鱼儿小小林的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

汇编常见错误解决方法总结

汇编常见错误总结及解决办法

kylcan的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SyntaxError: invalid character in identifier

SyntaxError: invalid character in identifier:标识符中的无效字符。 原因有以下两种: 代码中有中文字符,包括标点符号。 不可见字符。 第一个原因,检查一遍,即可。 第二关原因,解决方法在本文章中进行介绍。 不可见字符的解决方法 这个是我的源代码,在运行的时候出现了报错。 import main import os os.environ['TF_CPP_MIN_LOG_LEVEL']='3' def test_second_gate(): model=

liujuan1208的博客 6万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

UTF-8引起的错误--Invalid char `\357' in expression,及解决方案

今儿工作中遇到一错误。 用UTF-8编码格式执行rb文件时,给出如下提示: Invalid char `\357' in expression Invalid char `\273' in expression Invalid char `\277' in expression 原因:由TF-8的最前面有EF BB BF这三个隐藏的字符导致的以上错误。 解决方案:用16进制编辑...

qiupeng008的专栏 1416

已解决SyntaxError: invalid character ‘(‘ (U+FF08)

已解决SyntaxError: invalid character ‘(’ (U+FF08)

努力让自己发光,对的人才能迎着光而来 2万+

编写python代码时出现SyntaxError: invalid character in identifier的解决方法

编写python代码时出现SyntaxError: invalid character in identifier的解决方法   这个错误一般情况下是出现了非法的空格,一些高级的编辑器会直接出现红色的波浪线提示错误,但是如果像jupyter notebook这些环境下是不会提示的,所以这个错误是由于出现了非法空格造成的。 解决方法:   将原来的空格删除掉,然后再用tab键重新生成空格。 拓展:   其他使用jupyter notebook类似的错误,如:IndentationError: unindent

SZU_黄其才 5312

编译linux内核错误Assembler message的问题

使用arm-linux-gcc 4.4.3编译3.2版本的linux内核没有问题,但是编译4.x的内核却一直提示Assembler message:……。这个问题的原因是该arm-linux-gcc编译器的版本较老,使用最新版本的编译器(我的是基于gcc 5.4.1)可以解决问题,网上找arm交叉工具基本上较老,在这个网站可以找到最新的工具:https://launchpad.net/gcc-ar

chunyunzhe的博客 1万+

php排除无效字查询,php删除无效的字符

当我使用$dom-> loadHTML(‘‘.$html);时,我输出了以下错误:Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Char 0xD860 out of allowed range in Entity, line: 1 in D:\xampp\xampp\htdocs\xampp\similarity\funct...

weixin_29210759的博客 390

解决EasyExcel写入数据时的Invalid char错误

在项目中使用EasyExcel写入Excel数据时,遇到了Invalid char错误。该错误通常由于Excel表格命名规范不符合要求导致。Excel对工作表名有一些基本的规定,如不能超过31个字符、不能以空格开头或结尾、不能包含特殊字符(如:、/、\、?、*、[、]、、:)。为解决此问题,我们编写了一个修复方法,将不符合规范的字符替换为下划线、去除首尾空格、限制长度,并在数据写入前调用该方法。这样可确保工作表名符合Excel命名规范,解决了Invalid char错误。

君若雅的博客 2083

《ARM嵌入式Linux系统开发从入门到精通》勘误

《ARM嵌入式Linux系统开发从入门到精通》勘误很高兴收到第一位读者的勘误信,内容如下:看了你的书觉得不错,有点勘误给您指出来 ,P41页#../bulid-gcc/configure........应该改为#../gcc-3.3.6/configure......在42页中书上的代码写的 都是2.2.3版本/不过你光盘里面的源码是2.3.2版本的//  结论:P41页#

dongliqiang2006的专栏 6605

使用iView时报"Parsing error: x-invalid-end-tag"错误的解决方案

使用iview和vue的时候,想用iview的栅格布局,结果报错了 <Col span="6"> <div>col-6</div> </Col> vue Parsing error: x-invalid-end-tag 原因 vue将标签渲染为原生html标签时,由于这些标签是自闭合的,所以有end标签会报错。 解决 1.修改.eslint...

沧笙踏歌的博客 3561

poi操作中Invalid char (*) found at index (22) in sheet name

在导出操作中如果出现这种错误,应该注意你导出的sheet名中是否有非法字符。 char()括号中的内容则是非法字符。 index(22)中的22则是你sheet命名中非法字符的定位。

fendaren01的博客 7215
上一篇: GPRS模块在Linux平台上ppp拨号上网总结与心得
下一篇: MSP430与GPRS模块的串口通信硬件流控制
tinyhare
博客等级 码龄15年 11粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值