software_tools

This is an old revision of the document!


Eclipse Trace Compass

Editors

Code complexity

Coverage

Code comparison

Code visualization

Design

Documentation

Issue tracking

Version control

See the basic svn workflow

Building initial repository:

  • git init
  • git add <file>
  • git commit -m <comment>
  • git log #lists all the committ (-p to see diff)
  • git pull #updates the local repository (equiv. to git fetch plus git merge)
  • git tag -l #shows all tagged releases
  • git checkout <tagname>
  • git log vX.Y.Z..master #shows list of changes between a tag and latest
  • git log -p vX1.Y1.Z1..vX2.Y2.Z2 MAINTAINERS #list changes with diff on a given file
  • git diff #list all changes in working directory

Working with branches:

  • git branch <branchname>
  • git checkout <branchname> #move to just created branch (create also with -b option)
  • git branch #list of local branches (-a to show also remote branches)
  • git push origin origin/<old_name>:refs/heads/<new_name> :<old_name> #changes name of remote branch

Working with a specific release:

  • git checkout -f $VERSION #reset working copy to historical version
  • git checkout master #back to master branch
  • git checkout -f #undo all local changes, reseting working copy to latest version in repository

Workflow:

  • make changes
  • git status
  • git add <file> - stage commits before commiting them
  • git commit (-s option to sign changes, -a if all modified files should be part of commit)

Recovering old stash commits

  • gitk –all $( git fsck –no-reflog | awk '/dangling commit/ {print $3}' )
  • git stash apply $stash_hash

gitk shows graphically the history of the current repository. Also changes between tags, e.g. gitk vX.Y.Z..master

https://wiki.ubuntu.com/Kernel/Action/GitTheSource

https://www.atlassian.com/git/tutorial/git-basics

http://nvie.com/posts/a-successful-git-branching-model/

http://www.gitguys.com/topics/creating-and-playing-with-branches/

http://git-scm.com/book

http://think-like-a-git.net/

http://marklodato.github.io/visual-git-guide/index-en.html

http://landley.net/writing/git-bisect-howto.html

kernel.org git user manual

https://realpython.com/advanced-git-for-pythonistas/

The stable tree tracks the torvalds repo and adds additional stuff to it.

make

binutils

nm -a –demangle –print-size –size-sort -t d my_obj.o useful information about what (weak) symbols are fat and so should be eliminated from every object file (like template functions from Boost library that have much code in headers only).

nm –size-sort –print-size obj,elf > m_size.txt

readelf -S and readelf -s to view section & symbol info

https://interrupt.memfault.com/blog/best-firmware-size-tools

Project/work management

Other

  • software_tools.1566937799.txt.gz
  • Last modified: 7 years ago
  • by admin