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.

[参考译文] TMS320F28027F:TMS320F28027F

Guru**** 2465890 points
Other Parts Discussed in Thread: TMS320F28027F

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1482830/tms320f28027f-tms320f28027f

器件型号:TMS320F28027F

工具与软件:

我正在使用 C2000 Piccolo Launchpad TMS320F28027F 微控制器、如果我正在使用 sci print msg、则包括 sci 功能、但在任何函数的读取函数写入中、会遇到内存大小不合适的错误。 不仅是我得到这个错误,如果我包括一些程序扩展. 实际上、我的控制器闪存是64kB、但在内存分配中、我看到闪存为4kB、闪存为4kB、为什么会这样、以及我试图通过更改地址来增加 cmd 文件中闪存的大小、请查看以下图片

在 sci 消息打印之前

将 sci msg 打印完成后(说明资源路径位置类型
#10099-D 程序将无法装入可用内存中、或者该段包含的调用站点需要无法为此段生成 trampoline。 对".cinit"大小0x2e 第0页进行对齐/分块放置失败。 可用的存储器范围:F2802x_generic_flash.cmd /BMP_using_I2C/common/cmd line 152 C/C++问题
)

增加闪存的大小遇到如此多的错误(例如重叠寄存器等)、我爱所有这些并生成错误 cmd 文件

这是 CMD (我编辑过)零误差   

但在调试期间会遇到该错误

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

    尊敬的 Kishor:

    你能否错误地与我分享完整的链接器 cmd 文件以及你进行了更改的文件。

    谢谢

    Aswin

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

    尊敬的 Aswin:

    该问题已得到解决。

    FLASHA   :origin = 0x3F0000、length = 0x007F7F  /*片上 FLASH */

    谢谢  

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

    使用 bmp 传感器在 ti launchpad tms320f28027f i2c 接口上工作的 IAM 是我的 i2c 初始化代码和扫描仪、用于获取器件地址、但如果我连接到 GND 或0x77  、并且我已对这两个引脚进行外部上拉、同时短接跳线以隔离在 j6.7和 j6.8的32、33引脚上工作的 GPIO 扩展。 由于外部上拉、IEM 将 GPIO 引脚设置为1.please 可以解决该问题

    void I2C_Init (void)

    //启用 I2C 外设时钟
    EALLOW;
    SysCtrlRegs.PCLKCR0.bit.I2CAENCLK = 1;// Enable I2CA clock (启用 I2CA 时钟)
    EDIS;

    //将 I2C 重置为已知状态
    I2caRegs.I2CMDR.bit.IRS = 0;// Disable I2C module (reset state)(禁用 I2C 模块(复位状态))
    delay_function (10);//确保复位完成的小延迟

    I2caRegs.I2CPS.all = 149;// I2C 时钟的预分频器
    I2caRegs.I2CCLKL = 10;// SCL 为低电平周期
    I2caRegs.I2CCLKH = 5;// SCL 为高电平周期

    //设置主模式并启用 I2C
    I2caRegs.I2CMDR.bit.MST = 1;//将 I2C 设置为主模式
    I2caRegs.I2CMDR.bit.IRS = 1;//启用 I2C 模块
    }

    // I2C Scanner function (I2C 扫描仪功能)
    void I2C_Scanner (void)

    uint32_t TIMEOUT = 100000;//超时计数器
    uint8_t deviceAddress;
    对于(deviceAddress = 1;deviceAddress < 128;deviceAddress++)

    //设置从机地址
    I2caRegs.I2CMAR =(deviceAddress <<1);//左移7位地址

    //发送一个启动条件
    I2caRegs.I2CMDR.bit.STT = 1;//设置启动条件位

    //等待启动条件完成
    while (I2caRegs.I2CSTR.bit.bb = 1 && TIMEOUT > 0)

    超时--;
    }

    if (TIMEOUT =0)

    //发生超时
    scia_msg ("I2C 启动条件超时。\r\n");
    返回;
    }

    //检查设备是否响应
    如果(I2caRegs.I2CSTR.bit.nack = 0)

    //找到设备

    scia_msg("\r\nDevice Found:\0");
    }

    //发送停止条件
    I2caRegs.I2CMDR.bit.stp = 1;// Set stop condition bit (设置停止条件位)

    //等待停止条件完成
    while (I2caRegs.I2CSTR.bit.bb = 1);//等待总线空闲
    }
    }

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

    尊敬的 Kishor:

    请针对此问题创建一个新主题、我们的团队将会将其循环给 I2C 专家。

    谢谢

    Aswin