- 博客(65)
- 收藏
- 关注
原创 驱动——串口工具点灯实验
a:分配字符设备驱动(struct cdev *cdev_alloc(void))echo 1 > /dev/myled0 ---->led1灯点亮。echo 0 > /dev/myled0 ---->led1灯熄灭。echo 1 > /dev/myled1 ---->led1灯点亮。echo 0 > /dev/myled1 ---->led1灯熄灭。echo 1 > /dev/myled2 ---->led1灯点亮。echo 0 > /dev/myled2 ---->led1灯熄灭。
2022-11-19 16:00:43
868
原创 驱动——ioctl数组及结构体传递
2>在long mydev_ioctl (struct file *file, unsigned int cmd, unsigned long arg)接口函数内,使用copy_from_user接收用户空间拷贝过来的信息,并进行打印,再使用copy_to_user函数将修改后的结构体信息拷贝到用户空间。4>通过dmesg查看内核层的打印信息,结果如下所示,应用层传递的数组信息以及结构体信息成功传递到内核层。3>编写用户程序,通过ioctl函数传递信息给内核空间,从而达到想要的操作结果,并进行打印。
2022-11-17 19:44:14
1385
原创 驱动——LED灯循环闪烁
3、通过copy_from_user函数从用户空间读取信息,对要进行操作的灯进行判断,并对相应寄存器进行操作。1、创建LED灯点亮所需要的GPIO寄存器的结构体,并对寄存器地址进行宏定义。使用结构体形式对寄存器地址进行映射,实现3盏LED灯的循环点亮。返回值: 成功返回虚拟地址,失败返回NULL。返回值: 成功返回0 失败返回未拷贝的字节数。函数功能:将物理地址映射为虚拟地址。@offset:映射之后的虚拟地址。@size:映射大小,单位字节。@from:用户空间首地址。@offset:物理地址。
2022-11-16 20:18:53
3378
原创 驱动——通用makefile文件代码
通过终端给变量进行赋值,并使用条件判断语句对要生成的架构进行判断,执行相应的语句。通过终端给变量进行赋值,并执行相应的语句。2.如何指定文件名?
2022-11-14 21:10:22
223
原创 系统移植——开发阶段部署
nfsroot=192.168.1.100:/home/linux/nfs/rootfs:挂载的IP地址和路径。6>通过网线下载程序到开发板中内核进行启动,内核启动成功之后 通过网线从ubuntu挂载文件到开发板中。4>在串口工具打印uboot信息,在倒计时时间进入0之前,按下任意键,进入交互模式。1>在ubuntu中~/home/linux/tftpboot准备下载的镜像文件。2>在TF/EMMC中固化uboot镜像文件,并选择对应的启动方式。root=/dev/nfs:使用nfs方式进行挂载。
2022-11-07 20:01:18
425
1
原创 系统移植——<board_name>名字确定
3、通过错误信息分析得,不能在arch/../configs/目录下找到fsmp1a_defconfig这个文件,且默认的配置文件存放在该目录下。4、进入arch/../configs/目录,查看配置信息,由于我们的板子为stm32mp157aaa,,因此通过ls stm32mp15*进行查看。通过分析README文件可知,编译板子的命令为:make _defconfig,那么该如何确定?2、可见如下所示,打印错误信息。
2022-11-03 00:54:20
435
原创 ARM——综合作业
在串口工具输入led1off----->板子led1熄灭。在串口工具输入led2off----->板子led2熄灭。在串口工具输入led3off----->板子led3熄灭。实验要求:串口输入相应的命令,控制对应的硬件进行工作。在串口工具输入led1on----->板子led1点亮。在串口工具输入led2on----->板子led2点亮。在串口工具输入led3on----->板子led3点亮。
2022-10-30 17:58:31
141
原创 ARM——M4中断实验
3.例如按键1按下之后,led3灯状态取反,并且打印一句话:key1 down!2.实现实验现象:对应中断触发时,打印一句话。1.实现中断触发时,对应的LED灯状态取反。
2022-10-26 21:18:23
430
原创 ARM——USRT4实验
在键盘输入一个字符,串口工具打印内容为:加1后的内容,完成串口收发字符串。例子:比如键盘输入的是'a',串口工具需要打印'b'
2022-10-24 20:32:46
207
原创 ARM——LED灯实验
功能代码:实现LED1、2、3三个灯的初始化以及点亮和熄灭。功能测试结果:LED1、2、3三个灯循环亮灭。测试代码:实现三个灯循环启灭。
2022-10-20 19:39:34
1052
原创 QT——qq界面实现
2> 匹配失败,则弹出警告对话框,信息为账号密码错误,是否重新登录,该对话 框中有两个按钮,分别时yes和no,如果点击yes,则继续进行登录,并且将两个行 编辑器之前输入的内容清空(clear)。3> 点击取消按钮时,弹出错误对话框,给出提示,是否真的要退出登录,该对话 框中有两个按钮,分别时yes和no,如果点击yes,关闭整个页面。1> 点击确定按钮时,如果账号和密码匹配成功,则弹出信息对话框,提示登录成 功,点击ok后,关闭页面。功能测试——登录失败。功能测试——界面展示。功能测试——登录成功。
2022-10-12 20:04:53
1670
原创 C++——继承
由这两个类共同派生出学生干部类,私有成员属性(职位),成员方法(无参 构造、有参构造、析构函数、show函数),使用学生干部类实例化一个对象,然后 调用其show函数进行测试。定义一个学生类(Student):私有成员属性(姓名、年龄、分数)、成员方法 (无参构造、有参构造、析构函数、show函数)再定义一个党员类(Party):私有成员属性(党组织活动,组织),成员方法 (无参构造、有参构造、析构函数、show函数)。
2022-10-09 19:30:40
117
原创 C++——运算符重载
要求:自己分析函数,该加const的要准确加上。+=运算符:operator+=下标运算符:operator[]加法运算符:operator+关系运算符:> 、
2022-10-08 21:34:22
270
原创 C++——封装队列、班级
作业二:封装一个班级 成员属性:存放学生成绩的数组 成员方法:输入学生成绩 输出学生成绩 排序 求最值 求总分。作业一:封装一个循环顺序队列。
2022-09-27 20:53:33
458
原创 IO进程——消息队列、共享内存
3. 要求A进程打印出来的结果是有序的,例如:"123456" 或者 "654321",不允许出现"623451",,,等无序情况。2. B进程 循环 倒置str字符串,不使用辅助数组。注意是循环倒置,要把字符串倒过来,倒回去。提示:将flag + str一起写到共享内存中,当flag=0,打印 当flag=1 ,倒置。3)重复上述步骤,当A进程或者B进程接收到quit后退出AB进程。2)B进程接着再发送一句话,A进程接收打印;1)A进程发送一句话,B进程接收后打印;1. A进程 循环 打印str字符串。
2022-09-12 21:55:02
279
原创 IO进程——进程通信
2. 创建AB进程,要求用B进程杀死A进程;提示:有名管道+信号。3)重复上述步骤,当A进程或者B进程接收到quit后退出AB进程。2)B进程接着再发送一句话,A进程接收打印;1)A进程发送一句话,B进程接收后打印;3. 用信号的方式回收僵尸进程。
2022-09-08 21:03:09
206
原创 IO进程——条件变量、管道
2.编写一个程序,开启3个 线程,这3个线程的ID分别为ABC,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示,如ABCABC……1.两个线程 A、B,要求A线程读取文件中的数据,B线程将读取到的数据打印到终端上。类似cat一个文件。3. 无名管道的代码,自行完成。
2022-09-07 21:53:30
157
原创 IO进程——守护进程、pthread——create函数
2. pthread_create函数的代码示例捋清楚(要求代码上交)1. 创建守护进程的代码,要求写上每一步的注释(代码上交)主线程中定义一个局部变量,分支线程中如何接收并打印。
2022-09-05 21:10:50
168
原创 IO进程——父子进程、孤儿进程、僵尸进程
要求用父子进程拷贝一张图片,其中子进程先拷贝后半部分,父进程后拷贝前半部分。3.要求输入目录的路径后,能够打印出指定路径下所有文件的详细信息,类似ls -l。孤儿进程:父进程退出,子进程死循环换。僵尸进程:子进程退出,父进程死循环。
2022-09-05 00:18:04
118
原创 IO进程——标准IO(fgets、fwrite、fread)
1.用fgets计算一个文件的行数,要求分装成函数。2.要求用fread fwrite拷贝一个文件。
2022-08-31 23:16:01
259
原创 IO进程——标准IO
通过fgetc fputc实现将一个文件的内容复制到另外一个文件中。创建一个usr.txt,其中第一行存储账户名,第二行存储密码。将1.txt的内容复制到2.txt中。提示:读取一次,输出一次。2. 判断与文件中存储的账户名,密码是否一致。3. 如果账户名不一致,则输出用户不存在。4. 如果密码不一致,则输出密码错误。1. 从终端获取一个用户名和密码。5. 如果均一致,则输出登录成功。...
2022-08-30 20:18:47
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人