CCS进行debug停止后不断电程序仍然可以运行

最近开发一个项目,使用CCS进行编译和debug,发现debug的一个问题,这个会导致我们误判,比如我遇到的问题:

描述

我在调试TDA4x的内置mcu,外面挂了一个NorFlash,我在调试这个Flash的擦除、读和写功能,但是突然发现出现了掉电之后不保存的问题,这就让我纳闷了,命名在debug的时候看到Flash地址已经写进去值了,而且也可以读出来,但是停止debug然后断电,再继续debug的时候发现那块地址写入的数据都没保存,尴尬。。。

分析:

经过漫长的调试,而且咨询了供应商,还是没有得到解决,然后在一个阳光明媚的下午,突然我想到了一个问题,是和我的操作有关,可能是这个问题导致的,然后开始验证这个想法,果然是这个问题导致的,这个问题对我映像很深刻,所以就想记录下来。

操作:

编译 -> 上电debug ->运行case -> 停止debug -> 断电

对操作分析

上述操作咋一看没啥问题,但是我忽略了一个问题,CCS在debug界面按了停止按钮之后,如果不断电的话程序会继续执行,就是在“停止debug -> 断电”这个步骤间会有个几秒的时间,这几秒会继续运行程序。

测试case分析:

如下是我的测试case,先擦除,然后写,最后读,这个case是放在一个周期任务中执行的,那么按照我的操作,在读操作完之后我将debug停止,然后再断电,这个过程中还会运行程序,而这个case是周期执行的,所以它有很大概率就会跑到擦除这一步,因为我擦除的大小是0x100000,需要几秒钟的时间,正好这个操作的间隔也是几秒,所以就会把我debug写入的数据都擦除掉,所以我再次上电看到的现象就是写入的数据没了,即掉电不保存。

改进操作:

编译 -> 上电debug ->运行case -> 断电 -> 停止debug

我操作改为,写完数据并读取成功后,先断电,然后按停止debug的按钮,然后再次上电看写入的数据,果然是有的,经过多次测试,完全没问题,问题解决,被自己坑了,尴尬。。。

 

如果看了这个记录对你有帮助的话请点个赞鼓励一下呀!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将CCS运行程序烧录到开发板中,可以按照以下步骤进行操作: 1. 准备好所需材料:开发板、连接线及烧录器等。 2. 将开发板与计算机连接好,可以使用USB连接线或者其他适配器连接方式。 3. 在CCS的工程文件中,选择“Build Project”进行编译。确保程序没有报错。 4. 编译成功后,选择“Program”选项卡,在弹出的菜单中选择适用于开发板的烧录器。 5. 在烧录器选项中,设置好烧录器的通信参数,如端口号、波特率等等。 6. 确认烧录器设置无误后,点击“Start”按钮,开始烧录程序到开发板。 7. 等待烧录过程完成,通常会有进度条显示烧录进度。 8. 烧录完成后,断开开发板与计算机的连接,重新上开发板。 9. 检查开发板上是否正常运行已烧录的程序。 需要注意的是,烧录过程中需要确保烧录器与开发板的连接稳定,避免因连接问题导致程序烧录失败。另外,根据具体的开发板和烧录器型号,操作细节可能会有所不同,请确保根据实际情况进行操作。 ### 回答2: 将CCS生成的程序烧录到开发板中包括以下步骤: 1. 准备开发板:首先,确保开发板的源连接正常,并与计算机通过USB或串口连接。如果需要,还可以连接调试器或编程器。 2. 配置CCS:在CCS中选择合适的目标设备,并设置开发板的调试方式和连接接口。这些设置可能包括设备的芯片型号、调试器的选项以及接口的选择,如USB或串口。 3. 编译程序:使用CCS编译器编译源代码,生成可执行文件。在生成可执行文件前,应检查代码是否正确、依赖文件是否齐全,并解决任何编译错误或警告。 4. 配置烧录器:如果需要使用独立的烧录器,需要在CCS中配置烧录器选项。这些选项可能包括烧录器的型号、连接方式和接口速度等。如果使用内置的烧录功能,则无需此步骤。 5. 烧录程序:根据开发板的具体要求,使用CCS自带的烧录功能或外部烧录器将生成的可执行文件烧录到开发板上。如果使用CCS的烧录功能,通常可以通过点击工具栏上的"烧录"按钮或选择相关菜单选项来进行烧录。 6. 确认烧录结果:在烧录过程完成后,CCS通常会显示烧录结果,包括烧录是否成功以及烧录的存储地址等信息。可以通过查看日志或相关信息来验证程序是否已经成功烧录到开发板上。 总结起来,将CCS运行程序烧录到开发板中需要进行开发板的准备、CCS的配置、编译程序、配置烧录器、烧录程序和确认烧录结果等步骤。通过这些操作,可以将程序成功地烧录到开发板中,从而实现自己所需的功能。 ### 回答3: CCS(Code Composer Studio)是一种集成开发环境,用于开发和调试各种嵌入式系统的程序。在CCS中编写的程序需要通过烧录到开发板中才能在实际硬件上运行。 烧录过程基本上包括以下几个步骤: 1. 连接开发板:首先,将开发板通过USB线或JTAG连接到脑上。确保连接线正确连接到开发板的相应接口。 2. 配置目标板:打开CCS,创建一个新的目标配置(Target Configuration),选择对应的开发板型号和目标处理器。 3. 配置连接:在CCS中选择合适的连接方式,如JTAG,以与开发板建立连接。设置好连接选项,如芯片的JTAG ID,目标的压等。 4. 构建和编译:在CCS中打开需要烧录的程序工程,点击“构建”按钮,将工程编译成适合目标处理器的机器码。编译过程会生成可执行文件,用于烧录到开发板中。 5. 配置和烧录:在CCS中进入“配制和烧录”(Configuration and Deployment)视图,选择烧录工具(如XDS100v2),并配置好烧录参数,如烧录地址等。点击“烧录”按钮,CCS将自动烧录编译好的程序到开发板上。 6. 运行和调试:烧录完成后,可以断开开发板与脑的连接,将开发板外部源重新接入,开关开发板源。程序将在开发板上开始运行。使用CCS可以进行程序的在线调试,包括断点设置、变量监视等功能。 通过以上步骤,我们可以将在CCS中编写的程序烧录到开发板中,实现在实际硬件上的运行和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值