在CCS中使用printf函数输出的问题和解决过程
来源:互联网 发布:物联网域名交易平台 编辑:程序博客网 时间:2024/06/05 15:17
在编写程序时,使用printf函数将一些参数显示出来对于调试程序很有用,但是初次在CCS中使用Printf函数时却遇到了一些问题,下面将这些问题的解决过程贴出来,虽然不能准确的指出问题所在,但是可以保证成功的用printf函数实现屏幕输出,希望对大家有用。
问题出现:
我用的是瑞泰的F2812的开发板,使用的是例程里的Cprogram程序,当时在调试IQmath程序的例程时,里面有用printf软件实现屏幕输出的语句,但我在Cprogram中加入这些语句时编译时却出现以下警告“warning: creating output section .cio without SECTIONS specification”,运行程序也没有实现输出。虽然我不很明白.ico段到底有什么用,我还是在Cprogram.cmd文件中加入了这个段的分配空间语句,不过编译之后,虽然没有出现上述警告,输出依然没有实现。
问题解决:
接下来我将Cprogram.cmd文件替换为IQmath例程的配置文件IQmath.cmd,虽然还有警告“warning: creating output section .cio without SECTIONS specification”,但可以成功实现输出,但前提是工程中的库文件必须选择rts2800_ml.lib而不是rts2800.lib。这样我就开始对比两个cmd文件的不同,没有大的区别,于是我就开始几乎是一条语句一条语句的进行改变,然后调试,最后发现对段定义的改动根本对问题的产生没有关系,最后只好改变-heap选项和-stack选项,发现问题就出在-heap选项上,在IQmath.cmd文件里并没有使用-heap选项,所以编译时采用的是默认的400h,Cprogram.cmd中定义的heap大小是100h,我将100h改为400h后就好使了,实现了屏幕输出。改变-stack的大小对于实现输出功能并没有影响。值得注意的是在cmd文件中如果要写注释语句的时候,最好使用“/*…*/”注释符,而不要用“//”注释符,在平时编写C程序调试时,经常在某个语句前加上“//”而使该语句失效,要用到时将“//”去掉即可,非常方便,但用在cmd文件的-stack选项或-heap选项之前时却出现下面错误提示“error: system error, can’t open file ‘/.obj’ for input: No”,改用“/*…*/”注释符时却不存在这个问题。(“//”用在段分配语句如.text前时却并不出现上述错误提示。
总结:
由以上查找问题的过程,我得到了下面几点结论:
1、要实现printf函数功能,cmd文件的-heap大小设为400h或不写,使用默认;(大小设为其他值我没有试过)
2、库函数使用rts2800_ml.lib而不是rts2800.lib;
3、.cio的指定与否与输出显示与否没有直接关系;
4、在cmd文件中应避免使用“//”注释符,可以使用“/*…*/”注释符;
5、在CCS中使用printf函数可以输出显示中文。
- 在CCS中使用printf函数输出的问题和解决过程
- 在CCS中使用printf函数输出的问题和解决过程
- DSP在CCS环境下因printf函数跑飞的问题
- 解决 CCS 3.3 printf 显示不了的问题
- 关于在stm32中使用printf函数的问题
- printf函数中使用输出控制符的原因
- 终于解决了MDK 3.80a中不能使用printf()函数的问题
- 怎么解决STM32(MDK)中不能使用printf()函数的问题
- 使用printf函数输出
- 在Parallel中使用DbSet.Add()发现的一系列多线程问题和解决过程
- 解决在VS2013中使用scanf和printf的报错
- STM32L152RC 在keil4中使用printf()和scanf() 函数
- 本人在使用PopupMenu,遇到的问题,和解决过程
- ccs调试过程中碰到的问题总结
- libxml2在mingw中的使用, 解决在链接过程中找不到xmlFree等函数问题
- c中printf的输出问题
- 在keil中使用printf()函数的要点
- 在keil中使用printf()函数的要点分析:
- cmake(1) 生成库文件
- HTML5的基本元素
- 去哪儿网前端面试
- 进程间通信——共享内存
- 函数模板和类模板
- 在CCS中使用printf函数输出的问题和解决过程
- 神奇的组合数学——卡特兰数
- 在这个信息化时代,你还为隐私保密文件销毁而发愁么
- Math.random() 随机数
- faster RCNN详解
- 解决oracle数据库删除sql语句出现^H字样
- Mac环境下,搭建基于Eclipse的J2EE开发环境
- 学习Java最好的电子书(PDF)
- 大数据学习[07]:elasticsearch5.6.1集群与问题