fet-pro430怎么看单片机里的win7机器码怎么看

MSP430F2370单片机,可以使用MSP-FET430UIF读取程序吗? - MSP430(TM)16 位超低功耗 MCU - 德州仪器在线技术支持社区
MSP430F2370单片机,可以使用MSP-FET430UIF读取程序吗?
发表于3年前
<input type="hidden" id="hGroupID" value="37"
大家好,我是个新手。&/p>
&p>目前手上有&a href=&.cn/tool/cn/MSP-FET430UIF& target=&extwin&>MSP-FET430UIF&/a>仿真器和MSP-TS430QFN40的接口板。有这些工具的话,可以实现如下功能吗:&/p>
&p>1,读取目标芯片中的程序:&/p>
&p>2,对比程序&/p>
&p>3,烧录&/p>
&p>顺便问一下,是否有哪位大侠可以指导一下操作,谢谢!&/p>&div style=&clear:&>&/div>" />
MSP430F2370单片机,可以使用MSP-FET430UIF读取程序吗?
此问题尚无答案
All Replies
大家好,我是个新手。
目前手上有仿真器和MSP-TS430QFN40的接口板。有这些工具的话,可以实现如下功能吗:
1,读取目标芯片中的程序:
2,对比程序
顺便问一下,是否有哪位大侠可以指导一下操作,谢谢!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
状元56270分
可以的,可以参考 硬件工具指南&.cn/cn/lit/ug/zhcu019l/zhcu019l.pdf
development tools supports development with all MSP430 flash devices.
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼26435分
Hi yongqiang,
你还需要下载一个相关软件来实现你需要的功能,它就是lite&FET-Pro430。你可以搜索一下。
另外如果你需要编译和调试相关的程序的话,你还需要下载我们的CCS IDE软件。这个在我们的官网可以找得到。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花13285分
Yongqiang Ji,
如Susan Yang和Ken回复,完成相应的功能需要:
Yongqiang Ji,读取目标芯片中的程序:
+&MSP-TS430QFN40 +&lite&FET-Pro430 (google一下,有免费版可以下载)
Yongqiang Ji2,对比程序
建议使用:Beyond Compare 2,非常好用!
Yongqiang Ji3,烧录
+&MSP-TS430QFN40 +&lite&FET-Pro430 or CCS/IAR
希望对您有帮助!O(&_&)O~
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼18653分
仿真的话推荐使用IAR和CCS调试仿真。
进行你要的功能的工具推荐:FETPro430-Lite.exe
下面是其使用方法和操作手册
Michael Qian
You have posted to a forum that requires a moderator to approve posts before they are publicly available.&&&& 应一个做硬件的同事的要求,他利用其他软件可以得到十六进制的机器码,希望做一个简单的软件,可以将机器
码反编译成汇编指令。本来网上应该有很多这方面的软件。但他说这个很特别,找不到,于是给他做了一个小软件&
现在将代码帖出来,供网友参考
import java.io.BufferedRimport java.io.Fimport java.io.FileInputSimport java.io.FileRimport java.io.IOEimport java.io.InputSimport java.io.PrintWimport java.util.Pimport java.util.StringT
&public class HexToAssemble {
&Properties orderProp = new Properties();&private String instructionPath = &e:/zip/order.properties&;&String binaryCodePath = &e:/zip/input.txt&;&String outputPath = &e:/zip/result.txt&;&private S&private String baseDir = &000&;&private boolean outPutFlag =&private int baseI&private void loadProp() {&&InputStream inStream =&&try {&&&inStream = new FileInputStream(instructionPath);&&&orderProp.load(inStream);&&} catch (Exception e) {&&&e.printStackTrace();&&} finally {&&&if (inStream != null) {&&&&try {&&&&&inStream.close();&&&&} catch (IOException e) {&&&&&e.printStackTrace();&&&&}&&&}&&}
&private void readTxt() {&&StringBuffer buf = new StringBuffer();&&File file = new File(binaryCodePath);&&try {&&&BufferedReader bufread = new BufferedReader(new FileReader(file));&&&String tmp = bufread.readLine();&&&while (tmp != null) {&&&&buf.append(tmp);&&&&tmp = bufread.readLine();&&&}&&} catch (Exception e) {&&&e.printStackTrace();&&}&&content = buf.toString();&}
&private void dealContent() {&&try {
&&&PrintWriter pw = new PrintWriter(new File(outputPath));&&&StringTokenizer token = new StringTokenizer(content, & &);&&&int tokenNumber = token.countTokens();&&&String[] orders = new String[tokenNumber];&&&int index = 0;&&&while (token.hasMoreElements()) {&&&&orders[index] = token.nextToken();&&&&index = index + 1;&&&}&&&String key =&&&String value =&&&String xValue =&&&String absoluteAddress =&&&String originalInstruction =&&&for (int i = 0; i & orders. i++) {&&&&key = orders[i].toUpperCase();&&&&xValue =&&&&absoluteAddress = getAddress();&&&&originalInstruction =&&&&if ( Integer.parseInt(key, 16)&=128 )&&&&{&&&&&xValue = key.substring(1);&&&&&key = key.substring(0, 1) +&X&;&&&&&absoluteAddress = &&+absoluteAddress +&: &;&&&&}&&&&else &&&&&absoluteAddress = absoluteAddress +&: &;&&&&value = orderProp.getProperty(key);&&&&&&&&if( value != null)&&&&{&&&&&StringTokenizer vs = new StringTokenizer(value,&;&);&&&&&String v1 = vs.nextToken();&&&&&String v2 = vs.nextToken();&&&&&if ( v2.equals(&1&))&&&&&{&&&&&&pw.append(absoluteAddress);&&&&&&if (outPutFlag)&&&&&&&pw.append(& & +originalInstruction +&&&&&&&&& &);&&&&&&pw.append(v1 ) .append(&/r/n&);&&&&&&setNextAddress(1);&&&&&}&&&&&else if ( v2.equals(&2&))&&&&&{&&&&&&if (& i+1 &orders.length )&&&&&&{&&&&&&&i = i+1; &&&&&&&originalInstruction = originalInstruction + & & + orders[i]+&&& &;&&&&&&&String muli =&&&&&&&if ( xValue != null )&&&&&&&{&&&&&&&&muli = xValue + orders[i];&&&&&&&&muli = changeHig(muli,v1);&&&&&&&}&&&&&&&else&&&&&&&&muli = orders[i];&&&&&&&&&&&&&&muli =muli+&H&;&&&&&&&if ( v1.indexOf(&expr&) !=-1)&&&&&&&{&&&&&&&&v1 = v1.replaceAll(&expr&, muli);&&&&&&&}&&&&&&&else&&&&&&&&v1 = v1+& & +&&&&&&&pw.append(absoluteAddress);&&&&&&&if (outPutFlag)&&&&&&&&pw.append(& & + originalInstruction+&&& &);&&&&&&&pw.append( v1 ) .append(&/r/n&);&&&&&&&setNextAddress(2);&&&&&&}&&&&&&else&&&&&&{&&&&&&&System.out.println(&input binary code has error&);&&&&&&}&&&&&}&&&&&else if ( v2.equals(&3&))&&&&&{&&&&&&String str7c7d = orders[i];&&&&&&if (& i+1 &orders.length )&&&&&&{&&&&&&&i = i+1;&&&&&&&originalInstruction = originalInstruction + & & + orders[i];&&&&&&&String first = orders[i];&&&&&&&if ( v1.indexOf(&expr&) !=-1)&&&&&&&{&&&&&&&&v1 = v1.replaceFirst(&expr&, first+&H&);&&&&&&&}&&&&&&&if (& i+1 &orders.length )&&&&&&&{&&&&&&&&i = i+1;&&&&&&&&originalInstruction = originalInstruction + & & + orders[i];&&&&&&&&String second = orders[i];&&&&&&&&if ( v1.indexOf(&expr&) !=-1)&&&&&&&&{&&&&&&&&&v1 = v1.replaceFirst(&expr&, second+&H&);&&&&&&&&}&&&&&&&&pw.append(absoluteAddress);&&&&&&&&if (outPutFlag)&&&&&&&&&pw.append(& & + originalInstruction+&&& &);&&&&&&&&if ( str7c7d.equals(&7C&) || str7c7d.equals(&7D&))&&&&&&&&{&&&&&&&&&pw.append( v1 ).append(& &).append(&&+first+second+&H&).append(&/r/n&);&&&&&&&&&str7c7d = &&;&&&&&&&&}&&&&&&&&else&&&&&&&&&pw.append( v1 ).append(&/r/n&);&&&&&&&&setNextAddress(3);&&&&&&&}&&&&&&&else&&&&&&&{&&&&&&&&System.out.println(&input binary code has error&);&&&&&&&}&&&&&&&&&&&&&}&&&&&&else&&&&&&{&&&&&&&System.out.println(&input binary code has error&);&&&&&&}&&&&&}&&&&}&&&&else&&&&{&&&&&System.out.println(& input binary code has error ,pls check code in 0 ..255& );&&&&&&&&&}&&&}&&&pw.flush();&&&pw.close();&&} catch (Exception e) {&&&e.printStackTrace();&&}&}
&private String getAddress()&{&&String returnStr = Integer.toHexString(baseInt);&&return returnS&}&&private void setNextAddress(int byteNumber)&{&&baseInt = baseInt + byteN&}&private String changeHig(String value,String operator)&{&&//value=FFA,JZ&&String returnStr = &&;&&int number =Integer.parseInt(value,16);&&int baseNumber = Integer.parseInt(baseDir, 16);&&if ( number&2047 )//80&&{&&&value = &F&+&&&number =Integer.parseInt(value,16);&&}&&&&if ( //&&&&operator.indexOf( &JNC&) ==-1& && operator.indexOf( &jnc&) ==-1 &&&&&&operator.indexOf( &INDEX&) ==-1& &&& operator.indexOf( &index&) ==-1 &&&&&&operator.indexOf( &CALL&) ==-1& &&& operator.indexOf( &call&) ==-1 &&&& )&&{&&&number =number+1;&&}&&&else&&{&&&number =number+2;&&}&&returnStr = Integer.toHexString( (number + baseInt) );&&if (returnStr.length()==5)&&&returnStr =returnStr.substring(1);&&return returnS&}&&&&public static void main(String[] args) {&&&HexToAssemble& hta = new HexToAssemble();//&&hta.loadProp();//&&hta.readTxt();//&&hta.dealContent();&&&&&if ( args.length ==5)&&{&&&hta.setBaseDir(args[0]);&&&hta.setInstructionPath(args[1]);&&&hta.setBinaryCodePath(args[2] );&&&hta.setOutputPath(args[3]);&&&hta.setOutPutFlag(args[4]);&&&hta.loadProp();&&&hta.readTxt();&&&hta.dealContent();&&}&&else&&{&&&System.out.println(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &);&&&System.out.println(&===============================================================================&);&&&System.out.println(&useage: java HexToAssemble baseAddress instrunction inputBinaryCode outputFile& 1/0&);&&&System.out.println(&java HexToAssemble 600 instruction.txt input.txt result.txt& 1&&&&&&&&&&&& &);&&&System.out.println(&===============================================================================&);&&} &}
&public String getBaseDir() {&&return baseD&}
&public void setBaseDir(String baseDir) {&&this.baseDir = baseD&&baseInt =& Integer.parseInt(baseDir, 16);&}
&public String getInstructionPath() {&&return instructionP&}
&public void setInstructionPath(String instructionPath) {&&this.instructionPath = instructionP&}
&public String getBinaryCodePath() {&&return binaryCodeP&}
&public void setBinaryCodePath(String binaryCodePath) {&&this.binaryCodePath = binaryCodeP&}
&public String getOutputPath() {&&return outputP&}
&public void setOutputPath(String outputPath) {&&this.outputPath = outputP&}
&public boolean isOutPutFlag() {&&return outPutF&}
&public void setOutPutFlag(String outPutFlag) {&&if (outPutFlag.equals(&1&))&&&this.outPutFlag =&&else&&&this.outPutFlag =&}
========================================================================
instruction.txt
00=SSC;101=ADD A,202=ADD A,[expr];203=ADD A,[X+expr];204=ADD [expr],A;205=ADD [X+expr],A;206=ADD [expr],307=ADD [X+expr],308=PUSH A;109=ADC A,20A=ADC A,[expr];20B=ADC A,[X+expr];20C=ADC [expr],A;20D=ADC [X+expr],A;20E=ADC [expr],30F=ADC [X+expr],310=PUSH X;111=SUB A,212=SUB A,[expr];213=SUB A,[X+expr];214=SUB [expr],A;215=SUB [X+expr],A;216=SUB [expr],317=SUB [X+expr],318=POP A;119=SBB A,21A=SBB A,[expr];21B=SBB A,[X+expr];21C=SBB [expr],A;21D=SBB [X+expr],A;21E=SBB [expr],31F=SBB [X+expr],320=POP X;121=AND A,222=AND A,[expr];223=AND A,[X+expr];224=AND [expr],A;225=AND [X+expr],A;226=AND [expr],327=AND [X+expr],328=ROMX;129=OR A,22A=OR A,[expr];22B=OR A,[X+expr];22C=OR [expr],A;22D=OR [X+expr],A;22E=OR [expr],32F=OR [X+expr],330=HALT;131=XOR A,232=XOR A,[expr];233=XOR A,[X+expr];234=XOR [expr],A;235=XOR [X+expr],A;236=XOR [expr],337=XOR [X+expr],338=ADD SP,239=CMP A,23A=CMP A,[expr];23B=CMP A,[X+exr];23C=CMP [expr],33D=CMP [X+expr],33E=MVI A,[expr];23F=MVI [expr],A;240=NOP;141=AND REG[expr],342=AND REG[X+expr],343=OR REG[expr],344=OR REG[X+expr],345=XOR REG[expr],346=XOR REG[X+expr],347=TST [expr],348=TST [X+expr],349=TST REG[expr],34A=TST REG[X+expr],34B=SWAP A,X;14C=SWAP A,[expr];24D=SWAP X,[expr];24E=SWAP A,SP;14F=MOV X,SP;150=MOV A,251=MOV A,[expr];252=MOV A,[X+expr];253=MOV [expr],A;254=MOV [X+expr],A;255=MOV [expr],356=MOV [X+expr],357=MOV X,258=MOV X,[expr];259=MOV X,[X+expr];25A=MOV [expr],X;25B=MOV A,X;15C=MOV X,A;15D=MOV A,REG[expr];25E=MOV A,REG[X+expr];25F=MOV [expr],[expr];360=MOV REG[expr],A;261=MOV REG[X+expr],A;262=MOV REG[expr],363=MOV REG[X+expr],364=ASL A;165=ASL [expr];266=ASL [X+expr];267=ASR A;168=ASR [expr];269=ASR [X+expr];26A=RLC A;16B=RLC [expr];26C=RLC [X+expr];26D=RRC A;16E=RRC [expr];26F=RRC [X+expr];270=AND F,271=OR F,272=XOR F,273=CPL A;174=INC A;175=INC X;176=INC [expr];277=INC [X+expr];278=DEC A;179=DEC X;17A=DEC [expr];27B=DEC [X+expr];27C=LCALL;37D=LJMP;37E=RETI;17F=RET;18X=JMP;29X=CALL;2AX=JZ;2BX=JNZ;2CX=JC;2DX=JNC;2EX=JACC;2FX=INDEX;2&
============================================================
&7c 22 8E&7C 0F EC&50 57&7C 03 C5&7C 29 06&50 4F&7C 03 C5&7C 29 06&50 57&7C 03 C5&7C 29 06&7C 03 D1&21 08&AF FA&7C 03 CE&53 91 7C 03 D1 21 08 AF&FA 7C 03 CE 5C 51 91 7C&04 A8 7C 0F EC 8F E0 7D&20 AF 30 30 30 30 30 30&30 30 30 30 30 30 30 30&30 30 30 30 30 30 30 30&30 30 30 30 30 30 30 30&30 30 30 30 30 30 30 30&30 30 30 30 30 30 30 30&30 30 30 30 30 30 30 30&30 30 30 30 30 30 30 30
本文已收录于以下专栏:
相关文章推荐
烧录程序也叫下载程序。下载程序的本质是什么?把单片机当做一个存储器,每一条程序指令都对应一个唯一的存储地址,把这些指令一条条存储到指定的存储地址中,这就是下载程序的本质。对于STC89C52RC单片机...
当看到一个你很喜欢的APK,或者想要知道里面的与源代码,最后一条路只能是反编译了。步骤如下1.下载反编译工具包:http://download.csdn.net/detail/kinglong68/9...
swf Action Script反编译 工具:&#160; ASV2010swf资源反汇编工具: SWFDecompiler&#160;为了防止你的flash作品被反汇编,可以使用flash加密工具:1. SWF En...
Android Studio 基于NDK加密,防止反编译获取加密key一、配置ndk路径(不会请自行百度)二、新建JniUtils类实现native方法1. JniUtils代码public clas...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)> FET-Pro430-Lite-Setup 3.02FET-Pro430-Lite-Setup 3.02已有 435149个资源相关资源下载专区上传者其他资源嵌入式处理器热门资源本周本月全部文档信息资源大小:17.62MB上 传 者: () 上传日期:资源类型:工具软件资源积分:1分评
论:下载次数:1参与讨论:标&&&&签:分&&&&享:下载资源需要,并消耗一定的积分文档简介FET-Pro430-Lite-Setup&3.05相关帖子FAQ&&&&Q.为什么我点的下载下不了,但积分却被扣了A.由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。Q.我已经登录过账号,为什么还一直提示要求登录A.出现这种情况是浏览器缓存问题,建议清理浏览器缓存后重启浏览器重新登录下载资源意味着您已经同意遵守以下协议1. 资源的所有权益归上传用户所有2. 未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途3. EEWORLD下载频道仅提供交流平台,并不能对任何下载资源负责4. 下载资源中如有侵权或不适当内容,请5. 本站不保证本站提供的资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。大学堂最新课程若举报审核通过,可奖励2下载分举报人:被举报人:xusongtao举报的资源分:1* 类型:请选择类型资源无法下载资源分类不正确资源无法使用标题与实际内容不符含有危害国家安全内容含有反动色情等内容含广告内容版权问题,侵犯个人或公司的版权其他* 详细原因:回到顶部EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_.cn 或通过站内短信息或QQ:联系管理员 高员外,我们会尽快处理。}

我要回帖

更多关于 电脑机器码怎么看 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信