EEPW论坛
网站首页
首页
特色版块
企业专区
电子DIY
活动通道
最新帖
技术SOS
签到
首页
STM32
电源与模拟
物联网技术
OpenVINO生态社区
Xilinx
STM32
GD32
ADI
TI
Linear
Microchip
Renesas
Cypress
Mouser
Burnon
我的四轴 DIY
键盘 DIY
树莓派DIY
功放 DIY
3D打印 DIY
智能车DIY
LightCube DIY
QuadCopter DIY
51 DIY
MCU DIY
FPGA DIY
ARM DIY
CPLD DIY
DSP DIY
拆解+DIY
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界
»
论坛首页
»
嵌入式开发
»
MCU
»
C语言中如何利用HEX文件更改程序中的变量初始值
共14条 1/2
1
2
›
跳转至
页
953681
C语言中如何利用HEX文件更改程序中的变量初始值
菜鸟求教
助工
2013-10-25 17:23:53
打赏
只看楼主
1楼
如题所述,比如烧51系列的单片机,若不能,那只烧入芯片的HEX文件,如何得知变量的初始值呢?谢谢!
回复
收藏
0
关键词:
51
单片机
C语言
953727
jobs
院士
2013-10-25 23:27:52
打赏
2楼
将变量烧写hex的特定位置,然后使用将程序里的变量的值取出此位置的数值,赋之。
这样,程序的变量就使用了hex文件了
评论
953744
Snake0301
高工
2013-10-26 01:07:35
打赏
3楼
楼上正解
评论
956292
小江湖
助工
2013-10-29 14:32:23
打赏
4楼
沒有源碼,想要更改從C編譯連結後的hex檔案中的變數初始值,是可行的。但是首先您必須了解C程式的概廓內容與HEX的編碼原則,而後找到參數相關的位置,修改即可。但這一些可能對您來說太難了(包含我自己),因為沒有程式員適當的多年內功修為,是很難解碼與找到參數初始值的位置的。若有源碼,從源碼修改是較簡單容易的。
评论
957153
红米
菜鸟
2013-10-31 16:16:08
打赏
5楼
难得楼上“化外一野夫”给楼主的评论,看起来您是位台湾技术牛人啊
评论
957410
内马尔
菜鸟
2013-11-01 14:46:20
打赏
6楼
從源碼修改
评论
958544
济科
菜鸟
2013-11-05 17:38:38
打赏
7楼
问题问得不明确;HEX文件是指单片机的十六进制文件,还是其它?
评论
959061
卢西奥
菜鸟
2013-11-06 17:51:26
打赏
8楼
变量必须初始化(赋值),否则没有确定的初值。可以将初值(常数)按“变量”的形式分配在code空间,并且用“_at_”关键词定位,用这个定了位的初值对变量初始化。这样做有点绕,但后期在烧写的时候就能在你期望的位置上找到初值,并且可以改掉。甚至可以用这个方法标定仪器,如果你熟悉浮点数的格式的话。
评论
959291
九哥
助工
2013-11-07 17:22:51
打赏
9楼
5楼说的是,烧制前在HEX文件中的某已知位置改数据。 如果不是用的C51,而是ASM,这位置也是事先明确的。
评论
960106
祝家庄
助工
2013-11-11 15:10:37
打赏
10楼
在HEX文件中改变量的值,个人觉得不可能,程序那么多变量,你怎么定位要修改的变量的位置呢?
评论
共14条 1/2
1
2
›
跳转至
页
回复
匿名不能发帖!请先 [
登陆
注册
]
发新帖
每日签到
有奖活动
灵活的区域定义
光学系统的3D可视化
OptiSystem应用:SOA波长变换器(XGM)
更容易使用和更好的控制数据可视化
请大声喊出:我要开发板!
打赏帖
【分享评测,赢取加热台】从零配置MCX-N947——PWM(SCtimer)
被打赏
50分
【分享评测,赢取加热台】实际测试MCX-N947——PWM(Ctimer)
被打赏
50分
【换取手持数字示波器】红外触摸框及各类红外设备的工作原理
被打赏
5分
【换取手持数字示波器】+精英板驱动两相四线步进电机
被打赏
10分
【换取手持数字示波器】+精英板红外人体感应
被打赏
10分
【分享评测,赢取加热台】+Arduino下基于TM1638驱动的数码管模块显示
被打赏
50分
【换取手持数字示波器】旋钮原理及代码实现
被打赏
5分
【分享评测,赢取加热台】+TM1638数码管驱动IC
被打赏
50分
【换取手持数字示波器】电容式触摸按键工作原理及设计要点
被打赏
10分
【换取手持数字示波器】变阻器及各类类变阻器的工作原理介绍
被打赏
5分
热门分类
STM32
MCU
通讯及无线技术
物联网技术
电子DIY
板卡试用
基础知识
软件与操作系统
我爱生活
小e食堂