自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

原创 探究欧拉恒等式的美学与数学威力

正如老子所述,“道生一,一生二,二生三,三生万物”,数学作为人类认知自然法则的语言,其数系的不断发展象征着对世界理解的深化。然而,数学不仅仅是对物理实在的抽象,还涵盖了对旋转运动的描述。这一公式直观地揭示了自然指数函数与三角函数在复数领域的统一性,相较于从泰勒级数推导的传统方法,从几何角度出发更能体现其直观美感。所以,欧拉恒等式不仅仅是一个优美的数学定理,更是连接数学多个分支、解决实际问题的核心工具,它充分展示了数学的深远智慧和无比魅力。相同,即回到了原点所在直线的另一侧。代表一族矢量,矢量的角度为。

2024-04-19 16:05:07 744

原创 自然常数“e”:工程中的自然数“1”

自然常数“e”的意义在于:对于单位状态量变化率为固定值(如100%)的系统,它代表了一个单位时间内连续翻倍增长能达到的极限值。例如,在年利率为100%的情况下,一年中无论存款次数多少,最终极限收益为e元。这里强调了状态量变化率与单位状态量变化率的区别,前者关注整体变化趋势,后者则反映局部变化规律,且局部变化往往不受总体状态的影响。:用来描述事物当前状态的量,例如一根竹子的长度为5米,一个人的体重为50千克。:对应于导数的概念,即在无穷小的时间间隔内,状态的增量与时间增量之比。最后,将上述极限的结果乘以。

2024-04-16 09:11:23 799

原创 ubuntu怎么按安装时间显示已安装的软件

另外,有一些第三方工具或者专门为此目的编写的脚本可能提供了更方便的方式来按安装时间查看已安装软件。通常,软件包的安装时间记录在系统的日志文件中,尤其是与包管理相关的日志。如果想查看所有已安装软件包的安装时间,并按时间排序,可以编写一个脚本或使用awk、sed、sort等命令组合来处理日志文件。综上,虽然Ubuntu系统本身并未直接提供按安装时间显示已安装软件的命令,但通过分析包管理日志文件,可以获取到所需的信息。运行此脚本会生成一个表格,列出了每个软件包及其对应的安装时间(时间戳格式),并按安装时间排序。

2024-04-07 08:44:46 452

原创 你管这破玩意叫网络

好了,总结一下,到目前为止就几条规则从各个节点的视角来看首先我要知道我的 IP 以及对方的 IP通过子网掩码判断我们是否在同一个子网在同一个子网就通过 arp 获取对方 mac 地址直接扔出去不在同一个子网就通过arp 获取默认网关的 mac 地址直接扔出去我收到的数据包必须有目标 MAC 地址通过 MAC 地址表查映射关系查到了就按照映射关系从我的指定端口发出去查不到就所有端口都发出去我收到的数据包必须有目标 IP 地址通过路由表查映射关系。

2024-03-29 22:13:10 995

原创 Ubuntu中如何卸载软件

在Ubuntu系统中要干净地卸载软件,意味着不仅移除软件本身,还包括它的配置文件以及可能存在的依赖关系。

2024-03-08 23:35:32 2750

原创 Zynq-7000 AP SoC的设计中,如何避免CPU0和CPU1对共享资源的访问冲突

通过这些措施,设计确保了两个CPU可以独立运行各自的操作系统和应用程序,同时通过共享资源进行必要的通信,而不会发生资源访问冲突。这种设计策略有助于提高系统的稳定性和可靠性。

2024-01-03 10:23:57 513

原创 Linux 内核启动流程

内核版本:4.14.0。

2023-12-31 14:54:39 371

原创 Cortex-A9 架构

在上表中,除了User(USR)用户模式以外,其它8种运行模式都是特权模式,在特权模式下,程序可以访问所有的系统资源。这几个运行模式可以通过软件进行任意切换,也可以通过中断或者异常来进行切换。大多数的应用程序运行在用户模式,该模式下某些被保护的系统资源是不能被访问的,要想访问这些受限的资源就必须进行模式切换。不过用户模式是不能直接进行切换的,用户模式下需要借助异常来完成模式切换,当要切换模式的时候,应用程序可以产生异常,在异常的处理过程中完成处理器模式切换。

2023-09-28 16:14:29 2065 1

原创 块设备驱动模板

内核版本:4.14.0。

2023-08-20 17:59:01 133

原创 Linux 块设备操作函数

一样,块设备也有操作集,为结构体。

2023-08-06 17:08:14 415

原创 USB 接口简介

USB全称为Universal Serial Bus,翻译过来就是通用串行总线。由英特尔与众多电脑公司提出来,用于规范电脑与外部设备的连接与通讯。目前USB接口已经得到了大范围的应用,已经是电脑、手机等终端设备的必配接口,甚至取代了大量的其他接口。比如最新的智能手机均采用USB Typec取到了传统的3.5mm 耳机接口,苹果最新的MacBook只有USB Typec接口,至于其他的HDMI、网口等均可以通过USB Typec扩展坞来扩展。

2023-07-31 11:07:23 675

原创 CAN协议

CAN总线以帧的形式发送数据,但是最终到总线上的就是“0”和“1”这样的二进制数据,这里就涉及到了通信速率,也就是每秒钟发送多少位数据,前面说了 CAN2.0最高速度为1Mbps/S。图中,单元1和单元2同时开始向总线发送数据,开始部分他们的数据格式是一样的,故无法区分优先级,直到T时刻,单元1输出隐性电平,而单元 2输出显性电平,此时单元1仲裁失利,图中所有的CAN节点单元都采用CAN_H和CAN_L这两根线连接在一起,CAN_H接CAN_H、CAN_L接CAN_L,CAN总线两端要各接一个120Ω的。

2023-07-27 11:31:18 101

原创 I2S 总线接口

I2S(Inter-IC Sound)总线有时候也写作IIS,I2S是飞利浦公司提出的一种用于数字音频设备之间进行音频数据传输的总线。和I2C、SPI这些常见的通信协议一样,I2S总线用于主控制器和音频CODEC芯片之间传输音频数据。另外,有时候为了使音频CODEC芯片与主控制器之间能够更好的同步,会引入另外一个叫做MCLK的信号,也叫做主时钟或系统时钟,一般是采样率的 256倍或384倍。上图中通道0 是LRCK时钟,通道1 为BCLK,通道2 是DACDATA,通道3 是MCLK。

2023-07-19 10:39:31 1116

原创 IIC总线框架+Input子系统驱动模板

内核版本:4.14.0。

2023-07-16 21:59:13 147

原创 platform总线框架+FramBuffer设备驱动框架模板

内核版本:4.14.0。

2023-06-30 18:42:18 192

原创 用zImage生成image.ub的方法

【代码】由zImage生成image.ub方法。

2023-06-30 18:31:50 459

原创 Linux设备树模板

内核版本:4.14.0。

2023-06-22 12:20:44 56

原创 platform总线框架+PWM设备驱动框架模板

基于设备树、platform虚拟总线架构。内核版本:4.14.0。

2023-06-21 23:49:16 72

原创 SPI总线框架+通用字符设备驱动模板

内核版本:4.14.0,基于设备树。

2023-06-20 19:17:00 144

原创 Platform虚拟总线框架与物理总线框架的理解

就会查找与之匹配的设备(通过设备树注册),如果有的话就将两者联系起来。当我们向系统注册一个驱动(包括控制器驱动和设备驱动)的时候,

2023-06-20 10:53:11 121

原创 SPI(Serial Perripheral Interface)

从上图可以看出,SPI的时序图很简单,不像I2C那样还要分为读时序和写时序,因为SPI是全双工的,所以读写时序可以一起完成。图中,CS片选信号先拉低,选中要通信的从设备,然后通过MOSI和MISO这两根数据线进行收发数据,MOSI数据线发出了0xD2这个数据给从设备,同时从设备也通过MISO线给主设备返回了0x66这个数据。SPI是Motorola公司推出的一种同步串行接口技术,是一种高速、全双工的同步通信总线,SPI时钟频率相比I2C要高很多,最高可以工作在上百MHz。

2023-06-19 18:30:55 180

原创 设备树之#address-cells、#size-cells、#interrupt-cells

属性值,一般reg属性都是和地址有关的内容,和地址相关的信息有两种:起始地址和地址长度,有了这两个属性,子节点中的"reg"属性就可以描述一块连续的地址区域了;是中断控制器中的属性,和#address-cells、#size-cells一样类似,表示此中断控制器下设备的。的设备节点中,用于描述子节点的地址信息。属性中描述中断信息的元素所用字的数量。这两个属性的值都是无符号32位整形,组合表示一个地址范围,其中。表明了子节点应该如何编写。这两个属性可以用在任何。这个字段所占用的字长。

2023-06-19 15:15:33 1677

原创 IIC总线框架+通用字符设备驱动模板

内核版本:4.14.0,基于设备树。以读写实时时钟(RTC)为例。

2023-06-17 21:45:02 83

转载 镁光(Micron)存储器根据丝印找具体型号(datasheet)的方法

的DDR3或者SPI NAND FLASH,会发现丝印不是具体型号,是FBGA Code,通过这个可以在上述网址搜到产品的完整型号!譬如上图是挂在FPGA上的DDR3,第二行是“D9PTK”芯片的确为MT41K128M16JT-125:K,正啊!其实上述询问代理镁光芯片的FAE就能获知有这么一回事。看了都有不知道什么型号的DDR芯片。的数字代表了产地等生产信息。你学到东西了吧,昂?你学到东西了吧,昂?

2023-06-12 18:14:32 1862 1

原创 platform总线框架+Input子系统驱动模板

基于设备树、platform虚拟总线架构、GPIO子系统、GPIO按键。内核版本:4.14.0。

2023-06-04 18:58:43 107

原创 Linux 之 中断使能与禁止

函数将全局中断打开了。此时才过去2+3=5秒的时间,然后全局中断就被打开了,此时A任务要关闭10S全局中断的愿望就破灭了,然后A任务就“生气了”,结果很严重,可能系统都要被A任务整崩溃。上面三个函数都是使能或者禁止某一个中断,有时候我们需要关闭。用于使能和禁止指定的中断,irq就是要禁止的中断号。关闭全局中断10S,当关闭了2S的时候B任务开始运行,B任务也调用。函数用于禁止中断,并且将中断状态保存在。关闭全局中断3S,3秒以后B任务调用。用于使能当前处理器中断系统,用于恢复中断,将中断到。

2023-05-31 21:09:05 1523

原创 Linux 之 del_timer 和 del_timer_sync

函数用于删除一个定时器,不管定时器有没有被激活,都可以使用此函数删除。:0,定时器还没被激活;1,定时器已经激活。:0,定时器还没被激活;1,定时器已经激活。

2023-05-31 20:54:52 837

原创 platform总线框架+misc设备驱动框架简单模板

基于设备树、platform虚拟总线架构、GPIO子系统。内核版本:4.14.0。

2023-05-28 18:25:21 101

转载 xilinx zynq boot 使用tfpt加载uboot+固化到flash+使用JTAG 模式 U-boot 添加python支持

已经安装vivado 启动SDK工具,打开了Ethernet控制已经有petalinux生成的Boot.bin,zynq_fsbl.elf,image.ub使用SDK烧写Boot.bin,zynq_fsbl.el在电脑端配置tftp32的server绑定IP到192.168.1.104启动板子进入ZynpMP提示符,输入以下命令:setenv serverip 192.168.1.104setenv ipaddr 192.168.1.101tftpboot 0x30000000 image.ubbo

2023-05-28 16:04:40 1295 1

原创 PL读不到PS写入DDR的数据

(按已知的信息,CPU1会不使能L2 Cache)。CPU1往DDR中写数据后用。把CPU1中的相关代码放到CPU0中运行,PL能读到DDR中的相关数据。初步分析可能与L2 Cache有关,具体原因暂不明,欢迎留言指导。函数将数据回写到DDR,但是随后PL在DDR中读不到相关数据。设置,将L2 Cache等分给两个CPU使用。CPU0的L2设置默认,CPU1设置。平台:ZYNQ7020。

2023-05-24 21:10:33 1368

原创 platform总线框架+LED设备驱动框架简单模板

内核版本:4.14.0,基于设备树,基于platform虚拟总线架构。

2023-05-21 20:41:18 72

转载 Ubuntu16.04版本使用图形化界面设置静态ip

我们使用的电脑一般连接路由器,默认情况下使用DHCP获取ip地址。在开发的时候,尤其是在跨平台设备之间,有时候路由器会给你重新分配ip地址,会导致例如在移植uboot时设置123的环境参数无效,造成不便。因此需要把ubuntu下的IP地址写死。

2023-05-21 20:31:03 1807

原创 platform总线框架+通用字符设备驱动模板

内核版本:4.14.0,基于设备树。

2023-05-11 20:03:23 114

转载 ZYNQ petalinux系统启动文件固化到FLASH

petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force 生成启动文件。//等待ScureCRT传递数据;所以需要把image.ub重新命名为image.ub.bin,然后再烧录( Xilinx Tools->Program Flash)(2)将拨码开关设置为FLASH启动模式,烧录image.ub文件,因为Image file只能选择.bin或者.mcs文件,

2023-05-02 10:52:12 1716

原创 u-boot启动过程中打印BOOTP broadcast问题解决

是引导程序协议,也称为自举协议,用于系统引导过程,是DHCP的前身,BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址,即动态获取IP地址,详见。在图形交互界面的-> Subsystem AUTO Hardware Settings -> Ethernet Settings位置取消自动获取IP的选择。工具:petalinux2018.3;在petalinux工程的根目录,以。u-boot版本:2018.01。在u-boot启动过程中打印。,如下图,非常耗时间。

2023-05-01 21:27:37 1493 2

原创 GPIO子系统、Pinctrl子系统和Input子系统

有gpio驱动程序,那必然也有pinctrl驱动程序,pinctrl驱动程序中实现了PIN的配置方法并,并注册到pinctrl子系统,所以pinctrl驱动程序就负责实现配置PIN的底层代码(主要就是寄存器控制),并注册到内核pinctrl子系统中由pinctrl子系统进行统一管理。Linux内核针对PIN的(复用)配置推出了pinctrl子系统,对于GPIO的配置推出了gpio子系统,所以说到这里就知道了,pinctrl子系统是内核中专门用于管理、配置PIN的一套子系统。Pinctrl子系统。

2023-05-01 15:25:57 268

原创 Linux字符设备之IO简单读写驱动模板

内核版本:4.14.0,基于设备树。

2023-05-01 13:46:39 74

转载 RLC电路,帮助你轻松理解“阻抗”的概念

可以看到,RLC三者的电压幅度峰值,如果全部加起来是大于电源电压的幅度峰值10V的,之所以这样,因为RLC各自的电压在相位上有差异,在某个具体的时间点(t)上此消彼长,所以加起来不会大于电源电压的幅度峰值10V。这方面如果容易搞混,可以从源头去理解,电感的电流不能突变,先变化的是电压,呈现电感特性(XL>XC)的感性电路亦是如此;可以看到L、C上电压极性相互,相互抵消,所以L、C的组合相当于是短路的。通过前文讲解,看到在计算电路阻抗的时候,会先求出XL(感抗)与XC(容抗)之差,得到电路的X(电抗)大小。

2023-04-24 13:45:42 2446 1

原创 地址映射及IO内存访问

我们必须得到0xE000A000这个物理地址在Linux 系统里面对应的虚拟地址,这里就涉及到了物理内存和虚拟内存之间的转换,需要用到两个函数:ioremap和iounmap。对于32位的处理器来说,虚拟地址范围是2^32=4GB,例如CPU搭配的是512MB的DDR3,对于ZYNQ来说一个寄存器是 4字节(32位)的,因此映射的内存长度为4。,虚拟地址范围比物理地址范围大的问题处理器自会处理,这里我们不要去深究,因为MMU是很复杂的一个东西,后续有时间的话正点原子Linux团队会专门做MMU专题教程。

2023-04-22 15:14:04 710

原创 Linux之printk

如果使用printk的时候不显式的设置消息级别,那么printk将会采用默认级别CONFIG_MESSAGE_LOGLEVEL_DEFAULT,CONFIG_MESSAGE_LOGLEVEL_DEFAULT默认为4。的最大区别,可以通过消息级别来决定哪些消息可以显示在控制台上。默认消息级别为4,4的级别比 7 高,所示直接使用printk输出的信息是可以显示在控制台上的。控制着哪些级别的消息可以显示在控制台上,从注释可知此宏默认为7,意味着只有优先级高于7的消息才能显示在控制台上。

2023-04-21 15:26:25 322

xapp1078-amp-linux-bare-metal 中文版

xapp1078-amp-linux-bare-metal 中文版

2023-06-16

c primer plus第6版第8章编程练习第8题参考答案

c primer plus第6版第8章编程练习第8题参考答案。基本功能都能实现。唯一的缺陷是92会显示成92.0。

2020-06-02

c primer plus第6版第7章编程练习第11题编写购物程序参考答案

c primer plus第6版第7章编程练习第11题编写购物程序参考答案。本人初学者,一开始编老是有错误,参考答案也找不到,后自己花了点时间给编成功了!

2020-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除