Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
camera
VisualStudio
基于 vs2015 / vs2017 + VisualGDB 编辑 IoT_Camera 项目
发布于 2018-01-19 05:21:48 浏览:8861
订阅该版
[tocm] 之所以说编辑不是开发,是因为我也不知道这个项目怎么开发, 只知道有个工程,然后编译出个bin文件烧到板子上。 最后的效果就是用VS2015或者VS2017编辑IoT_Camera代码,取代原先的基于eclipse的camera studio(我不知道之前的eclipse是否可以调试IoT_Camera代码),从而可以实现函数跳转之类的,编译依然调用scons完成,调试不知道怎么弄。 ## 安装 安装`vs2015/vs2017`和`VisualGDB` (*)VS:建议按照vs2017 preview,因为vs2017采用了新的方式,vs2015要按照半天,vs2017可能1小时就下载并安装完成。vs2017可以开发linux和嵌入式,vs2015是不可以的. (*)VisualGDB:目前网上找到的可以用的最新版本是VisualGDB-5.3r3-trial,可以自己[搜索下载安装](https://www.52pojie.cn/thread-636519-1-1.html),或者官网直接购买最新版本的。 ## 下载 下载IoT_Camera工程代码和rrthread工程代码 首先到 https://github.com/RT-Thread/IoT_Camera 克隆一份代码到自己的github仓库,以便后续的代码改动是在自己的仓库里面。 然后再克隆岛本地,比如我是放在`E:\code\IoT_Camera\`下面。克隆自己仓库的rrthread项目到`E:\code\IoT_Camera\firmware\`下面。 ## 新建工程 新建VisualGDB工程 如下图所示选择Custom Project Wizard。 注意VS会在位置下面创建项目文件夹,这里把解决方案的路径直接设置为firmware目录,因为好多文件都在那个目录下面。 ![screenshot_2018-01-19_05-21-33.png](https://oss-club.rt-thread.org/uploads/20231114/592dc37302a531a6152c7b5b3afbbc2c.png.webp) 点击确定后,在下面的窗口直接点击finish即可,具体情况如下图。 ![screenshot_2018-01-19_05-26-11.png](https://oss-club.rt-thread.org/uploads/20231114/c247515525eaeacd8ad8f1e30ef29968.png) 得到如下图的解决方案资源管理器视图。 ![screenshot_2018-01-19_05-30-56.png](https://oss-club.rt-thread.org/uploads/20231114/7759f430c4edebd2eb04f6e924336564.png.webp) ### 导入项目文件 先导入文件夹,导入方法如下图。 ![screenshot_2018-01-19_05-32-42.png](https://oss-club.rt-thread.org/uploads/20231114/9e2c496e87a27ebf4e84b2f55336459c.png.webp) 选择firmware目录。 ![screenshot_2018-01-19_05-36-20.png](https://oss-club.rt-thread.org/uploads/20231114/8722a83f53a5751ba93522681f53c74b.png) 导入后的效果如下图,如果前面你是在项目上右键导入firmware,则无法在Soure files和Header files下生成文件夹,而目前这种形式和MDK工程很像,也很好理解。 头文件和源文件索引分开,便于管理,添加代码时,我们可以在资源管理器里添加好,然后再加入到VS里的虚拟文件下,这和MDK的操作也是类似的。 ![screenshot_2018-01-19_05-39-54.png](https://oss-club.rt-thread.org/uploads/20231114/0b332f8fefce4f470b58edcce77ab2a4.png) 把其他零散的文件加入到firmware下面来。 ![screenshot_2018-01-19_05-41-15.png](https://oss-club.rt-thread.org/uploads/20231114/9913422590c279db66f35563c4e0d4c2.png) 最后的效果如下图。 ![screenshot_2018-01-19_05-42-50.png](https://oss-club.rt-thread.org/uploads/20231114/7d65e86f5d83ac3c99868f6eb00c6ec8.png) 下面调整一下文件在虚拟文件下的布局,使得代码文件结构更清楚。 ![screenshot_2018-01-19_05-47-55.png](https://oss-club.rt-thread.org/uploads/20231114/be5b90b92cc8bc28859b2ad12fdcf4b3.png) ### 头文件路径自动添加 ![screenshot_2018-01-19_06-01-08.png](https://oss-club.rt-thread.org/uploads/20231114/1acce2ddfa5b22573d8c28bd348b1e57.png) **导入VS的还有个好处就是,可以随时看到文件的git历史记录** ![screenshot_2018-01-19_06-12-23.png](https://oss-club.rt-thread.org/uploads/20231114/ad84dd9ef4bf7beb0a644f1b7bbb87f6.png.webp) **配置VisualGDB项目属性,也就是配置env环境调用`scons -j4,scons -c`和env** ![screenshot_2018-01-19_05-50-33.png](https://oss-club.rt-thread.org/uploads/20231114/7d506b7c7121c56d9dcdd01e3fd15c2d.png) 添加调用env命令 ![screenshot_2018-01-19_05-56-49.png](https://oss-club.rt-thread.org/uploads/20231114/7f6fdefe3ba82defea07b36d135a6416.png) 生成项目,现在就可以生成项目了 ![screenshot_2018-01-19_05-58-41.png](https://oss-club.rt-thread.org/uploads/20231114/37a5dbe6f05a3c0493bf14cb9947f925.png.webp) 接着弹出env环境,自动执行`scons -j4` ![screenshot_2018-01-19_06-03-10.png](https://oss-club.rt-thread.org/uploads/20231114/e300c8ad692d626ae975825e988ba4e1.png) 清理也是同样的操作,就不截图了。 **添加外部工具按钮启动env控制台(可以自己添加快捷键给这个外部命令),注意初始目录设置** ![screenshot_2018-01-19_06-06-06.png](https://oss-club.rt-thread.org/uploads/20231114/2ae5ceb2854cc730aeeeef68352fabd7.png.webp) 把Env添加到菜单便于直接点击 ![screenshot_2018-01-19_06-08-33.png](https://oss-club.rt-thread.org/uploads/20231114/9de8d3a6561993ec8fea1c6a71d8bafd.png.webp) 之后点击菜单栏的Env按钮,就可以直接在项目路径下打开env控制台了 ![screenshot_2018-01-19_06-19-15.png](https://oss-club.rt-thread.org/uploads/20231114/c5721dcd8a284829eab61aca95836a7f.png.webp) **用到的bat文件附件,需要修改的地方参考上文** -[env.rar](/uploads/201801/19/061506o6atfj784mrr4zav.rar) PS: - (*)如果图片模糊可以右键在新标签页打开图片。 - (*)本贴的图片采用网络图片的方式插入,而网络图片的地址通过ShareX软件的截图编辑/自动上传/获取上传URL地址任务链 一键实现,可以说十分方便,再也不用为插入图片而麻烦了。 此外本地的可以只保留iot_camera下的rrthread项目,代码复用嘛,强迫症不允许出现静态库,可以创建一个快捷方式到其他地方。 git工具推荐sourcetree,拖放添加文件夹,十分方便,比github自带的工具和命令行都友好。 此外修改IoT_Camera代码的时候,首先建立一个自己的分支,然后再建立工程,这样就保证了自己的和原始库的区别,我之前没这么后来,我把vs相关的备份了然后新建分支,再把工程文件放进去。
查看更多
6
个回答
默认排序
按发布时间排序
doitbull
2018-01-19
这家伙很懒,什么也没写!
虽然不能调试(不会),但是编辑整个项目代码的话是足够强大了,比用什么代码浏览软件单独编辑好太多了。包括: 1. git历史直接查看,可以同时识别IoT_Camera和rrthread目录下的.git记录,当然提交的时候是按照过滤掉rrthread而且按照最外层IoT_Camera提交的,还是很智能的。 2. 语法高亮。 3. 预览函数定义。 4. 函数跳转。 ![screenshot_2018-01-19_06-53-30.png](https://oss-club.rt-thread.org/uploads/20231114/b9b68d8e6cdc152b5dc53f43010297b0.png.webp)
我夏了夏天
认证专家
2018-01-19
Life isn't about finding yourself, life is about creating yourself.
很赞,现在确实可以用很多方法来看代码了。
doitbull
2018-01-19
这家伙很懒,什么也没写!
>很赞,现在确实可以用很多方法来看代码了。 --- 请问还有哪些啊,我知道的有source insight和notepad++,其他还有什么?
我夏了夏天
认证专家
2018-01-19
Life isn't about finding yourself, life is about creating yourself.
>请问还有哪些啊,我知道的有source insight和notepad++,其他还有什么? --- eclipse也不错啊 功能挺多的
xianting77
2019-02-14
Whatever brings you down, will eventlly make you stronger!
有人用vscode么
bernard
2019-02-15
这家伙很懒,什么也没写!
在用vscode,也在尝试让scons支持Makefile(看看能否编译加速)
撰写答案
登录
注册新账号
关注者
0
被浏览
8.9k
关于作者
doitbull
这家伙很懒,什么也没写!
提问
3
回答
8
被采纳
0
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
a1012112796
13
个答案
1
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部