- 博客(45)
- 收藏
- 关注
原创 从零开始-将小爱接入大模型
基于当前人工智能的发展,大模型使用越来越方便,此处根据豆包的大模型,来接入小爱同学,了解更多相关的知识。网络的教程很多,根据网络教程汇总,来一步一步实现功能。
2025-02-15 22:54:53
988
原创 debug-vscode调试方法
参考:VSCode C/C++(gdb)调试指南命令参考:https://www.cnblogs.com/chengliangsheng/p/3597010.html二、命令查看main反汇编-exec disassemble /m main-exec info r-exec print s 或者 --s-exec print $pc-exec bt 或 -exec info f-exec info localx/ n、f、u是可选的参数。n 是一个正整数,表示显示内存的长度,
2025-02-05 18:31:42
1049
原创 FPGA-DFPGL22学习7-gpio
和原子哥一起学习FPGA开发环境:正点原子 ATK-DFPGL22G 开发板参考书籍:《ATK-DFPGL22G之FPGA开发指南_V1.1.pdf》个人学习笔记,欢迎讨论。
2023-07-23 21:25:58
1096
原创 FPGA-DFPGL22学习6-led
和原子哥一起学习FPGA开发环境:正点原子 ATK-DFPGL22G 开发板参考书籍:《ATK-DFPGL22G之FPGA开发指南_V1.1.pdf》个人学习笔记,欢迎讨论。
2023-07-16 23:27:43
509
原创 Linux-学习笔记3
@和原子哥一起学习LinuxC语言版本LED等灯驱动实验1、C语言编译环境搭建设置处理器模式将CPSR寄存器的bit4-0设置为0x13,设置6ULL进入特权模式SVC。读写状态寄存器使用MRS和MSR.MRS-读出 MSR-写入设置SP指针 (栈指针)ALPHA 开发板的 DDR 容量:256MB,起始地址都为 0X80000000,终止地址为 0X8FFFFFFF . SP 指向DDR,向下增长。定义为2M=0x200000,所以定义栈顶地址为0x80200000.跳转ma
2021-05-26 22:56:43
210
原创 Linux-学习笔记2
@和原子哥一起学习LinuxUbuntu入门学习完毕,怀着激动的心情开始了I.MX6U的裸机入门汇编LED等灯驱动实验1、汇编LED程序编写步骤定义了一个全局标号_start,代码就是从_start 这个标号开始顺序往下执行的根据时钟寄存器地址使能所有时钟根据IO寄存器地址配置复用IO和IO电气属性根据GPIO寄存器配置管脚输入输出和输出高低电平通过 b 指令, CPU 重复不断的跳到 loop 函数执行,进入一个死循环代码:.global _start /*开始*/_sta
2021-05-24 23:19:40
519
原创 Linux-学习笔记1
@和原子哥一起学习Linux最近入手一块正点原子购买的阿尔法Linux开发板,在此做下学习笔记,方便后续查阅,希望自己有所长进。1、VMware安装和Ubuntu安装此处遇坑无数(致敬我差点被打消的学习热情)1、虚拟机好用了一天,之后忽然电脑无法打开ubantu,每次打开自动蓝屏,然后重启根据网上的方法,查找时忽然发现自己刚买回的电脑是家庭版,重装了专业版的系统,重装虚拟机恢复了。2、虚拟机本来还好用的,晚上Win10自动更新,还是蓝屏,吐血。。按照网上的方法操作一波还是不好用,实在烦了就重装
2021-05-23 12:46:06
172
原创 EFM32jg之FreeRTOS(7)-队列、信号量、任务通知
@EFM32JG移植FreeRTOS队列-Queue_t**作用:**队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以存储有限的、大小固定的数据项目。**储存机制:**使用先入先出缓冲机制,也就是往队列发送数据的时候(也叫入队)永远都是发送到队列的尾部,而从队列提取数据的时候(也叫出队)是从队列的头部提取的。使用的是值传递,切记。**阻塞:**当队列为空时会导致出队阻塞,当队列为满时会导致入队阻塞。队列创建:QueueHandle_t xQ
2021-05-20 22:53:58
268
原创 EFM32jg之FreeRTOS(6)-低功耗处理、空闲任务
@EFM32JG移植FreeRTOS低功耗TicklessFreeRTOS 提供了一个叫做 Tickless 的低功耗模式,此模式下需要解决两个问题:1)低功耗下系统滴答计数关闭,则开启低功耗定时器继续计数保证系统节拍2)获得下一个任务要唤醒的时间,开启定时器去在中断唤醒它。在EFM32中,其已经定义了EM1 EM2 EM3 EM4,所以为了使用该函数,可以在空闲函数的勾子函数进入低功耗,在其他任务执行完后,进入空闲任务,进入低功耗模式。再利用事件去触发唤醒,切换任务。空闲任务1、保证系统中至
2020-12-10 22:00:29
375
1
原创 EFM32jg之FreeRTOS(5)-任务调度、创建、切换
@EFM32JG移植FreeRTOS1、任务调度器1)创建空闲任务,优先级为0,表示最低优先级,在无其他高优先级任务的情况下,调用此任务,若打开configUSE_IDLE_HOOK,则可以再空闲任务中增加自己想要执行的代码,定义勾子函数void vApplicationIdleHook( void )。2)变量 xSchedulerRunning 设置为 pdTRUE,表示调度器开始运行。3)设置 PendSV、滴答定时器 的中断优先级,为最低优先级。所以若为事件调度,则必须关闭滴答定时器: Sy
2020-12-09 22:44:22
324
原创 EFM32jg之FreeRTOS(4)-列表
@EFM32JG移植FreeRTOS1、列表和列表项1)列表和链表类似,链表如下图,头指针指向链表的第一个节点,然后第一个节点中的指针指向下一个节点,然后依次指到最后一个节点,这样就构成了一条链表,列表项类似双链表。列表:列表项:2、列表项的应用任务创建时,会返回任务句柄,也就是任务控制块,其中两个成员变量: StateListItem 和 xEventListItem,状态列表和事件列表这两个成员变量都是列表项。创建任务时初始化列表项,列表项的插入根据 xItemValue 的值按照
2020-12-07 21:47:35
127
原创 EFM32jg之FreeRTOS(3)-中断、任务相关
@EFM32JG移植FreeRTOS1、中断管理Cotex-M3 和 M4 的 NVIC 最多支持 240 个 IRQ(中断请求)、 1 个不可屏蔽中断(NMI)、 1 个Systick(滴答定时器)定时器中断和多个系统异常。由于EFM32JG1B200F128GM48有三位来表达优先级,如下,所以优先级组最多分为四组...
2020-12-07 20:40:05
290
原创 Simplicity Studio 自定义使用快捷键
@致敬《从入职到架构师–我的嵌入式成长之路》善用工具,source Insight 是一个恨到的代码阅读软件source insight添加自定义菜单。打开软件,点击Option选项,点击menu Assignments,选中menu中的work,在command选项中添加macro,选中自定义的命令到work,选中后点击insert,点击OK后则该命令出现在软件work目录下。打开软件,点击Option选项,点击menu Assignments,选中menu中的work,在command选项中添加
2020-08-07 21:05:32
714
原创 使用双链表完成学生管理系统
欢迎交流,共同进步。题目为:学生信息管理系统使用双链表机制,实现功能如下:插入一个学生数据、删除一个学生数据、修改一个学生数据、查找一个学生数据、遍历显示学生数据、导入表格数据、导出表格数据 。#include<stdio.h> //标准IO#include<stdlib.h> //标准库#include<stri...
2020-04-18 20:32:37
871
原创 输入一个菱形的内高和外高,画出一个空心菱形
欢迎交流,共同进步。题目为:已知内层和外层菱形的高度,输出一空心菱形使用自己的语言描述:使用C语言画出一个菱形,输入上三角高内层菱形为L1,外高为L2,输入需要保证数值为正整数,且为奇数。输入一个菱形的内高和外高,画出一个空心菱形#include<stdio.h>int main(){ int L1,L2 ; int flag =0; int k...
2020-03-01 11:31:28
544
原创 输入一个整数,判断其中0的个数
输入一个整数,判断这个整数中 0 的个数1)判断特殊值02)判断负值3)溢出处理(未加)欢迎交流,共同进步#include<stdio.h>int main(){int a,b,c;while (1){ scanf("%d", &a); b = 0; if (a < 0) a = a * (-1); e...
2020-02-29 22:50:22
3749
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人