- 博客(116)
- 资源 (1)
- 收藏
- 关注
原创 app调用系统接口示意图
(2)产生异常后,然后再调用接口sys_open()、sys_read()、sys_write()、sys_close(),里面参数:根据文件名判断是普通文件还是设备文件,3.在系统调用接口之上,还存在标准IO:fopen、fread、fwrite、fclose。(1)app访问内核通过调用glibc中的系统调用接口(open()、read()、write()、close()),(3)若是设备文件,找到驱动程序open,调用drv_open(),操作硬件。2. 系统调用是应用程序和系统内核之间的接口。
2024-03-19 17:02:04 240
原创 linux内核
Linux操作系统中,几乎任何东西都可以看作为一个文件,内核中大量使用Kobject等结构体,把一堆非结构化的硬件组织成一种多层次的数据系统。Linux内核是一个庞大而复杂的操作系统的核心,犹如人的大脑一样,处理各种各样的请求,且具备五大模块化功能,其中包括:进程管理、内存管理、文件系统管理、设备控制和网络管理。Linux内核负责进程创建和销毁,并完成进程之间的通信,以及进程的输入和输出;而且,进程管理控制了多个进程对Soc上的一个或者多个CPU资源的使用。
2024-03-14 13:44:23 385
原创 J1939中的PGN和SPN
PDU由数据帧中的ID和数据场组成,数据帧和PDU的对应关系如下图所示。**PS(PDU Specific),特定协议数据单元字段,**当PF的值为0-239时PS表示目标地址(PDU1格式),当PF的值为240-255时PS字段表示组扩展(PDU2格式),且报文只能广播。第一个字节是18,转为二进制是 0001 1000,可以看到优先级是110(对应十进制的6),EDP=0,DP=0。第一个字节是0c,转为二进制是 0000 1100,可以看到优先级是011(对应十进制的3),EDP=0,DP=0。
2024-01-26 14:36:53 3835 1
转载 pcb画图流程
在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f51b4e87acc84abfb50d5ac82793ddec.png)
2024-01-23 17:03:27 258
原创 推挽输出和开漏输出
3.开漏输出:把下面两种状态拿出来,上面mos管都是关闭的,所以可以认为是不存在的。如果芯片控制引脚只能输出5v,但是要控制3.3v芯片引脚。当Q2关闭时,输出高阻态。推:Q1打开,Q2关闭,输出高电平。箭头方向是电流方向,把电流推出去。挽:Q1关闭,Q2打开,输出低电平。箭头方向是电流方向,把电流挽回来。Q2相当于是啥也没接,所以这个模式被称为开漏模式。当Q2打开时,输出低电平。Q2和Q4只要有任意一个打开,输出是低电平。若配置成推挽输出,mos管会被烧毁。Q2和Q4全关闭,输出是高电平。
2024-01-23 11:29:52 532
原创 程序升级过程踩过的坑
1.当在app跳转到boot前(系统复位前),一定要关闭看门狗。防止由app跳转到boot后,由于看门狗继续复位,造成程序刷写失败。3.在boot中一定要先关中断,再重置中断向量表。2.设定看门狗复位周期时,要充分考虑到代码中的最大耗时操作。
2024-01-19 14:37:34 391
原创 ac7811---can1
本例程使用的是快恢复,一旦发生canbusoff后立刻重新初始化can。ac7811官方例程中写的比较全面,有快恢复和慢恢复,可参考。
2024-01-19 11:33:50 464
原创 AC7811---Timer
timer0,timer1是32位计数器,而其他计数器只有16位,则timerConfig0.loadValue的值应合理设置,不应溢出。
2024-01-18 16:03:57 402
原创 C语言基础
函数指针本质是一个指针,其指向一个函数:int (*fun)(int x,int y);//跳转到APP_ADDR开始执行。指针函数本质是一个函数,其返回值为指针:int* fun(int x,int y);四、跳转到某个地址开始执行,一般boot跳转到app尤为常用。
2024-01-18 14:42:05 295
原创 JFlash工具将多个Bin文件或hex文件合并成一个(app+bootloader)
此时地址不能写默认地址:0x0,而是写默认地址0x0 + booloader地址偏移量,当然偏移量可以是实际的地址偏移量(offset),也可以是比实际偏移量大的数据,这个数据需要根据Bootloader程序内部设置而定。2.芯片运行的起始地址:J-Flash工具可以根据选择的芯片类型,自动填充芯片运行的起始地址,比如STM32或者GD32,芯片运行的起始地址为:0X08000000,最后将文件保持:File->save data file as —> “test.hex“或 “test.bin".
2024-01-18 13:01:58 1252
原创 s32DS软件生成HEX/BIN文件设置
Setting里多一个Standard S32DS Create Flash Image,选择子项General,设置下图右上角的Output file format (-O)为Intel HEX或Raw binary,然后点击OK,编译即可。勾上右下角Create flash image。2.重复上面打开操作。
2024-01-18 11:10:08 812
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人