- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 macbook使用Parallels Desktop ubuntu虚拟机给嵌入式开发板连网
如果需要使用filezilla等软件,在ubuntu与同一网络中的windows进行文件传输,只需要将网络1的源改为桥接网络的wifi就可以。打开ubnuntu的网络设置,选择enp0s6网卡的网络,打开设置,选择IPv4,选择manul,输入ip地址,子网掩码,并勾选下图的选项。由于本人在家里和学校来回跑,台式机在家里,学校的win又太垃圾了,就想着在macbook上跑ubuntu虚拟机,学习正点原子的阿尔法Linux开发板。本文主要实现了在macbook搭建嵌入式开发的网络环境。设备->网络->配置。
2023-02-16 17:44:47
2033
原创 Linux系统移植(学习过程)
该函数是根据fec1_pads和fec2_pads两个数组来初始化网络用到的IO,添加初始化复位IO的代码,并且复位一下PHY芯片:(两个io设置为输出并且硬件复位一下SR8210F,否则可能导致uboot无法识别SR8210F)ENET1的复位引脚连接到SNVS_TAMPER7上,对应GPIO5_IO07,ENET2的复位引脚连接到SNVS_TAMPER8上,对应GPIO5_IO08。创建自己的uboot。原因是uboot中使用的nfs版本为V2,而ubuntu中的NFS版本为V3 V4,解决。
2022-10-29 20:07:15
676
转载 用VSCode调试C++代码的方法
在Ubuntu中用不了Visual Studio, 又不习惯在终端中调试,那就用宇宙第一编辑器vscode来调试代码吧~ 1、必要的插件 安装插件:C/C++,其作用是提供对接的接口【参考文献1】 任务描述:利用CMakeLists.txt设置生成支持调试的.gdb文件,进而可以对代码进行调试【参考文献2】123456 2.2 在build目录下编译 1234 2.3 测试生成文件 通过上述两步会在目录下生成一个可调试的可执行文件。这时可以用linux自带的gdb调试(命令行调试模式)测试一
2022-06-19 16:51:15
3443
原创 Linux0.11操作系统(哈工大李治军老师)实验楼实验5-基于内核栈切换的进程切换
Linux0.11操作系统(哈工大李治军老师)实验楼实验5-基于内核栈切换的进程切换任务在linux0.11中实现基于内核栈切换的进程切换简介现在的 Linux 0.11 采用 TSS(后面会有详细论述)和一条指令就能完成任务切换,虽然简单,但这指令的执行时间却很长,在实现任务切换时大概需要 200 多个时钟周期。而通过堆栈实现任务切换可能要更快,而且采用堆栈的切换还可以使用指令流水的并行优化技术,同时又使得 CPU 的设计变得简单。所以无论是 Linux 还是 Windows,进程/线程的切换都
2022-05-27 10:18:25
791
原创 main.c/move_to_user_mode()分析
main.c/move_to_mode()在做李治军操作系统实验课的时候,在进程运行轨迹与统计部分,有提到使用move_to_mode()函数,但是当时的实验并没有涉及到这个函数的具体内容,于是自己找了一些资料,捋了一下。1.进程0的创建move_to_user_mode()实现从内核模式切换到用户模式,执行进程0.进程0则在经过sti()之前的语句,已经创建完毕。在kernel/sched.c中:static union task_union init_task = {INIT_TASK,};
2022-05-22 23:04:52
431
3
原创 Linux0.11操作系统(哈工大李治军老师)实验楼实验4-进程运行轨迹的跟踪与统计
Linux0.11操作系统(哈工大李治军老师)实验楼实验4-进程运行轨迹的跟踪与统计实验内容1.基于模板 process.c 编写多进程的样本程序,实现如下功能: + 所有子进程都并行运行,每个子进程的实际运行时间一般不超过 30 秒; + 父进程向标准输出打印所有子进程的 id,并在所有子进程都退出后才退出;2.在 Linux0.11 上实现进程运行轨迹的跟踪。 + 基本任务是在内核中维护一个日志文件 /var/process.log,把从操作系统启动到系统关机过程中所有进程的运行轨迹都记录
2022-05-22 12:19:17
1189
原创 关于bootsect.s中段寄存器的一点困惑
最近重新看一遍bootsect.s,发现有些地方有些想不起来了,又重新查了一下关于段寄存器的知识。cs是代码段寄存器存放当前正在运行的程序代码所在段的段基址,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移量则由IP提供。ds是数据段寄存器当前程序使用的数据所存放段的最低地址,即存放数据段的段基址ss是堆栈段寄存器当前堆栈的底部地址,即存放堆栈段的段基址es是扩展段寄存器当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段fs是标志段寄存器
2022-05-14 15:39:36
138
原创 Linux0.11操作系统(哈工大李治军老师)实验楼实验3-系统调用
这次内容是在Linux0.11上添加两个系统调用,并编写两个简单的应用程序测试它们iam第一个系统调用是 iam(),其原型为:int iam(const char * name);完成的功能是将字符串参数 name 的内容拷贝到内核中保存下来。要求 name 的长度不能超过 23 个字符。返回值是拷贝的字符数。如果 name 的字符个数超过了 23,则返回 “-1”,并置 errno 为 EINVAL。在 kernal/who.c 中实现此系统调用。whoami第二个系统调用是 wh
2022-05-13 22:39:06
965
原创 Linux0.11操作系统(哈工大李治军老师)实验楼实验2-操作系统的引导
1.改写bootsect.s完成以下功能1.bootsect.s 能在屏幕上打印一段提示信息“XXX is booting...” Linux0.11 bootsect.s源码中向屏幕输出字符的代码! Print some inane message mov ah,#0x03 ! read cursor pos xor bh,bh int 0x10 mov cx,#31 mov bx,#0x0007 ! page 0, attribute 7 (normal) mov bp,
2022-05-11 17:18:05
522
原创 基于PFGA的OV7725摄像头采集以及在4.3寸LCD屏上显示
最近搞了一块4.3寸的LCD屏,想在上面显示OV7725摄像头采集到的图像,刚开始把正点原子提供的代码烧录到板子上,奈何显示屏太小了,而正点提供的代码只适合在 大小比摄像头采集的图像大的显示屏上使用,4.3寸的lcd屏会有图像的缺失,如下图所示。硬件:OV7725摄像头、正点原子FPGA新起点开发板我只修改了lcd_driver和lcd_display部分原本lcd_display部分代码:assign data_req = ((pixel_xpos >= display_border_po
2021-07-04 15:29:32
705
原创 MacOS上安装tcl、tk
Mac OS上安装tcl/tk综合了网上们的大佬的下载tcl/tk的网址:http://www.tcl.tk/software/tcltk/download.html这是我下载的版本安装tcl:直接到Download里解压打开终端su root打开管理者权限在/usr/local下创建一个文件夹将解压好的文件夹复制过去,并且进入unix目录进行安装具体输入以下命令mkdir /usr/local/tcl8.6.11cp -r /Users/你的账户名字/Download/
2021-01-19 05:30:21
1773
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人