【学习笔记】一些软件开发工具的使用

二叶草 2020年3月18日22:07:05ftp工具评论阅读模式

最近参与了一些嵌入式软件的工作,折腾了几个工具,记录一下,备忘。

01ARM DS-5

一个集成开发环境,配合硬件调试器使用。官网下载试用软件,可以使用ARM账号申请一个月的免费试用license。IDE是基于Eclipse定制的。

https://developer.arm.com/tools-and-software/embedded/legacy-tools/ds-5-development-studio

02基于Eclipse的Tcl调试环境

之前调试FPGA的Tcl脚本,单纯靠打印调错,效率比较低。可以搭建本地的Tcl调试环境,支持断点和单步调试。

另外,可以把FPGA相关的函数进行封装,在离线(不需要FPGA硬件)模式进行Tcl脚本调试,效率更快。

Win7/10需要安装的软件:

JDK
https://www.oracle.com/technetwork/java/javase/overview/index.html

Eclipse
https://www.eclipse.org/

Eclipse插件DLTK(Dynamic Language Toolkit)
https://projects.eclipse.org/projects/technology.dltk

ActiveTcl
https://www.activestate.com/products/tcl/

Komodo Remote Debugger
http://docs.komodoide.com/Manual/debugtcl

03使用Pycharm进行Python调试

之前用过Jupiter Notebook,也用过基本的命令行,Pycharm的集成开发环境支持断点、单步调试、语法提示等功能,用户界面比较友好。普通用户,安装社区版就够用了。

https://www.jetbrains.com/pycharm/

04基于SourceInsight阅读和编辑C代码

可以使用SmartRename功能进行函数名、变量名的替换。

对于3.5版本,可以配置外置程序Astyle进行代码风格的统一。4.0以上版本已经集成相关功能。

https://www.sourceinsight.com/

05 使用Astyle进行代码风格格式化

Astyle能够完成C/C++代码的格式化,包含缩进,括号,Tab,空格等,提供了Linux,GNU,KR等不同风格的默认模板可以选择,在Windows和Linux平台都可以使用。

http://astyle.sourceforge.net/astyle.html

06 VS2019社区版

宇宙第一IDE,微软公司出品,除了占用磁盘大一点,没啥毛病了。编译的快捷键终于又回到了F7。

社区版只要用电子邮件地址注册一个账号就可以免费使用,对于普通的C/C++开发足够了。

https://visualstudio.microsoft.com/zh-hans/downloads/

07 使用Python的正则进行文本替换

可以使用os.walk()遍历文件。
针对每一个文件,遍历需要的正则表达式进行文本替换。
可以把正则表达式放在一个有序字典中,按顺序进行处理。
正则支持跨行匹配。

类似的功能,也可以使用linux的文本工具sed来完成。使用Python可以方便地跨平台,在windows和Linux都可以使用。

https://www.runoob.com/python/python-reg-expressions.html

08使用Valgrind进行C代码内存检查

Valgrind是一个开源工具,可以用于C/C++代码的内存使用检查,能够发现开发中绝大多数内存错误使用情况,比如使用未初始化的内存,使用已经释放了的内存,内存访问越界等。

Valgrind可以在嵌入式开发中使用,需要进行编译。

除了内存检查,还可以用来检查函数调用,cache使用,多线程竞争等潜在问题。

http://valgrind.org/

09 Makefile的使用

在一个项目中,可以使用统一的config.mk保存公共的环境设置和Make操作,在具体目录中的Makefile中使用include进行引用。

可以使用Make -C 的方式,在顶层目录实现全部目标的编译。

Makefile要考虑代码跨平台(比如不同硬件设备)的兼容性。当然也可以考虑使用CMAKE进行跨平台。

10Git Bash

在windows上使用Git,同时提供了Linux的一个终端程序模拟器,支持常用的linux Bash命令,比如ls, tar, grep, find, 还有vim,对于习惯了命令行操作的工程师很方便。Windows下也可以使用TortoiseGit进行图形化操作。

https://gitforwindows.org

11BeyondCompare

代码比较、合并工具。支持文本,二进制,支持目录比较,功能强大,支持Linux和windows使用。

类似的工具很多,vimdiff,tkdiff,p4diff,Araxis Merge等。

http://www.scootersoftware.com/

12ADB(Android Debug Bridge)

可以使用ADB工具在PC和嵌入式设备之间进行数据传输。在windows需要安装ADB工具和驱动程序。

adb devices
adb push filename  /mnt/target_dir
adb push dir_name /mnt/target_dir/dir_name
adb pull /mnt/target_dir/target_file

https://developer.android.google.cn/studio/command-line/adb

13 Secure CRT

可以连接PC与开发板的串口进行调试。

可以使用sz和rz命令进行文件的传输。

可以保存session的串口打印信息到log文件。

可以使用工具->按钮栏,把常用的命令加到按钮,代替每次的重复输入。

https://www.vandyke.com/products/securecrt

14 Filezilla

ftp工具,可以用于PC与开发板的文件传输。

文件传输模式要选择二进制模式。

https://filezilla-project.org/

15 Everything

一款搜索神器,只有1MB的小工具。打开界面,搜索文件名任意字符,前后加上 ,就可以找到电脑上的文件,速度贼快。友情提示,如果电脑上有需要保密的视频资料,请谨慎使用*.mp4之类的搜索命令。
https://www.voidtools.com/

16虚拟机安装Linux

嵌入式开发需要交叉编译环境,使用虚拟机安装比较方便。

虚拟机软件可以使用Virtual Box或者VMWare。

https://www.virtualbox.org

https://www.vmware.com

Linux发行版目前使用Ubuntu 16.04。

在PC机与虚拟机直接使用共享文件目录的方式进行文件管理。大多数的源码和文件可以放在共享目录,这样windows和Linux都可以访问和管理。

编译器工具链需要保存在虚拟硬盘空间,放在共享目录会出现编译器无法运行的错误。

虚拟机挂起的时候如果PC机异常断电,可能会出现虚拟机镜像无法打开的情况,可以尝试删除虚拟机目录下的lock文件。要做好数据备份。

Ubuntu需要把软件源切换到国内镜像站点(比如阿里云或者163),安装其他工具包更快。

http://releases.ubuntu.com/16.04/

几点体会

选择合适的工具。
不要沉迷于工具。
要多向别人学习。
不要自己瞎折腾。

本文来源于:【学习笔记】一些软件开发工具的使用-变化吧门户
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
二叶草
FTP-主动模式和被动模式的分析 ftp工具

FTP-主动模式和被动模式的分析

FTP,很多人都非常熟悉了。很多FTP实现的软件使用主动模式来传输数据,那主动模式和被动模式的区别在哪呢? 为啥有了主动模式还有被动模式呢? 借助wireshark来分析FTP主动模式和被动模式的区别...

发表评论