3.12-3.14
这周把面试题记了c/cARM体系与架构然后Linux驱动记了一半今天完成还差网络编程操作系统下周看完就完成简历简历项目4月投简历知识点积累nand flash和nor flash异同NOR Flash 支持片内执行XIP读取速度快擦除和写入慢容量小、价格高多用于存储程序代码。NAND Flash 不能片内执行擦写速度快容量大、成本低多用于存储数据、文件系统。什么是哈弗结构和芬若依曼结构冯・诺依曼结构指令和数据共用同一存储空间、同一总线取指和取数不能同时进行。哈佛结构指令存储空间和数据存储空间完全分开有独立总线可同时取指和取数效率更高。ARM 大多采用改进哈佛结构什么是anm流水线技术流水线是把一条指令的执行过程拆分为取指、译码、执行、访存、写回等多个阶段。多条指令可以重叠并行执行不用等上一条完全结束从而大幅提高 CPU 指令吞吐率和运行效率。arm有几种工作模式、用户系统普通中断快速中断管理员终止未定义Arm有多少个32位寄存器31 个通用寄存器6 个状态寄存器CPSR、SPSR不同工作模式会使用不同的备份寄存器。Arm处理器有几种工作状态ARM 状态执行 32 位 ARM 指令功能完整。Thumb 状态执行 16 位 Thumb 指令代码密度高节省空间。两种状态可通过指令互相切换。什么是PLLPLL 是锁相环是时钟系统里的关键模块。它能把外部输入的低频晶振时钟倍频成 CPU 内核所需的高频时钟让系统运行在更高频率。中断和异常有何区别异常是 CPU 执行过程中出现的所有非正常 / 需要打断的事件统称包括中断、未定义指令、除零、软中断等。中断是来自外部外设的异步信号属于异常的一种用来通知 CPU 处理外设事件。中断和DMA有何区别中断外设完成操作后通知 CPU由 CPU 负责数据搬运全程占用 CPU。DMA直接存储器访问外设与内存之间直接传输数据不需要 CPU 参与CPU 只需配置和结束处理效率更高。写一个中断服务器需要注意哪些快进快出尽量不做延时、循环、打印等耗时操作。及时清除中断标志位避免重复触发。保护现场注意寄存器压栈与出栈。操作共享资源时注意临界区保护避免重入问题。尽量只做标记、置标志具体逻辑放到主循环处理。为什么FIQ比IRQ快FIQ 优先级比 IRQ 更高。FIQ 有专属私有寄存器 R8~R12进入中断时不需要大量压栈保护现场。FIQ 中断向量在地址最后可直接存放代码省去跳转开销。因此 FIQ 响应更快、延迟更低。什么是大端什么是小端大端模式高字节存放在低地址小端模式低字节存放在低地址Linux指令mkdir -p testecho “666” text.txtecho “666” text.txtcp -r test/ newtestgrep test *filegrep -r test *filegcc (-w,-wall,werror)test.c -o test项目记录BOOT 操作命令之前使用imx6ull就是使用 bootz或bootm来放在tftp服务器来启动内核用了rk3588发现根本不是用这个启动原来是Image 和设备树文件全部打包进 boot.img。现在是吧 boot.img放在tftp服务器用tftp 命令将 boot.img 下载到开发板的 DRAM 中然后使用 boot_fit 命令启动。因为修改就找一个空间来存放取25M空间sysmem_serach 1900000会返回起始地址就可以下到此位置最后boot_fit 实际地址在这个位置启动。bootcmd 是很重要的环境变量。会直接调用 boot_fit 命令来启动 Linux 系统的。编译好SDK根文件在/home/liang/linux_rk3588/kernel/arch/arm64/boot/dts/rockchip/rk3588-atk-devkit.dtsi加入需要的设备节点rk3588_led {compatible atkrk3588-led;reg 0x0 0xFD5F8020 0x0 0x08 /* 引脚复用寄存器 */0x0 0xFD5F9020 0x0 0x08 /* 引脚驱动能力寄存器 */0x0 0xFEC20000 0x0 0x08 /* GPIO 输出数据寄存器 */0x0 0xFEC20008 0x0 0x08 /* GPIO 方向配置寄存器 */ ;status okay;};然后就可以写驱动和app了笔记先到这了如果有错误建议请指正谢谢
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416292.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!