![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
平台开发
Blank_time
目前从事嵌入式研发工作,存储行业,对操作系统感兴趣
展开
-
【平台开发】MTK6833——cache操作记录
2)写数据至mem中或者从存储中读数据时,需要采用clean and invalidate操作,从mem中重新加载数据至cache中。CPU 并不会直接和每一种存储器设备直接打交道,而是每一种存储器设备只和它相邻的存储器设备打交道。1)写数据至存储中或者从mem中读数据时,需要采用sync操作,同步cache中的数据;上图中clean和invalidate对应了4.中的操作1)和2)。sync操作是,使得cache中数据同步至mem中。ate操作,从mem中重新加载数据至cache中。原创 2024-05-08 18:15:03 · 181 阅读 · 0 评论 -
【平台开发】MTK6833 实现lk下CQE接口移植 - cmdq irq
寄存器CQIS,CQDQS等均为0,CQTCN为任务完成寄存器看到置1,CQTERRI检测到8000错误。任务执行后,没有触发对应中断,伴有错误发生,但任务完成标志位能检测到。原创 2024-04-28 17:33:31 · 205 阅读 · 0 评论 -
【平台开发】MTK6833 实现lk下CQE接口移植 - cmdq request
cmdq_prep_task_desc: 设置task_desc参数。cmdq_set_tran_desc: 设置tran_desc参数。1)配置task_desc和tran_desc参数。原创 2024-04-28 17:31:00 · 214 阅读 · 0 评论 -
【平台开发】MTK 6833 实现lk下CQE接口移植 - cmdq init & cmdq enable
对应的硬件接口名称为CQ HCI,Command Queuing Host Controller Interface。2.主要函数部分梳理:(因LK中CMDQ代码缺失且为软件CMDQ,因此决定从kernel中移植硬件CMDQ代码,在LK中实现相应功能)b)设置CQCFG Task Descriptor size,任务描述符大小,用于保存任务参数。其中desc_size为task,data_size为transfer。主要为申请初始内存,设置cq_host结构体以及mmc_slot槽位。原创 2024-04-25 15:30:03 · 178 阅读 · 0 评论 -
【平台开发】uboot镜像过大问题
因为,测试SD卡需要将uboot放置在eMMC中,而eMMC boot区域为4M,因此uboot最大只能为4M。在BL2中对uboot.bin的大小限制如果是1MB, 那么假如UBOOT.bin大小超过1MB, 就会出现boot失败的情况。XU4的uboot大小目前被限制在1MB,限制的原因主要是在bl2.bin.harkernel.1mb_uboot.uboot 启动顺序:BL1.bin->BL2.bin->UBOOT.bin->tzsw.bin。(2)裁剪uboot, 将一些不需要的配置去掉。原创 2024-04-25 15:20:04 · 323 阅读 · 0 评论 -
【平台开发】MTK6833——eMMC powercycle接口调试
由上可知,eMMC VCC由VEMC_PMU直接控制,VCCQ由两路可选择电压控制。但是VIO18控制IO口,涉及众多IO电压,因此不能使用VIO18控制eMMC VCCQ电压。**不足之处是:**若有case涉及拉低vccq电压至0V,恢复电压后,需要重新设置相关寄存器,因为这相当于做了一次HW RST操作。笔者的板子结构如下,需要在板子上将以下电阻进行修改,红色区域为需要去掉的电阻,绿色区域为需要焊接上的0R电阻。VCCQ控制:电压配置:1.3V-2.0V ,步进50mV。原创 2024-04-09 16:56:19 · 319 阅读 · 0 评论 -
【平台开发】MTK6833——eMMC boot operation with ack接口调试
上图可以看到,正确地设置了频率,ddr模式等,并接收到boot ack和boot data。同时,传输数据时,DMA能成功接收到事件中断。boot operation成功。设置完host,对于card也需要设置一致的值,利用switch命令设置传输buswidth和ddr模式。接收参数为是否开启DDR模式,主机传输模式或者开启DMA模式,以及传输的频率。初始化过程,包括获取host和card,以及host init过程。原创 2024-04-01 13:58:26 · 285 阅读 · 0 评论 -
【平台开发】SD速度切换调研
(9) 如果 1.8V 切换成功,则卡驱动 DAT[3:0]到 1.8V 高电平并维持至少一个时钟周期,然后停止驱动(三态)。DAT[3:0]应该在 SDCLK 产生后1ms 内变为高电平,而主机在 SDCLK 开始后 1ms 检查DAT[3:0]是否变为高电平,也就是说 1ms对卡是最大时间而对主机是最小时间。(4) 主机停止 SDCLK,卡应在主机停止 SDCLK 后开始切换电压。(7) 卡在检测到 SDCLK 后,则驱动 CMD 信号为 1.8V 高电平并维持至少一个时钟周期,然后停止驱动(三态)。原创 2024-03-29 10:36:07 · 924 阅读 · 0 评论 -
【平台开发】MTK6833——add harware command queue function in lk
CQE实现主要步骤(参考协议)Host system结构command queue任务结构:2.Theory of Operation(操作理论)init(初始化)初始化,enable CQ配置CQCFG Task Descriptor size配置CQTDLBA(Command Queuing Task Descriptor List Base Address )和CQTDLBAU(Command Queuing Task Descriptor List Base Address原创 2024-03-28 11:57:51 · 492 阅读 · 0 评论