第十篇?eclipse下egit插件的使用简述
时间:10-02
整理:3721RD
点击:
我从上周六开始尝试在eclipse下搭建stm32f7的开发环境,用了两天的时间,搭建完成,程序也可以编译下载了。并且简单的小程序也可以正常的调试了。当时我感觉很高兴,一个原因是eclipse是一个free tool,并且它还可以安装各种各样的插件进行开发,来扩展eclipse的功能。并且在搭建开发环境的过程中,也锻炼了自己的对于程序编译、汇编、链接的了解。但是当我把自己在IAR下的整个完整的工程移植到eclipse下的时候,事情开始出现了意想不到的变化,出现了很多问题:第一,由于使用到了外部SRAM,所以我需要把程序连接到0xc0000000,外部sdram空间,在IAR下可以一句话解决这个问题:
首先定义二维数组如下:
*(.sdram_section);
} > SDRAM
这个编译问题,解决之后,我就用stlink下载程序,然后错误又来了:
然后,我尝试自己编译阿波罗的stlink extern loader,但是自己不才,没有成功。后来发现可以使用如下的extern loader,这是stlink自带的,阿波罗可以使用。
最后最大的问题来了,当我移植完整的程序到阿波罗之后,发现debug开始出现问题了,就是这个不能debug的问题困扰了我到现在,谁让我是一个强迫症患者阿,这个问题不解决怎么能行呢,我开始怀疑一些可能出现的问题,但是到现在都没有找到,中途,我也尝试了一个IDE TRUESTUDIO。这个是基于eclipse的,由free版本的,我看他的调试使用的是stlink接口,而不是openocd接口,我在iar下完整的程序移植到truestudio后,可以正常调试,虽然调试之前,要经过很长时间才能把程序下载到flash,hex文件大概7M左右。但是可以调试,我本来就像屈服与struestududio了。虽然lite版本每次都有5s的广告时间。但是有一个问题是lite版本很不灵活,sprintf函数无法读入float型的变量,这让我很无奈,索性,还是回到eclispe把,我准备勉强暂时先接受eclipse无法调试的大型程序的问题了。于是目前我又回到解放前了,刚才eclispe下建立起阿波罗ucosiii的支持。
代码我托管到新的仓库了:
https://github.com/iysheng/pig.git
就使用pig以纪念我的愚蠢。
但是这个帖子只写这些有点太少内容了,所以,我就记录下我在eclipse使用github的经历吧。
我使用的是egit插件,他的wiki
https://wiki.eclipse.org/EGit/Us ... _to_version_control
首先,创建一个帐号
然后,选择自己的工程进行分享
接着,就可以推送,commit等操作了
输入仓库地址
选择分支
然后看下github
这样就不用每次,都在命令行下和github交互了,尽管我经历了这么的问题,但是我还是支持eclipse的。付出总会有回报的。
总结一下规律,当遇到问题的时候,不妨冷静下来,作些别的事情,然后过段时间,不知道什么时候,这个问题就被偶然的解决了。
- __root uint16_t ltdc_lcd_framebuf[1280][800] @ 0xc0000000;
首先定义二维数组如下:
-
- uint16_t __attribute__((section(".sdram_section"))) ltdc_lcd_framebuf[1280][800];
- MEMORY
- {
- FLASH (rx) : ORIGIN = 0x00200000, LENGTH = 2048K
- RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 512K
- SDRAM (xrw) : ORIGIN = 0xC0000000, LENGTH = 32M
- }
*(.sdram_section);
} > SDRAM
这个编译问题,解决之后,我就用stlink下载程序,然后错误又来了:
然后,我尝试自己编译阿波罗的stlink extern loader,但是自己不才,没有成功。后来发现可以使用如下的extern loader,这是stlink自带的,阿波罗可以使用。
最后最大的问题来了,当我移植完整的程序到阿波罗之后,发现debug开始出现问题了,就是这个不能debug的问题困扰了我到现在,谁让我是一个强迫症患者阿,这个问题不解决怎么能行呢,我开始怀疑一些可能出现的问题,但是到现在都没有找到,中途,我也尝试了一个IDE TRUESTUDIO。这个是基于eclipse的,由free版本的,我看他的调试使用的是stlink接口,而不是openocd接口,我在iar下完整的程序移植到truestudio后,可以正常调试,虽然调试之前,要经过很长时间才能把程序下载到flash,hex文件大概7M左右。但是可以调试,我本来就像屈服与struestududio了。虽然lite版本每次都有5s的广告时间。但是有一个问题是lite版本很不灵活,sprintf函数无法读入float型的变量,这让我很无奈,索性,还是回到eclispe把,我准备勉强暂时先接受eclipse无法调试的大型程序的问题了。于是目前我又回到解放前了,刚才eclispe下建立起阿波罗ucosiii的支持。
代码我托管到新的仓库了:
https://github.com/iysheng/pig.git
就使用pig以纪念我的愚蠢。
但是这个帖子只写这些有点太少内容了,所以,我就记录下我在eclipse使用github的经历吧。
我使用的是egit插件,他的wiki
https://wiki.eclipse.org/EGit/Us ... _to_version_control
首先,创建一个帐号
然后,选择自己的工程进行分享
接着,就可以推送,commit等操作了
输入仓库地址
选择分支
然后看下github
这样就不用每次,都在命令行下和github交互了,尽管我经历了这么的问题,但是我还是支持eclipse的。付出总会有回报的。
解决以下为什么无法debug大型的程序了,是因为在移植完整的程序之后,我修改了连接文件,也就是我修改了下载地址,最开始的连接文件如下:
- FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 2048K
总结一下规律,当遇到问题的时候,不妨冷静下来,作些别的事情,然后过段时间,不知道什么时候,这个问题就被偶然的解决了。
大神,加个扣扣啊