萌新的CCS8使用采坑记录

ccs下了也有两个月了 踩了不少坑但是都没有记录下来 于是第二次碰到一样的问题就会有种“诶这个问题我之前见过的!那会儿是怎么调通的来着……”

本着种一棵树最好的时间是十年前和现在的心态,决定把遇到的坑们先记录下来。

1.RAM可以烧,flash不行

1.1 不进main

试着使用以前的备份,可以进main,然后重新用新的程序,又能进了 很迷。有的时候还要切换一下flash和ram烧

1.2 进了程序卡串口引脚

发现之后的程序加了一段测试引脚gpio的程序 然后这段程序把串口的引脚给初始化了(捂脸)

1.3不卡串口了改卡发送中断了,不然就卡硬件中断

现在中断不使能就进硬件中断 中断使能了就卡在发送中断里 。而且很迷的是在ram下就不会触发这个..发现串口除了tx有个中断fifo也有个中断没关 。。原因其实和发送中断没关系,把发送中断关了,程序继续运行到了OLED的初始化,这里面有一个延时的程序,用的是官方例程的DELAY_US 然后好死不死的RAM下没问题 FLASH下会硬件中断...改成for循环延时就好了。

2.和IAR不一样,这里的局部变量最开始一定要赋初值(话说本来就应该这样的好吧..之前用iar为什么不赋值不出错..)否则会有一个根据内存的随机值在里面。

3.这里的inline直接写inline 不用想iar里写__INLINE

4.这里的int是16位的,而且程序里普通的数字都是int型,因此对寄存器操作时请注意在数字后面加个L(参考上一篇博文)

5.如果发现程序烧不进去的情况,首!先!检!查!接线,从pc到下载口有四个地方都有可能松,电源没有供也可能导致下不进去,都检查过再去判断芯片锁或者烧。

6.

program will not fit into available memory.  placement with alignment/blocking fails for section ".text" size 0x125d page 0.  Available memory ranges:    28333_RAM_lnk.cmd    /Carrot_Mind    line 133    C/C++ Problem

提示内存不够,通常是发生在ram模式下,因为默认的ram_lnk.cmd给的代码区只有1K,不小心就写超了

PAGE 0 :
   /* BEGIN is used for the "boot to SARAM" bootloader mode      */

   BEGIN      : origin = 0x000000, length = 0x000002     /* Boot to M0 will go here                      */
   RAMM0      : origin = 0x000050, length = 0x0003B0
   RAML0      : origin = 0x008000, length = 0x001000
   RAML1      : origin = 0x009000, length = 0x001000
   RAML2      : origin = 0x00A000, length = 0x001000
   RAML3      : origin = 0x00B000, length = 0x001000

修改成

PAGE 0 :
   /* BEGIN is used for the "boot to SARAM" bootloader mode      */

   BEGIN      : origin = 0x000000, length = 0x000002     /* Boot to M0 will go here                      */
   RAMM0      : origin = 0x000050, length = 0x0003B0
   RAML0      : origin = 0x008000, length = 0x001000
   RAML1      : origin = 0x009000, length = 0x003000
//   RAML2      : origin = 0x00A000, length = 0x001000
//   RAML3      : origin = 0x00B000, length = 0x001000

就成

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值