- 博客(112)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 MCU内核、临界区、机器状态寄存器MSR、中断使能
在多核MCU中,即使中断被禁用,其他内核的任务也可能尝试访问相同的资源。:在实时系统中,临界区的处理尤为重要,因为它们可能直接影响系统的实时性能。:临界区的主要目的是防止在多任务环境中由于任务切换导致的数据不一致,而保护区的目的则是保护代码和数据不被未授权或意外的访问和修改。:临界区的概念更多出现在实时操作系统(RTOS)和多任务环境中,而保护区的概念则可以应用于更广泛的场合,包括但不限于操作系统。是一个特殊的寄存器,它包含了处理器的状态信息和控制位,这些信息对于操作系统和应用程序的运行至关重要。
2024-08-01 13:53:14 1256
原创 大语言模型的核心岗位及其要求
数据收集:收集大量的文本数据,包括书籍、网页、文章等。进行分词、词性标注、句法分析等自然语言处理步骤。:设计模型的架构,包括层数、隐藏单元数等。使用少量的特定领域数据来提高模型的准确性。确定模型的训练参数,如学习率、批大小等。:将训练好的模型部署到服务器或云平台。:清洗数据,去除噪声和不相关的信息。:针对特定应用场景对模型进行微调。:使用预处理后的数据训练模型。调整模型参数和架构以优化性能。确保模型的可扩展性和稳定性。确保数据的多样性和代表性。:在验证集上评估模型性能。
2024-08-01 13:51:35 530
原创 提示词工程(Prompt Engineering)是什么?
提示词工程(Prompt Engineering)是一项通过优化提示词(Prompt)和生成策略,从而获得更好的模型返回结果的工程技术。
2024-07-10 14:35:31 1080
原创 FreeRTOS 计时 sysTimeTick 系统时钟节拍
开发人员可以根据需要设置不同的tick率,但是较高的tick率可以提供更精细的时间控制,但同时也会增加CPU的开销,因为需要更频繁地处理定时器中断。是通过一个定时器中断来实现的,这个中断会定期触发,每次触发都会增加系统的时间计数器。当程序逻辑判断,遇到异常情况 - sysTimeTick变得非常小,意味着重新从0计数了,这时或许要补上这个最大值后,再去做判断。的最小计时单位是tick,也就是系统时钟的节拍间隔。是FreeRTOS中用于时间管理的核心机制,它的精度和性能取决于系统配置和定时器中断的频率。
2024-07-10 10:33:54 537
原创 蓝牙开发 基础知识
此方法会返回一个 BluetoothAdapter 对象,表示设备自身的蓝牙适配器(蓝牙无线装置)。例如,应用可接收指示所连接设备电池电量的广播,并根据需要通知用户或采取其他操作。发现进程通常包含约 12 秒钟的查询扫描,随后会对发现的每台设备进行页面扫描,以检索其蓝牙名称。已配对是指两台设备知晓彼此的存在,具有可用于身份验证的共享链路密钥,并且能够与彼此建立加密连接。注意:如果尚未在设备上启用蓝牙,则启用设备可检测性会自动启用蓝牙。如果手机要与无线耳机进行连接,则两台设备都必须支持免提蓝牙协议。
2024-06-11 19:09:30 734
原创 我的创作纪念日
现在已经写了很多年代码了,从Java swing 到 Java Web,JSP,Struct Hibernate Spring三件套,SpringMVC,到后来的 Android 移动App开发,再到车载应用开发,再到现在的MCU微控芯片开发。大四去北京实习,一个空间遥感公司,当时是做政务系统,可能是公司的一个边缘业务,用的JSP,完全没有框架啊,逻辑思维,纯铺业务流程。哦,对了,最近有空就会看一些AI的东西,搞搞小工具,玩一玩,你值得尝试,确实有意思的。心里会想,哎,这是我做的,嘿嘿。
2024-06-05 18:16:29 274
原创 git 重命名文件,提交后,此文件的提交记录丢失
文件重命名后,提交到 git 仓库,发现重命名操作 变成 删除旧文件,新增一个新文件,原来文件的提交记录丢失,看不到了。刚才的第一步非常重要,一定要在重命名前,将目标文件放入暂存区中,否则提交上以后,就会变成删除旧文件,新增一个新文件,此文件的提交记录丢失了。1.3、最后commit,push1.4、最终结果查看gerrit上的提交情况:直接查看此文件的提交记录:执行命令:打印如下:
2024-04-24 12:22:23 688
原创 LIN通信开发流程,GENy导入LDF文件、使用GENy生成代码
Micro是微控器Cpu,Mcs的12代Derivativ是此微控器的衍生版,选择适合自己的选项。没有的话,我就是默认第一个MCS12X。Compile没得选,默认。填写Channel名,选择LDF文件选中主机节点,点击OK,添加Channel完成。如果你的LDF文件是没问题的,此时可以看到所有的帧,信号已经添加进来了:配置生成代码的路径,自己填最后生成代码。
2024-03-22 17:46:06 1787 1
原创 从上到下,深入理解LIN协议 及 进阶问题
LIN总线本身具有一种“线与”的特性,当总线处于空闲状态(即没有节点发送数据)时,总线会保持隐性电平。而LIN节点内部通常会有一个定时器或时钟机制,用于检测总线上的活动时间。当节点检测到总线在4秒至10秒的连续时间内没有活动时(即没有数据帧传输),节点的定时器会触发一个事件,指示节点进入休眠状态。在休眠状态下,节点会关闭或降低其部分功能,以减少功耗。同时,节点会保持对总线的监听,以便在需要时迅速唤醒。
2024-03-22 17:38:33 3561
原创 MCU新手,必看的名词汇总(缩写对照表) 持续更新
而使用UART DMA技术,UART控制器可以在需要读取或写入数据时,直接访问系统内存中的指定地址,将数据读取到内存中或将数据从内存中写入到UART控制器中。需要注意的是,在使用UART中断时,需要正确配置UART控制器的相关寄存器,包括波特率、数据位数、停止位数、校验位等参数,以确保正确的数据传输和中断触发。需要注意的是,在使用UART DMA技术时,需要正确配置UART控制器和DMA控制器的相关寄存器,以确保正确的数据传输和中断触发。此外,中断方式还可以减少CPU的功耗和占用率,提高系统的整体性能。
2024-03-04 10:41:58 1118
原创 一文梳理LIN协议与应用
Header由主机任务发出,Response由从机任务回复。Break:标识一帧的开始Synch:调整从机节点的数据位速率与主机节点一致。主机的时钟需要高精度,从机节点时钟不需要高精度。Protected identifier:受保护的ID段(8位) = 帧ID(6位) + 校验位(2位),就是上面提到的PID。PID 标识了帧的类别和目的地。Data1~DataN:一个Data块 占一个字节,包括两种数据类型:信号和诊断消息。一个PID对应的数据可能包含一个或多个信号。
2024-03-04 10:38:16 5303
原创 C语言 extern关键字理解
例子中,two.h中的sayBye函数声明没有使用extern关键字,但仍然可以正确调用。这是因为默认情况下,当你在头文件中包含函数声明时,它实际上隐式地使用了extern。所以,即使你没有显式地写extern void sayBye();,编译器也会将其视为外部链接,因为它知道这是一个函数声明而不是定义。
2024-02-18 09:51:30 423
原创 VS Code中主程序C文件引用了另一个.h头文件,编译时报错找不到函数
VS Code中主程序C文件引用了另一个.h头文件,编译时报错找不到函数主程序 main.c工具文件 sumaa.h实现文件 sumaa.c。
2024-02-07 16:28:59 1436
原创 MCU开发中,RTD的介绍与模块详解
RTD Real Time Drivers,实现复杂软件接口抽象的体系结构,就是基于S32K3平台开发时,NXP 恩智浦为我们提供的一个平台。结合了AUTOSAR和专有软件体系结构的低级驱动程序,将以前的MCAL和SDK合并到了一个软件平台
2024-02-06 16:46:15 2715
原创 C语言 - 最简单,最易懂的指针、引用讲解
先看这一行都知道& 是取址符是吧,好,&h 是取h结构体的地址,结果没问题,参照上图。接着,&hp,hp是一个指针,指向了h所在的地址(hp = &h),注意:&hp是取hp变量的地址,而不是h的地址,所以打印出来的是 6290920。(printf %d是打印数字,这里输出的是10进制的结果)再看第二行此处的 %p 是指打印指针变量的值,好,先看第二个参数hp,它本身是一个指针变量,值是 0x5ffe98,所以打印出的结果也是没问题的。
2024-01-11 18:49:44 529
原创 stable diffusion 人物高级提示词(五)场景、特效、拍摄手法、风格
当用胶片拍摄时,这些微小的颗粒会以随机的方式分布在图像上,给图像增加了一种自然的、有机的纹理。这种纹理在电影和摄影中被视为一种艺术元素,可以增加图像的深度和动态范围,使其看起来更加生动和真实。▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▅ 推荐阅读 ▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。在胶片成像的过程中,银盐颗粒的大小和分布会决定影像的细腻程度,形成独特的颗粒感。
2024-01-07 21:49:20 3582
原创 stable diffusion 人物高级提示词(四)朝向、画面范围、远近、焦距、机位、拍摄角度
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▅ 推荐阅读 ▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。upper body / waist up:上半身或腰部以上。Thigh up:大腿以上。knees up:膝盖以上。full body:全身。
2024-01-05 14:33:57 10701
原创 stable diffusion 人物高级提示词(三)动作、表情、眼神
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▌ 推荐阅读 ▌▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。
2024-01-05 14:17:07 5720
原创 stable diffusion 人物高级提示词(二)衣物、身材
材质类的 prompt 比较万能,可以搭配各种衣饰,请发挥想象力,尽情尝试。对这方面的要求,可以配合一些 loRA 模型,达到想要的效果。毛:woollen coat。皮革:leather。
2024-01-03 17:40:58 4130
原创 stable diffusion 人物高级提示词(一)头部篇
运动眼镜又是一大类:自己可以去探索,如 ski goggles、Parachute goggles。特别的:Rabbit ears,fox ears。材质:Crystal、Pearl、Golden。这两个比较另类,个人不太喜欢。一共试了 48 张……
2024-01-03 17:38:00 3395
原创 stable diffusion 极简入门 核心 概念介绍 使用
checkpoint:大型 SD modelLoRA:LoRA模型是小型的 SD model,它对 checkpoint 模型进行微小的更改。通常比 checkpoint 模型 小10到100倍。建议权重为0.7~1。VAE:简单理解是 对 checkpoint 微调,加滤镜,不会对输出结果有大影响,一般自动就好。embedding:是一个小组件,它打包特征描述,不用每次输入很多prompt相比于LoRA,embedding 的大小只有几十 KB,非常小。
2023-12-20 19:48:27 773
原创 Android RecyclerView 动画处理 流程 原理(源码分析第二篇)
Android RecyclerView 动画 流程 原理。经过上面的分析,其实我们的重点变成了,view数据的组织与记录(动画前),view的数据的计算(动画后),心里要有这个数。子view的y轴坐标,由动画前的位置,滑动到 动画后的位置(我们暂时只讨论常见的竖向布局)ViewInfoStore这个类,抽象了所有的子View的(为了运行动画的)跟踪信息。添加一个view:添加的View 显示出来,它下面的所有view向下移动一格距离。
2023-12-11 18:25:40 1229 1
原创 为什么要做源码分析,源码分析的整体思路,及怎样高效分析源码?
如果能输出出来,且讲得通俗易懂,就说明输入的不错。输出过程中,遇到的问题反哺输入。
2023-12-08 14:09:45 1478
原创 Android RecyclerView分析 第一篇【ChildHelper】
在RecyclerView对象创建时,会创建一个 ChildHelper 对象。在设置layoutManager时,将 RecyclerView中的成员变量 mChildHelper 传进 layoutManager中。ChildHelper 封装了对 RecyclerView所有子View的所有操作。包括子View的添加、删除、绑定、解绑、获取子View、判断是否隐藏等。
2023-11-29 14:50:25 682
原创 Android SurfaceFlinger做Layer合成时,如何与HAL层进行交互
SurfaceFlinger、Layer、HWC、OpenGL ES、Buffer 显示逻辑,调用逻辑
2023-10-27 19:27:43 1868 1
原创 C++ const 与 指针
c 是一个指针类型的变量,指向 int 类型的数据,int 数据无法改变。d 是一个指针类型变量,指向 int 类型的数据。
2023-10-25 11:40:00 116
原创 Sending non-protected broadcast 问题解决
源码路径:frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java。依照内容,添加自己的 action ,重新编译系统,新rom上就可以正常发送,不报异常了。发出的广播可以被目标正常接收,功能正常运行。只是会报上面的 ERROR 级别的错误。这个方法的目的是检查系统应用发出的广播是否有问题。代码分析的第三条,我没试哈,可自行尝试。基于android 12。
2023-09-07 17:04:55 3292
原创 Android 一图看懂 bindService 流程中,各进程间的交互及Binder的流转
Android 一图看懂 bindService 流程 AMS Binder
2023-06-29 12:20:28 278
TA创建的收藏夹 TA关注的收藏夹
TA关注的人