- 博客(33)
- 资源 (6)
- 收藏
- 关注
原创 Zephyr RTOS -- West 命令及编译过程简介
文章目录前言摘要West init & updateWest buildWest flashCMakeLists.txt 文件编译过程West 一些常用命令参考链接前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多种开发板及物联网设备的操作系统,如果你感兴趣,可以点此查看我的 学习笔记总述 进行了解! 摘要前文 源树结构及软硬件配置过程简介 简单介绍了下关于一个新项目工程的配置过程,本文简单介绍一下 Zephyr 如何使用 West 命令来根据项目工程链接其他的 cma
2021-06-24 17:52:05
9618
原创 Zephyr RTOS -- Message Queues
文章目录前言摘要1. Concepts2. Implementation2.1 Defining a Message Queue2.2 Writing to a Message Queue2.3 Reading from a Message Queue2.4 Peeking into a Message Queue3. Suggested Uses4. Configuration Options参考链接本笔记基于 Zephyr 版本 2.6.0-rc2前言本人正在学习 Zephyr,一个可移植性较强,
2021-06-23 15:08:34
647
原创 Zephyr RTOS -- 源树结构及软硬件配置过程简介
文章目录前言摘要源树结构参考链接前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多种开发板及物联网设备的操作系统,如果你感兴趣,可以点此查看我的 学习笔记总述 进行了解! 摘要之前介绍了如何 创建并编译一个新的工程,可以正常的编译并烧录到开发板上进行运行了,但是对于具体怎么工作的,如何创建,构建和运行 Zephyr 应用程序,还是比较模糊的。所以,本次简单介绍一下关于这部分的内容。 源树结构zephyr ├── arch 包含和硬件体系结构相关的代码
2021-06-18 18:53:21
2773
原创 Zephyr RTOS -- 创建并编译一个新的工程
文章目录前言摘要1. 工程目录结构简介2. 创建工程文件2.1 创建工程目录及源文件2.2 创建 CMakeLists.txt 文件2.3 创建 prj.conf 文件2.4 创建 overlay 文件2.5 创建 Konfig 文件3. 编译工程文件4. 烧录工程文件5. 自定义文件名参考链接前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多种开发板及物联网设备的操作系统,如果你感兴趣,可以点此查看我的 学习笔记总述 进行了解! 摘要前面已经介绍了如何搭建 Zephyr 开发
2021-06-17 19:26:08
4171
4
原创 Zephyr RTOS -- nRF Connect SDK (NCS) 环境搭建
文章目录前言摘要获取 nRF Connect SDK 代码SEGGER Embedded Studio 的下载与使用参考链接前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多种开发板及物联网设备的操作系统,如果你感兴趣,可以点此查看我的 学习笔记总述 进行了解!摘要上一篇文章 (Zephyr RTOS – 开发环境的搭建(基于 Windows)) 介绍了如何搭建 Zephyr 的开发环境,本文来介绍一下如何搭建 nRF Connect SDK 的开发环境。上图是按照前面的步骤安装之后的
2021-06-09 10:58:39
3975
10
原创 Zephyr RTOS -- 开发环境的搭建 (基于 Windows)
文章目录前言摘要1. Python3 及相关插件的安装1.1 安装 Python31.2 安装 Python 的虚拟环境虚拟环境的概念为什么要使用虚拟环境?虚拟环境的安装与使用虚拟环境的配置总结2. 安装其他工具2.1. 安装 Chocolatey2.2. 禁用全局确认2.3. 使用choco安装所需的依赖3. 进入虚拟环境安装插件3.1 安装 West3.2 获取 Zephyr 源码3.3 导出 Zephyr CMake 包3.4 安装额外的 Python 依赖项4. 安装工具链5. 编译示例进行测试参考
2021-06-07 18:05:22
5375
5
原创 Zephyr RTOS -- Stacks
文章目录前言摘要Stacks1. Concepts2. Implementation2.1 Defining a Stack2.2 Pushing to a Stack2.3 Popping from a Stack3. Suggested Uses4. Configuration Options参考链接本笔记基于 Zephyr 版本 2.6.0-rc2前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多种开发板及物联网设备的操作系统,如果你感兴趣,可以点此查看我的 学习笔记总述 进行了解!
2021-06-02 15:56:16
437
2
原创 Zephyr RTOS -- FIFO (LIFO)
文章目录前言1. Queues2. FIFOs (LIFOs)2.1 Concepts2.2 Implementation2.2.1 Defining a FIFO (LIFO)2.2.2 Writing to a FIFO (LIFO)2.2.3 Reading from a FIFO (LIFO)2.3 Suggested Uses2.4 Configuration Options参考链接本笔记基于 Zephyr 版本 2.6.0-rc2前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多
2021-06-02 15:16:01
816
原创 Zephyr RTOS -- Symmetric Multiprocessing
文章目录前言Symmetric MultiprocessingSynchronizationSpinlocksLegacy irq_lock() emulationCPU MaskSMP Boot ProcessInterprocessor InterruptsSMP Kernel InternalsPer-CPU dataSwitch-based context switching参考链接本笔记基于 Zephyr 版本 2.6.0-rc2前言本人正在学习 Zephyr,一个可移植性较强,可以兼容多种
2021-06-02 09:58:11
492
1
原创 Zephyr RTOS -- Condition Variables
文章目录前言Condition Variables - (条件变量)1. Concepts - (概念)2. Implementation - (实现)2.1 Defining a Condition Variable - (定义条件变量)2.2 Waiting on a Condition Variable - (等待条件变量)2.3 Signaling a Condition Variable - (发送条件变量)3. Suggested Uses - (建议用途)4. Configuration Op
2021-06-01 19:18:35
555
原创 Zephyr RTOS -- Mutexes
文章目录Mutexes - (互斥锁)1. Concepts - (概念)1.1 Reentrant Locking - (重入锁)1.2 Priority Inheritance - (优先继承)2. Implementation - (实现)2.1 Defining a Mutex - (定义互斥锁)2.2 Locking a Mutex - (锁定互斥锁)2.3 Unlocking a Mutex - (解锁互斥锁)3. Suggested Uses - (建议用途)4. Configuration
2021-06-01 13:53:34
547
原创 Zephyr RTOS -- 学习笔记总述
文章目录摘要1. 开发基础部分2. 内核服务入门本笔记基于 Zephyr 版本 2.6.0-rc2摘要1. 开发基础部分2. 内核服务入门2.1 线程简介2.2 线程2.3 工作队列线程2.4 调度2.5 中断2.6 轮询 API2.7 信号量
2021-05-31 20:45:31
3043
1
原创 Zephyr RTOS -- Semaphores
文章目录Semaphores - (信号量)1. Concepts - (概念)2. Implementation - (实现)2.1 Defining a Semaphore - (定义信号量)2.2 Giving a Semaphore - (提供信号量)2.3 Taking a Semaphore - (获取信号量)3. Suggested Uses - (建议用途)4. Configuration Options - (配置选项)参考链接本笔记基于 Zephyr 版本 2.6.0-rc2Sema
2021-05-31 20:13:17
656
1
原创 Zephyr RTOS -- Polling API
文章目录Polling API - (轮询 API)1. Concepts - (概念)2. Implementation - (实现)2.1 Using k_poll()2.2 Using k_poll_signal_raise()3. Suggested Uses - (建议用途)4. Configuration Options - (配置选项)参考链接本笔记基于 Zephyr 版本 2.6.0-rc2Polling API - (轮询 API)轮询 API 用于并发地等待多个条件中的任何一个被满
2021-05-31 19:29:46
953
原创 Zephyr RTOS -- Scheduling
文章目录Scheduling - (调度)Concepts - (概念)Scheduling Algorithm - (调度算法)Cooperative Time Slicing - (协作时间分片)Preemptive Time Slicing - (抢占时间分片)Scheduler Locking - (调度锁定)Meta-IRQ Priorities - (元优先级)Thread Sleeping - (线程休眠)Busy Waiting - (忙碌等待)Suggested Uses - (建议用途)
2021-05-28 16:12:39
1045
原创 Zephyr RTOS -- Workqueue Threads
文章目录System Threads - (系统线程)Implementation - (实现)Writing a main() function - (编写 main() 函数)Suggested Uses - (建议用途)Workqueue Threads - (工作队列线程)Work Item Lifecycle - (工作项生命周期)Delayable Work - (可延迟的工作)Triggered Work - (触发的工作)System Workqueue - (系统工作队列)How to U
2021-05-28 16:10:56
1881
原创 Zephyr RTOS -- Threads
文章目录Threads - (线程)Lifecycle - (生命周期)Thread Creation - (线程创建)Thread Termination - (线程终止)Thread Aborting - (线程中止)Thread Suspension - (线程挂起/暂停)Thread States - (线程状态)Thread Stack objects - (线程堆栈对象)Kernel-only Stacks - (仅内核堆栈)Thread stacks - (线程堆栈)Thread Priori
2021-05-28 16:06:06
1498
原创 Zephyr RTOS -- 线程简介
文章目录摘要1. 线程的优先级2. 线程的分类2.1 协作线程2.2 抢占线程3. 线程的状态4. 线程的生命周期4.1 线程的创建4.2 线程的挂起与恢复4.3 线程的终止4.4 线程的中止5. 自动创建的线程5.1 Main thread5.2 Idle thread5.3 其他线程6. 延时函数6.1 k_msleep()6.2 k_usleep()6.3 k_busy_wait()原文参考链接本笔记基于 Zephyr 版本 2.6.0-rc2摘要线程 是每一个操作系统的基础,在实时操作系统中,
2021-05-28 15:07:15
2435
原创 时间管理笔记
文章目录时间管理的本质什么是时间时间的核心元素什么是时间管理时间管理三个核心元素要事第一知行合一聚焦整块时间时间管理的本质什么是时间从 过去 通过 现在 直到 未来,连续发生的各种各样的事件的过程形成的轨迹;当物体运动超过光的速度,时间将会倒流——爱因斯坦时间的核心元素时间本身没有意义,只有和事件联系起来才有了意义;如何选择和控制事件,将会决定时间的质量,从而决定生活的质量;什么是时间管理时间不能被管理,能管理的只有时间里面的事件和选择事件的人所以,时间管理其实就是自我管理时间管理三个
2021-03-18 16:03:12
847
原创 在 Ubuntu20.04 上安装 python2 并设置为默认方式
文章目录安装 Python2设置默认方式(替代版本)安装 Python2可以到 Python 官网去下载安装包进行安装,也可以直接使用如下命令安装 Python2:sudo apt install python2安装完成后检查 Python 的版本,在这里我安装的 Python版本为 2.7.18:$ python2 -VPython 2.7.18一般 Ubuntu 是自带 python3 版本的:$ python3 -VPython 3.8.5安装完成后我们可以使用如下命令来检查
2021-03-03 17:26:05
20991
11
原创 Python 实现将 Unix 时间戳转化为实际时间
此代码为个人闲暇时,写出来的,功能为将 Unix 时间戳转化为实际的时间,引用了easygui 模块,增加了一个 GUI 的显示界面,代码如下:import time, datetimeimport easygui as appdef String_dec( string ): """ 将十六进制转化为十进制. """ dec_data = 0 capital = string.upper() # 小写字符转大写字符. for i in capital:
2021-02-26 15:04:37
1943
2
原创 Python 实现将 16 进制转化为 10 进制格式
转换代码如下:def String_dec( string ): """ 转化为十进制. """ dec_data = 0 capital = string.upper() # 小写字符转大写字符. for i in capital: tmp = ord(i) # 返回 ASSCII 值. if tmp <= ord('9') : dec_data = dec_data << 4
2021-02-26 14:24:51
2544
原创 Python 实现将字符串或者文字复制到剪切板
话不多说,直接贴代码:def Copy_To_Clipboard( string ): """ 将需要的字符串或文字复制到剪切板. """ from Tkinter import Tk r = Tk() r.withdraw() r.clipboard_clear() r.clipboard_append(string) r.update()if __name__ == '__main__': Copy_To_Clipboard("复
2021-02-26 11:46:10
4663
原创 几个实用的 Bat 脚本命令
文章目录截图息屏锁屏查看当前的路径倒计时密码输入比较两个文本的差异截图start snippingtool息屏powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)锁屏powershell (
2021-02-25 18:31:15
5739
3
原创 Bat 如何正确显示汉字
问题描述我们使用 bat 有时候是无法显示出汉字的,会出现乱码的情况,如下所示:解决方法这是因为我们没有设置 Bat 的编码方式,一般默认为 UTF-8设置该 Bat 的编码格式为 ANSI:选择 文件/另存为,然后修改编码方式并保存:这个时候再次执行,就发现可以显示出准确的汉字了…...
2021-02-25 18:02:06
6812
原创 Fork 如何撤销已经提交的记录(Commit)
文章目录撤销已经提交到本地仓库的 Commit撤销已经 Push 至云端的 Commit(Amend)撤销已经提交到本地仓库的 Commit使用 git reset --<cmd-type> <commit id> 命令即可撤销已经执行的 Commit 提交记录使用的命令及参数:其中的 <cmd-type> 参数为你需要执行的命令,这里有三种:soft:该命令会保留你已经执行的 Commit 中所做出的 Changes 并 Stagemixed:该命令会保留
2021-02-22 13:49:18
4634
原创 如何加速访问 GitHub
文章目录1. 查看设置网络代理的端口号2. 设置3. 取消设置1. 查看设置网络代理的端口号这里提供两种查看代理设置的端口号的方法:通过使用的应用程序查看端口号通过电脑的网络代理设置查看端口号2. 设置git config --global http.proxy socks5://127.0.0.1:7890git config --global https.proxy socks5://127.0.0.1:78903. 取消设置git config --global --uns
2021-02-22 10:43:48
581
原创 Ubuntu 下安装 pip
文章目录安装 python2 版本的 pip1. 下载 pip.tar.gz 文件进行安装2. 下载 get-pip.py 文件进行安装3. pip 官网详细的安装教程pip 换源安装 python2 版本的 pip在网上很多关于安装 python2 的 pip 教程,根据尝试过的,我这里总结一下几种方法:1. 下载 pip.tar.gz 文件进行安装在网上下载 pip.tar.gz 文件,然后解压,使用 sudo python setup.py install 进行安装有可能会报错:Impor
2021-02-20 20:13:39
2874
5
原创 在 Ubuntu 下卸载 Python2.7
在 Ubuntu 下卸载 Python2.71. 卸载 python2.7 及相关依赖sudo apt-get remove python2.7sudo apt-get remove --auto-remove python2.72. 删除掉 python2.7sudo apt-get purge python2.7 或者sudo apt-get purge --auto-remove python2.7当然,为避免系统发生意外情况(崩溃~~),最好还是不要卸载…...
2021-02-20 19:15:49
2255
原创 Ubuntu 域名解析失败解决
Ubuntu 域名解析失败解决问题描述最近一个项目的测试环境与 Linux 环境有关,需要搭建 Linux 环境,因此下载安装了 Ubuntu,在 Ubuntu 20.04 的 Linux 上安装 Python 与相关插件时,出现了如下错误警告:始终无法安装一些插件,最后发现是网络问题,搜查了一些资料,最后终于解决了,虽然不清楚为什么,还是要要做下记录…解决方法sudo service network-manager stopsudo rm /var/lib/NetworkManager/N
2021-02-20 19:03:27
1838
2
原创 关于 Python 实现简单的 GUI 界面显示
关于 Python 实现简单的 GUI 界面显示文章目录关于 Python 实现简单的 GUI 界面显示下载安装 easygui导入模块 easygui使用 easyguieasygui 相关函数介绍msgbox()ccbox()ynbox()buttonbox()indexbox()感觉关于 GUI 界面显示的一些操作是比较有趣的,但是 Python 中的 easygui 的这个库实现的效果是比较简单的,操作起来也是很简单的,在这里做一个小小的演示玩一玩…下载安装 easygui在 python
2021-02-20 15:55:17
6408
2
转载 批处理命令简单教程
批处理命令简单教程转载来源:https://blog.csdn.net/Joker_N/article/details/89838719文章目录批处理命令简单教程一、常用命令简介1、echo 命令2、rem 命令3、pause 命令4、call 命令5、start 命令6、goto 命令7、set 命令二、常用符号简介1、回显屏蔽 @2、重定向1 >;与>>3、重定向2 <4、管道符号 |5、转义符 ^6、逻辑命令符三、命令释义1、文件夹管理2、文件管理3、网络命令4、系统管理四
2021-02-20 14:48:35
4028
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人