- What is ARM DS-5?
- Install
- .config: 建立 kernel config, timer, interrupt, tracers
- *.ko:
- gator:
- gatord:
- download ARM DS-5
- Reference:
2017年11月29日 星期三
[Profiling] DS-5
2017年11月25日 星期六
[Kernel] Linux kernel debug
- 技巧
- 用 printk dump messages to console
- 簡單好用, 行為類似 printf, 不過這會改變 kernel行為 (例如: 執行速度變慢, 使得 race condition 行為不一致)
- 可同時更改 ring buffer size (更改 kernel boot parameter: log_buf_len), 避免 log的訊息被裁斷
- 更改 log level, 預設為 KERN_WARNING, e.g. 開啟所有 log: , 並刪除 boot parameters: quiet, splash (runtime 查看 boot parameters:
- 用 gdb
- disassemble function codes
-
gdb vmlinux
(gdb) dissemble functionName - locate core dump:
gdb crashed_function_obj, e.g. gdb sd.o(gdb) list *(backtrace_func_shown+offset), e.g. list *(sd_remove+0x20- 用 objdump
objdump -SdCg sample.o- ToDo: add2line 指令介紹, ELF 格式介紹, study Kernel Debugging
- Reference
cat /proc/cmdline)echo 7 > /proc/sys/kernel/printk2017年7月15日 星期六
[Kernel] Portal
- Tool:
- trace kernel: LXR
- Steps
- Environment setup
- source code
- architecture
- fetch: apt-get source linux-image-$(uname -r)
- sources.list -> 可能需要 uncomment /etc/apt/sources.list 中 deb-src 的 #, 並且做 apt-get update
- build
- 推薦書目:
- Linux Kernel in a nutshell
- Understanding the Linux Kernel
- Professional Kernel Architecture - 中譯本: 深入探索 Linux 核心架構
- Linux Kernel Development - 中譯本: 精通Linux核心開發 : 設計與實作Linux核心的權威指南
- Understanding Linux Network Internals - 中譯本: Linux 網路原理
- Linux Device Driver - 中譯本: Linux驅動程式
- Essential Linux Device Driver - 中譯本: Linux 驅動程式開發實戰
- Debugging Linux Systems
- Linux 鳥哥的私房菜
- Reference:
2017年7月1日 星期六
[Raspberry Pi] Portal
- What is Raspberry Pi?
- single-board computer
- Boards
- RPi 1 model B
- RPi 3 model B
- SoC: Broadcom BCM2837 (VideoCore API)
- CPU: Quad Core 1.2GHz 64bit
- GPU: Dual Core VideoCore IV® Multimedia Co-Processor; Open GL ES 2.0; hardware-accelerated OpenVG; 1080p60 H.264 high-profie decode
- WiFi: Broadcom BCM43438
- communication interface GPIO
- Serial Port
- RS232
- SPI (Serial Peripheral Interface)
- Model comparison
- Tutorial
- Software
- toolchain
- bootloader
- kernel/driver/rootfs
- image
- application
- Connection
- Reference
訂閱:
文章 (Atom)