zephyr sysview 使用
SEGGER SystemView User Guide SystemView 是 Segger 的一种可视化调试工具,用于嵌入式系统的实时调试和分析。它可以捕获和可视化系统中的各种事件,例如任务切换、中断处理和信号量等。SystemView 可以与 Segger 的 J…
zephyr用户模式介绍
Overview — Zephyr Project Documentation [! 机翻自官网]
线程模型
用户模式线程被 Zephyr 视为不信任,因此与其他用户模式线程和内核隔离。 有缺陷或恶意的用户模式线程不能泄漏或修改另一个线程或内核的私有数据 / 资源…
gdb使用指南
调试本机程序 Copy
gdb ./a.out
调试目标板程序
Copy
gdb-mutliarch ./a.elf
使用串口方式则增加 - b 选项设置波特率:
Copy
gdb-multiarch -b 115200 ./a.elf
之后的步骤都是在 gdb…
openocd gdb 断点原理
本文主要分析 openocd 添加硬件断点与软件断点的流程 Copy
if (breakpoint->type == BKPT_HARD) {
int64_t bpt_value;
while (brp_list[brp_i].used && (brp_i…
openocd Jim-Tcl 命令注册与调用
本文主要说明 [[openocd]] 的命令是如何注册与执行的,参考文档为关于 Jim-TCL (OpenOCD 用户指南) 本文以target names为例,主要讲两部分,一部分为注册,讲命令参数与对应的处理函数做关联,另一部分为调用,讲执行target names时的具体执…
openocd配置文件解析
[!/usr/local/share/openocd/scripts/target/rk3568.cfg] Copy
# SPDX-License-Identifier: GPL-2.0-or-later
reset_config trst_and_srst separate…
openocd cti address and debug address
本篇主要讲解 [[openocd]] 配置文件中的 cti address 和 debug address 怎么解析以及如何使用 [!/usr/local/share/openocd/scripts/target/rk3568.cfg]
Copy
# SPDX-License…
openocd dap 相关
首先,需要了解 [[ARM Debug Interface v5]] 内容,然后才可以通过以下 [[openocd]] 命令进行 dap 寄存器的读取。 TAP Declaration (OpenOCD User’s Guide)
Since OpenOCD version…
爱你到永远
恋爱999天时发布纪念
加一
描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
Copy
输入: [1,2,3]
输出: [1,2,4]
解释…
删除排序数组中的重复项
描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O (1) 额外空间的条件下完成。
示例 1:
Copy
给定数组 nums = [1,1,2…
最大子序和
描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例:
Copy
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
进阶:
如果你已经实…
最后一个单词的长度
描述 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
** 说明:** 一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
Copy
输入: "Hello World"
输出: 5
思路
空字符串返回…
最长公共前缀
描述 编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
Copy
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
Copy
输入: ["dog","racecar","car"]
输出:…
有效的括号
描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
Copy
输入: "()"
输出…
移除元素
描述 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O (1) 额外空间的条件下完成。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
示例…
搜索插入位置
描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
Copy
输入: [1,3,5,6], 5
输出: 2
示例 2:
Copy
输入: [1,3,5,6], 2…
实现strStr()
描述 实现 strStr() 函数。
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从 0 开始)。如果不存在,则返回 -1。
示例 1:
Copy
输入: haystack…