KO
|
EN
gitlite — search
Search
#python
#java
#python3
#arduino
#golang
#machine-learning
#rust
#html
#flask
#javascript
#seismology
#nodejs
ucregview
★ 15
Open GitHub ↗
Microcontroller Register Viewer for GDB
Download README (.md)
Explore Similar Repositories
GreenDao-vs-Realm
:
A project that aims to compare performances between this two libs, with my custom complex object (did not find a github project with that comparison).
drown
:
Implementation of the DROWN attack on SSL2
hfw
:
hibernate+dubbo+gradle
Bluetooth-Intelligent-Vehicle-Controller
:
本开源项目为安卓版蓝牙小车遥控。通过自动扫描并连接蓝牙设备,连接建立后,通过遥杆就可以控制小车运动,当按住重力感应按钮控制方式就会变成重力感应控制。
remotedebug-compatibility-tables
:
RemoteDebug Compatibility Tables
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
ucregview
?
Download (.md)
# ucRegView Microcontroller Register Viewer for GDB ## Why? Since a long time I have been using GDB + a GDB server of choice to debug many embedded targets. GDB's command line interface is powerfull and serves me really well, except for one pain: Reading peripheral registers. I know there's efforts like EmbSysRegView and GNU ARM Eclipse, but I really don't want to use Eclipse as a GUI for developing nor debugging. My preferred combo is Vim/Make/GCC/GDB/OpenOCD/... So I decided to fix this in a really simple way: You load an extra .elf file containing the symbols for all the registers. This will effectively give you access to your microcontroller's peripheral registers, e.g. like this: ``` (gdb) p/x USART6->SR $1 = 0xc0 (gdb) p/x USART6 $2 = {SR = 0xc0, DR = 0x0, BRR = 0x2d9, CR1 = 0x202c, CR2 = 0x0, CR3 = 0x0, GTPR = 0x0} ``` ## How to build? 1. Clone or download repo 2. ``` cd /path/to/ucregview ``` 3. ``` make TARGET=name_of_supported_target ``` ## How to use? 1. Fire up GDB, connect to remote target as usual 2. In addition to your application's .ELF file, load the ucregview\_xxx.elf symbols, too: * ``` (gdb) add-symbol-file ucregview_xxx.elf 0x0``` 3. Read any memory-mapped peripheral register * ``` (gdb) p/x USART1->CR1 ``` 4. Write to peripheral registers from GDB * ``` (gdb) set USART6->CR1 = 0xE8 ``` * ``` (gdb) p/x USART6->CR1``` * ``` $3 = 0xe8 ``` ## Supported targets For now, only a few microcontrollers are supported, feel free to add more and file a pull request! * STM32L051xx * STM32F407xx