This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F2122:从 IAR ORG 语句迁移到 CSS

Guru**** 2472930 points
Other Parts Discussed in Thread: MSP430F2122

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1323836/msp430f2122-migration-from-iar-org-statement-to-css

器件型号:MSP430F2122

我想从 IAR 迁移到 CSS、只适用于汇编器(无 C 程序)。 现在还有一个问题:  

如何从 IAR 的 ORG 语句迁移? 我想在信息存储器中存储(汇编)一些数据字节。  

我尝试了几个选项。  

IAR:

org 1040h

dB 1、2、3、4

CCS:

.sect ".infoC";(.infoC 在包含文件"MSP430F2122.h"中定义)

.byte 1、2、3、4

这不起作用、不会将 字节存储到信息存储器中、调试期间没有错误消息。  

我使用了"擦除程序和信息存储器"选项 (在调试选项窗口中)。 擦除已完成、但未进行编程。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Schroedinger、

    我在编码的汇编方面有点生锈、但这里展示了我提出的问题、并验证了它是否正常工作。  如果您在使其正常工作时遇到困难、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供此信息、但这也不起作用。  

    最后,我有这些陈述,这工作:  

    .sect ".int03";FFF6h、端口2
    .SHORT TIMERP2
    .sect ".int08";FFF0h、计时器 A1
    . TIMELP 简版
    .sect ".reset";MSP430复位矢量
    .word 复位

    结束

    我不知道、为什么我不能简单地

    .sect ".infoD"

    .byte a、b、c

    此行与上述语句非常相似、并且也在链接器文件中定义。  

    如果我把声明

    .字 a、b、c

    在程序结束时、它也会起作用(但如果我更改程序中的内容、位置会有所不同)。 应该可以将一些字节放置在特定的存储器地址上。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是奇数。

    我检查了.map 文件以查看链接器放置我的单词的位置、我看到它将我的单词放置在 INFOA 中的第一个位置。

    让我来确保我是正确地跟随您的...您是将它们放在您的.asm 文件还是链接器.cmd 文件中?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.我把你的建议放在.cmd-file (.myConst: load infa)和.asm-file (peach ...),就像你写的一样。  

    2.我在上一次的邮件 中写的所有内容都是在.asm-file 中完成的。  

    我使用 调试窗口的存储器窗口、以及 th 反汇编器窗口进行了检查。  

    "桃子"是否只是一个可以遗漏的标签? 是否有前导空白?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Karl:

    "peach"只是一个标签、我用来引用 INFOA 中的位置、其中有2个字节(闪存中的常量字 var 不能在运行时修改、即只读)、如果没有这个标签、我很确定您会遇到构建错误。  如果您打算在代码中的某个位置引用此位置、则必须为汇编器提供一些标签。

    例如下例、其中值为一个变量->值 .equ  R4

             MOV.w   计量、值

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dennis、  

    经过 大量的试验与".sect ",这根本不起作用,我使用一个工作与非固定存储的常量和标签,这是可行的。  

    从我读到过的一些 TI 文档中、我不明白为什么它不起作用。   

    感谢您的支持。  

    此致

    卡尔