- 博客(103)
- 收藏
- 关注
原创 [ IDE ] SEGGER Embedded Studio for RISC-V
点击菜单项,通过,实现自定义快捷键。DebugDownloadActive:下载当前工程。EditGoToDeclaration:跳转到函数声明。OpenOCD(Open On-Chip Debugger)是一款专为嵌入式系统设计的开源调试工具,广泛应用于微控制器和SoC(System on Chip)的调试、编程及测试。它的核心能力在于通过标准的硬件接口,如JTAG(Joint Test Action Group)和SWD(Serial Wire Debug),实现与目标设备的高效通信。
2024-09-20 17:05:59 1331
原创 Segger Embedded Studio 的使用
HPM6750系列--第五篇 使用Segger Embedded Studio for RISC-V开发环境-CSDN博客 如何使用Segger Embedded Studio开发先楫HPM6750? - 知乎 (zhihu.com) Segger Embedded Studio,试试这个新嵌入式编译器环境!-CSDN博客 SES的快速上手 - RISC-V MCU文档中心 (riscv-mcu.com)
2024-09-13 15:22:16 256
原创 [ IDE ] 什么是SDK
在嵌入式系统开发中,SDK(Software Development Kit,软件开发工具包)是一个综合性的工具集合,它被设计用于帮助开发者更有效地为特定的硬件平台编写软件。嵌入式SDK通常包含一系列的工具、库文件、文档和示例代码,旨在简化开发过程并提高开发效率。
2024-09-13 15:03:22 453
原创 [Windows] MinGW 与 MSYS2
MinGW(Minimalist GNU for Windows)是一个专为 Windows 系统设计的工具集,旨在为 Windows 开发者提供一个轻量级且高效的 GNU 工具链。该工具集的核心是 GNU 编译器集合(GCC),其中包括了支持多种编程语言的编译器,如 C、C++ 和 Ada。MinGW 的主要目标是让开发者能够在 Windows 系统上直接编译和运行原生的 Windows 应用程序,而无需依赖于模拟环境或 POSIX 兼容层,如 Cygwin 提供的那种。
2024-09-10 18:02:15 916
原创 [INSTALL] MSYS2 -- Windows下的类Linux环境
1. 从https://www.msys2.org/ 下载安装msys2也可以从镜像: http://mirrors.aliyun.com/msys2/distrib/x86_64/ 下载最新的安装包 msys2-x86_64-20230718.exe2. 更新下载源为阿里云然后通过 pacman -Syyu 更新一下软件包列表注意: msys2有多个发行版本,包括mingw32,mingw64,ucrt64,lang32,lang64等等。
2024-09-06 16:50:41 685
原创 [嵌入式 C 语言] int main(int argc, char *argv[])
这个参数代表“参数计数”(Argument Count),表示传递给程序的命令行参数的数量,包括程序本身的名称。例如,如果你的程序名为。假设我们有一个程序,它的目的是简单地打印出所有传递给它的命令行参数。我们将这个程序命名为。: 这是一个字符指针数组,每个元素指向一个字符串。这些字符串是实际的命令行参数值。通常包含程序的名称(即调用程序的命令),而。函数是程序的起点,也就是执行的入口点。并且你在命令行中输入。
2024-09-02 14:21:30 373
原创 TCP协议 配合 Wireshark 分析数据
在TCP连接中,无论是客户端还是服务端,都有可能成为发送端或接收端,这是因为TCP是一个全双工协议,允许数据在同一连接中双向流动通常是指主动发起连接请求的一方下面我们先分析一下TCP是如何建立连接的。
2024-08-31 12:01:44 1339
原创 【JLINK】RTT Viewer 的使用
这通常用于查找与 SEGGER RTT 相关的信息(RTT 是 Real-Time Transfer 的缩写,是一种用于实时传输数据的技术)。是一个环境变量或参数,它会被替换成实际的项目名称。: 关闭命令回显,防止命令本身被打印到控制台。的行,这通常与重置中断处理程序相关。文件不存在),则执行以下命令。: 输出一条消息,说明没有找到。的行,这通常与栈顶地址相关。子目录中是否存在一个名为。: 如果文件存在,则使用。: 这一行如果启用,会在。: 这一行如果启用,会在。: 检查当前目录下的。
2024-08-28 09:24:51 580
原创 [Linux] 认识系统服务(daemon)
在英语中的daemon就有守护进程,后台程序的意思。简单来说就是一直在后台运行的进程,我们就称之为服务(service),或者是守护进程(daemon)。这些进程常驻在内存当中,通常都是负责一些系统所提供的功能以服务用户的各项任务,故而需要在后台持续的运行。守护进程独立于控制终端运行,这意味着它们不需要用户的直接交互就可以执行其任务。那什么是后台,什么是前台呢?
2024-08-22 10:53:34 1388
原创 [Linux] 特殊权限的SUID、SGID、SBIT
在Linux中,文件权限属性除了基本的读(r)、写(w)、执行(x)权限外,还有一些特殊的权限位,包括,它们可以改变文件执行时的行为或者目录访问时的行为。当我们查看一些其他的文件的时候,会发现有其他权限的字母,如s,t等。文件权限可以通过两种方式表示:符号表示法和数字表示法。:使用字符来表示权限,例如-rwxr-xr-x。这里,第一个字符表示文件类型(例如表示常规文件,d表示目录),接下来的九个字符分成三组,每组三个字符,分别表示所有者、所属组和其他用户的权限。:使用数字来表示权限,例如755。4。
2024-08-21 14:50:02 382
原创 [Linux CMD] 查看系统资源 (持续更新中)
在Linux中,有许多命令和工具可用于查看系统的资源使用情况。top命令是最常见的实时系统监视工具之一。它显示了当前运行的进程列表,以及每个进程的CPU、内存使用情况、nice值等信息。top命令还会不断刷新数据,展示最新的系统状态。htop是top的一个增强版,提供了更好的可视化界面和更多功能,如颜色编码、水平滚动、搜索等功能。安装htop后,在终端输入htop即可使用。ps命令用于列出当前运行的进程。通过添加适当的选项,可以获取有关进程的各种信息,如CPU使用率、内存使用情况等。例如,ps -aux。
2024-08-20 17:20:46 1080
原创 [嵌入式 C 语言] 知识库
数据类型关键字分类打印格式其他打印格式char字符类型%c内存地址%pshort短整型%hd字符串%sint整型%d八进制数据%#olong长整型%ld十六进制数据%#xlong long长长整形%lld百分号%%float单精度浮点型%f左占位符%5ddouble双精度浮点型%lf右占位符%-5dunsigned long无符号长整型%lu取小数后几位%.5funsigned int无符号整型%usizeof关键字%lu或%ld
2024-08-19 11:19:04 720
原创 [Linux系统编程] 第一章:多进程
在Linux系统中,每当一个事件被触发时,系统都会创建一个新的进程,并为这个进程分配一个唯一的标识符,称为进程ID(PID)。PID是操作系统用来唯一标识进程的数字。与此同时,系统会根据触发该进程的用户身份及其相关属性,为该进程设置一组有效的权限。这意味着,从这一刻起,这个PID能够在系统上执行的操作范围就与其权限紧密相关。权限的设置确保了进程只能访问那些它被授权访问的资源,从而保障了系统的安全性和稳定性。例如,如果一个普通用户触发了一个进程,那么该进程通常将继承该用户的权限,
2024-08-17 14:24:46 1258
原创 [ Shell ] 示例 shell脚本
其实shell脚本的编写和c语言是非常类似的,因此我们直接给出一个参考的shell脚本来初步了解记录如何编写shell script,之后我们来慢慢讲解其中的内容。
2024-08-16 09:56:17 150
原创 [Windows CMD] 查看网络连接状态 netstat -na | findstr “TCP“
在 Windows 系统中,我们可以使用netstat命令来查看网络连接状态,并使用findstr命令来过滤出 TCP 和 UDP 的连接。
2024-08-15 17:13:45 1288
原创 [Linux] 什么是 Shell?
Shell 不仅提供了一个命令行界面,还支持脚本编程,即可以编写包含一系列命令的脚本文件,Shell 能够读取并执行这些脚本。常见的 Linux Shell 包括 Bash(Bourne Again SHell)、sh(Bourne Shell)、csh(C Shell)和 zsh(Z Shell)等。Shell 允许用户通过命令行输入各种指令来控制操作系统。它是用户与 Linux 内核之间的一种交互层,可以接受用户的命令输入,解析这些命令,并将它们传递给相应的系统服务或应用程序进行处理。
2024-08-15 15:44:47 458
原创 [Linux] 关于执行文件路径的变量:$PATH
不同身份用户默认的 PATH 不同,默认能够随意执行的命令也不同使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查找PATH来的正确命令应该放置到正确的目录下,执行才会比较方便本目录(.)最好不要放到 PATH 中。
2024-08-15 09:45:41 1267
原创 [Linux CMD] 目录与文件相关的命令
代表次层目录代表上一层目录代表前一个工作目录~ 代表目前使用者身份所在的家目录~account 代表account这个使用者的家目录(account是个账号名称)
2024-08-15 08:33:03 330
原创 【计算机基础】固件、驱动、操作系统与软件之间四者的关系
(Firmware)是一种嵌入在硬件中的软件,通常存储在非易失性存储器中(如ROM或闪存)。它为硬件提供最低级别的控制逻辑,并且通常不被用户直接访问或修改。很多硬件上都会有固件,如打印机、硬盘驱动器等硬件设备中的控制程序,硬盘驱动器中内置的硬盘固件用于控制磁盘的操作,如寻道、错误检测和纠正等。又或者计算机通电时首先运行的BIOS/UEFI程序,作为计算机的基本固件,负责启动计算机、初始化硬件,并加载操作系统。。
2024-08-14 11:24:31 783
原创 【计算机基础】CPU与内存 的频率
与CPU频率类似,内存也有其工作频率,这个频率的限制主要来自于CPU中的内存控制器。一般来说,CPU内置的内存控制器决定了内存的工作频率。内存的工作频率指的是每秒钟内存能够完成的周期数,通常以兆赫兹(MHz)为单位。每个时钟周期能够传输的数据量通常为64位,这个64位就是所谓的数据总线位宽。数据总线位宽决定了每次数据传输过程中能够同时传输的数据位数。高位宽的数据总线能够提高数据传输的速度,从而提高系统的性能。
2024-08-14 10:35:26 2056
转载 【第五章】套接字 Socket
套接字(socket)是一种通信机制,凭借这种机制,客户端服务器模型的通信方式既可以在本地设备上进行,也可以跨网络进行。套接字的创建和使用与管道是有区别的,因为套接字明确地将客户端、服务器区分开来,而且套接字机制可以实现将多个客户连接到一个服务器。Socket英文原意是“孔”或者“插座”的意思,在网络编程中,通常将其称之为“套接字”,当前网络中的主流程序设计都是使用Socket进行编程的,因为它简单易用,它还是一个标准。
2024-08-13 15:18:01 71
转载 【第四章】TCP协议
TCP与UDP一样,都是传输层的协议,但是提供的服务却大不相同,UDP为上层应用提供的是一种不可靠的,无连接的服务,而TCP则提供一种面向连接、可靠的字节流传输服务,TCP让两个主机建立连接的关系,应用数据以数据流的形式进行传输,这与UDP协议是不一样:UDP运载的数据是以报文的形式,各个报文在网络中互不相干传输,UDP每收到一个报文就递交给上层应用,因此如果对于大量数据来说,应用层的重装是非常麻烦的,因为UDP报文在网络中到达目标主机的顺序是不一样的;
2024-08-12 18:03:01 60
原创 [ IDE ] e2studio
Debug模式主要用于开发过程中的调试。当我们在开发阶段,需要经常检查和修复错误时,Debug模式非常有用。它包含了更多的调试信息,比如变量值、调用堆栈等,这些信息可以帮助我们定位和解决问题。另外,Debug模式下的代码通常不会进行过多的优化,以便更好地模拟实际运行环境。相比之下,Release模式主要用于最终的软件发布。在Release模式下,编译器会进行各种优化,以提高代码的运行效率。同时,Release模式通常会去除Debug模式下的调试信息,以减小最终软件的大小。
2024-08-12 17:43:12 531
原创 【总结】TCP/IP四层模型的理解
无论是什么方式的传输,其实我们都是要依靠MAC地址与IP地址。通过上面的过程分析,我们想想为什么是需要这两个东西呢?如果只有一个可不可以?这两个的意义分别是什么?MAC地址即硬件地址,IP地址即网络地址。如果我们是在局域网内进行传输(简单理解为在同一网段内传输),那我们依靠MAC地址来区分是不同的硬件设备即可,不同设备的IP地址规定在同一网络内通信,即同一网段内。
2024-08-08 17:00:50 1765
转载 【第三章】UDP协议
这就带来了很大的不方便,此外,UDP协议更没有流量控制、拥塞控制等功能,在发送的一端,UDP只是把上层应用的数据封装到UDP报文中,在差错检测方面,仅仅是对数据进行了简单的校验,然后将其封装到IP数据报中发送出去。UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是一种无连接、不可靠的协议,,这样子传输的数据是无法保障其准确性的,如果想要其准确性,那么就需要应用程序来保障了。
2024-08-07 11:14:17 90
转载 【第二章】IP协议
一、IP协议(Internet Protocol),又称之为网际协议,IP协议处于IP层工作,它是整个TCP/IP协议栈的核心协议,上层协议都要依赖IP协议提供的服务,,简单来说,不同主机之间的IP地址是不一样的,在发送数据报的过程中,IP协议还可能对数据报进行分片处理,同时在接收数据报的时候还可能需要对分片的数据报进行重装等等。一、
2024-08-07 09:12:00 50
原创 [Linux] 学习linux推荐书籍
只是为了好玩》/《Just For Fun》,Linus的自传,通过它可了解Linux的发展史以及了解Linus其人的生活态度。《鸟哥的Linux私房菜》,该书主要针对Linux服务器运维人员,主要学习上册,了解Linux的日常应用。《奔跑吧Linux内核》,分上下两册,建议初学者仅学习上册。
2024-08-06 19:42:12 173
转载 【第一章】网络相关知识简介
互联网对人类社会产生的巨大变革,大家是有目共睹的,它几乎改变了人类生活的方方面面。互联网通信的本质是数字通信,任何数字通信都离不开通信协议的制定,通信设备只有按照约定的、统一的方式去封装和解析信息,才能实现通信。互联网通信所要遵守的众多协议,被统称为TCP/IP。因为网络的知识太庞大了,想要介绍清除得写好几本书,在这里就简单提及一下就好了。TCP/IP是一个协议族,包含众多的协议。但对于网络应用开发人员,可能听到更多的是其中的应用层协议,比如HTTP、FTP、MQTT等。
2024-08-06 19:08:54 139
原创 HUB(集线器)和交换机(Switch)
总结:HUB可以实现连接的设备之间共享通信信息,而交换机只能与目标设备共享通信信息,而以广播的形式与其他设备通信。5号设备要与6号设备通信,7和8只能收到5号发出的广播信息,而不能收到单独发给6号的信息。比如这里有1,2,3,4号设备接入了HUB,有5,6,7,8号设备接入了交换机。1号设备要与2号设备通信,3和4都能收到二者的通信信息。
2024-08-06 11:58:08 552
原创 IAP程序升级 与 电脑BIOS 的关系
IAP程序升级是一种技术,允许设备在运行过程中更新其自身的固件或软件,而不需要外部工具或设备的介入。这种技术特别适用于嵌入式系统和物联网(IoT)设备。其主要由三部分构成,分别是bootloader,固件分区,通信接口。负责检测和加载正确的固件分区,以及管理固件更新过程。通常包括主固件区、备用固件区等,用于存储当前运行的固件和新版本固件。用于接收新固件数据,例如通过串口、USB、以太网等。
2024-08-06 11:18:48 1025
关于#c++#的问题,如何解决?
2022-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人