- 博客(16)
- 问答 (1)
- 收藏
- 关注
原创 git基本操作1
错误信息 "fatal: not a git repository (or any of the parent directories): .git" 表示你当前的目录不是一个 Git 仓库,或者你的 Git 仓库配置在父目录中,但你不在该目录下。8.这个错误通常发生在尝试推送代码到远程 Git 仓库时,但是本地的 Git 仓库没有正确地设置远程仓库的地址,或者远程仓库的地址不正确。1.正在学习uboot代码,涉及到代码的修改,所以想先把源码由git管控,再修改代码也好有个对照。4.初始化git仓库。
2024-07-24 22:39:09
207
原创 点灯实验由汇编程序向C程序进阶
uboot也是一开始就设置svc模式,uboot要做的事情就是初始化系统相关硬件资源,需要获取尽量多的权限,以方便操作硬件,初始化硬件。另一方面,uboot最终目的是为了启动linux的kernel,在做好准备工作跳转到kernel之前,本身要满足一些条件,其中一个条件就是要求CPU处于SVC模式。用于描述文件应该如何倍链接在一起形成最终的可执行文件,其主要米的是描述输入文件中的段如何被映射到输出文件中,并且控制输出文件中的内存排布。先让cpu进入svc模式,然后设置栈指针,最后跳到main函数不返回。
2024-05-28 23:05:46
146
原创 IMX6ULL镜像文件组成结构
至于为什么要加这样一段格式,我认为和芯片内部ROM里面的已经写好的一段程序有关,这段程序会按照这样的格式来读取SD卡上面的程序,然后执行SD卡里面的.bin文件,相当于把控制权交到了SD卡中。1. Image vector table,简称IVT,里面包含一系列的地址信息,这些地址信息在ROM中按照固定的地址存放着。由此可以看出,最终烧写到IMX6ULL的程序其组成为:IVT+Boot data+DCD+.bin。2. Boot data,启动数据,包含了镜像要拷贝到哪个地址,拷贝的大小是多少等等。
2024-05-27 23:26:06
383
原创 IMX6U启动方式
从硬件原理图看出,启动除BOOT_MODE1和BOOT_MODE0有关外,还与LCD_DATA11,LCD_DATA3,LCD_DATA4,LCD_DATA5,LCD_DATA6,LCD_DATA7有关。4.由图1可知,如果想要SD启动的话,由图1可知,BOOT_CFG1[7:4]=010X,由图4可知,BOOT_CFG1[4]的含义是:0-Regular 1-Fast Boot,这里我们选择0。接下来我们研究BOOT_MODE[1:0]和GPIO是怎样影响启动的,我们现在用的启动方式都是SD。
2024-05-16 18:33:16
798
2
原创 1.1 正点原子-裸机实验-汇编点灯(自己理解)
先查看led电路,led0旁边有个电阻R9,看实际电路板,led旁边也有一个电阻R9,所以确定是这个led0,查看其他的图,led0连接到GPIO_3,根据视频这个标错了,实际是GPIO1_IO3。Register (IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03)这个寄存器,设置为GPIO mode。1.根据上图文档例子代码,找到SW_MUX_CTL_PAD_GPIO1_IO03 SW MUX Control。这篇是过了一段时间,自己根据芯片文档自己写的代码。
2024-05-11 16:51:49
449
2
原创 ARM汇编基础
第一份文档主要讲解 ARMv7-A 和 ARMv7-R 指令集的开发,Cortex-A7 使用的是 ARMv7-A 指令集,第二份文档主要讲解 Cortex-A(armV7)编程的,这两份文档是学习 Cortex-A 不可或缺的文档。,我们用汇编来配置 I.MX6UL 寄存器的时候需要借助存储器访问指令,一般先将要配置的值写入到Rx(x=0~12)寄存器中,然后借助存储器访问指令将 Rx 中的数据写入到 I.MX6UL 寄存器中。,比如 RAM 中的数据,I.MX6UL 中的。③、将立即数传递到寄存器。
2024-05-10 16:23:24
448
1
原创 Cortex-A7架构基础知识
ARM 架构提供了 16 个 32 位的通用寄存器(R0~R15)供软件使用,前 15 个(R0~R14)可以用作通用的数据存储,R15 是程序计数器 PC,用来保存将要执行的指令。ARM 还提供了一个当前程序状态寄存器 CPSR 和一个备份程序状态寄存器 SPSR,SPSR 寄存器就是 CPSR 寄存器的备份。在这些寄存器中,有些是所有模式所共用的同一个物理寄存器,有一些是各模。注意:这里讲的是 Cortex-A 的内核寄存器组,注意不是芯片的外设寄存器。这里zhong'dian。式自己所独立拥有的。
2024-05-09 17:18:26
759
原创 Makefile的引入和使用
如果我们的工程只有一两个 C 文件还好,需要输入的命令不多,当文件有几十、上百甚至上万个的时候用终端输入 GCC 命令的方法显然是不现实的。优点:上述命令前三行分别是将 main.c、input.c 和 calcu.c 编译成对应的.o 文件,所以使用了“-c”选项,“-c”选项我们上面说了,是只编译不链接。–c main.c”,这行命令很熟悉了吧,就是不链接编译 main.c,生成 main.o,其它两个.o 文件同理。有,因此必须先更新这三个文件。make 会查找以这三个.o 文件为目标的规则并执行。
2024-05-09 16:00:40
817
1
原创 1.正点原子-裸机实验-汇编点灯
个人认为重点内容在于构建整体的概念。,比如输出功能、上拉、速度等等。可以作为其它外设引脚,也就是。引脚使用的话就需要设置。输出高电平或者低电平。
2024-04-29 18:20:17
432
转载 Linux驱动学习路线
入门之后,如果你想从事内核开发、驱动开发,那么可以去钻研几个驱动程序(输入系统、I2C总线、SPI总线等),掌握若干个大型驱动程序后,你对内核的套路就有所了解了,再去研究其他部分(比如进程管理、文件系统)时你会发现套路是如此通用。驱动和内核紧密联系,所以深入驱动避免不了接触内核子系统,所以各位还想更深入的学习Linux内核各个子系统,像内存子系统,调度子系统,网络子系统,中断子系统,进程管理等的推荐笨叔叔的奔跑吧Linux,王利涛的嵌入式自我养成的教程。这些概念无论是对驱动开发,还是对应用开发,都很重要。
2024-04-28 10:17:19
279
1
转载 学习linux驱动开发的方法
实践上和应用层的开发大同小异。例如操作I2C总线上的EEPROM,实践上的读和写操作都有现已封装好的API来完成.而开发者需求做的是了解外设的特性,经过封装好的API对外设进行操作。当然,一个优秀的开发者是即能够做BSP级代码的开发,也能做外设驱动的开发的。例如操作I2C总线上的EEPROM,实践上的读和写操作都有现已封装好的API来完成.而开发者需求做的是了解外设的特性,经过封装好的API对外设进行操作。BSP的开发指的是板级代码的开发,和CPU是密切相关的,例如I2C/SPI Adapter的驱动。
2024-04-28 10:04:47
71
1
原创 S3C2440存储控制器知识总结
1.S3C2440引出27个地址线和32个数据线。因为每个Bank的地址空间为128M,所以在Bank确定之后,只需要27个地址线就能寻址到128M地址空间。因此CPU引出27个地址线和32个数据线。2.除了这27根地址线,S3C2440A还对外引出了8根片选信号线,这样组合起来就能达到1G的物理寻址空间,即0x00000000~0x3FFFFFFF3.由于S3C2440是32位芯片,理论上讲可以...
2018-05-12 21:53:49
763
原创 S3C2440 UART原理
1. UART使用标准的TTL/CMOS电平2. 为了增强数据的抗干扰能力、提高传输长度,通常将TTL/CMOS逻辑电平转换为RS-232电平 S3C2440A 的通用异步收发器(UART)配有 3 个独立异步串行 I/O(SIO)端口,每个都可以是基于中断或基于 DMA 模式的操作。换句话说,UART 可以通过产生中断或 DMA 请求来进行 CPU 和 UART 之间的数据传输。UART ...
2018-05-11 21:10:35
751
原创 S3C2440 ARM芯片时钟体系
S3C2440A 中的时钟控制逻辑可以产生必须的时钟信号,包括 CPU 的 FCLK,AHB 总线外设的 HCLK 以及APB 总线外设的 PCLK。S3C2440A 包含两个锁相环(PLL):一个提供给 FCLK、HCLK 和 PCLK,另一个专用于USB 模块(48MHz)。 图 7-1 显示了时钟结构的方框图。主时钟源来自一个外部晶振(XTIpll)或外部时钟(EXTCLK)...
2018-05-11 20:46:47
462
原创 S3C2440 GPIO控制器
GPIO 全称General Purpose Input Output(通用的输入/输出),通俗的说就是一些引脚可以通过它们输出高/低电平,或者通过引脚读取状态(获得的是高电平还是低电平)。 对于输入,通过读取某个寄存器来确定引脚的电平是高还是低;对于输出,通过写入某个寄存器来让引脚输出高电平或是低电平;对于其他特殊功能,则有另外的寄存器控制它。 S3C2440 : GPxCO...
2018-05-11 17:40:18
1283
空空如也
python画出矩形框之后如何在里面添加文字
2020-03-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人