自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 civac和cisw是不一样的

上面这种情况:如果符号表比较小,装载符号表不会导致L1L2 evict,所以执行civac和cisw是一样的,但是如果符号表比较大的时候,装载符号表会产生L1L2cacheline的evict,这时对于evict的地址对应的cahceline, L1L2是clean状态,L3是M状态,这时如果用cisw,L3的数据是不会flush到ddr的,所以导致会导致切换到non secure状态后,读不到对应部分函数的符号表信息。2. 执行dc civac,把所有data区的数据flush到ddr。

2024-12-10 11:55:20 220

原创 pcie ATS and PRI

2. pri是为了解决dma的时候不用先把所有的数据都放到memory,而是通过pcie 设备发出page request给rc,rc的smmu再实现把所有的页都准备好放到pri queue中,然后在通过ep可以进行dma了。1. ats是把解决本地smmu的tlb无法很好的解决多个pcie设备地址命中的问题,所以把tlb的功能放到远端的pcie设备端的ATC。

2024-12-02 17:28:08 392

原创 civac和cisw是不一样的

上面这种情况:如果符号表比较小,装载符号表不会导致L1L2 evict,所以执行civac和cisw是一样的,但是如果符号表比较大的时候,装载符号表会产生L1L2cacheline的evict,这时对于evict的地址对应的cahceline, L1L2是clean状态,L3是M状态,这时如果用cisw,L3的数据是不会flush到ddr的,所以导致会导致切换到non secure状态后,读不到对应部分函数的符号表信息。2. 执行dc civac,把所有data区的数据flush到ddr。

2024-12-02 17:23:44 155

原创 newlib

【代码】newlib。

2024-12-02 17:13:38 130

原创 pcie Error Signaling and Logging

特别注意方向:1. error message rc只能接受,ep只能发送。

2024-11-27 07:06:15 574

原创 pcie枚举过程

在 PCIe 枚举过程中,是一种用于访问设备的的机制。在每个设备的配置空间中,系统通过 ECAM 访问设备的配置信息,并完成设备枚举与资源分配。对于你的例子(RC 有两个 Root Port,每个 Root Port 各挂载一个 Endpoint),是操作系统或固件的一部分,在系统启动时由固件(如 BIOS 或 UEFI)来设定和管理。

2024-11-16 08:28:31 1082

原创 ocm模式启发的n2的存储规划,printf输出有buffer

n2的printf函数输出有个buffer,碰到\n才会输出,否则要等buffer满了才会输出,如果不需要buffer,需要调用函数禁用buffer:setbuf(stdout, NULL);

2024-11-11 00:10:58 244

原创 civac和cisw是不一样的

上面这种情况:如果符号表比较小,装载符号表不会导致L1L2 evict,所以执行civac和cisw是一样的,但是如果符号表比较大的时候,装载符号表会产生L1L2cacheline的evict,这时对于evict的地址对应的cahceline, L1L2是clean状态,L3是M状态,这时如果用cisw,L3的数据是不会flush到ddr的,所以导致会导致切换到non secure状态后,读不到对应部分函数的符号表信息。2. 执行dc civac,把所有data区的数据flush到ddr。

2024-11-11 00:08:30 173

原创 arm 汇编技巧

先base= base+offset, 再用base。先用base,再base= base+offset。

2024-11-11 00:03:59 279

原创 POU/POC

2024-11-11 00:01:18 133

原创 lds文件

5. 如果有定义memory region,但是找不到合适属性的region,或者能找到合适的region,但是没有之前没有section定位到该region,则LMA=VMA;第1种不定义memory region,必须使用ld默认的段,比如:.text,.bss, .data, .rodata等,不使用自定义的段,不适用绝对定位。2. 如果section是not allocatable的,则LMA=VMA;2. 没有指定地址的,如果有指定region,就放在该region下的free位置。

2024-11-10 23:49:34 440

原创 armv8架构

store exclusive只有当前的pe的local和global monitor的状态机都处于marked as exclusive access状态时,才能成功store,并返回0状态值,且使得所有pe的当前地址状态都转为open状态。load exclusive只能对当前的pe操作的一个地址转为exclusive状态,其他地址如果为exclusive,会被转为open状态。load exclusive只对当前的pe的状态机起作用,对其他pe的状态机没有状态。

2024-11-10 23:48:56 429

原创 linux 常用命令

2. grep -w “name”file.c //没有-r,后面必须接文件名,否则一直处于假死状态。在bash下vimdiff

2024-11-10 23:46:30 290

原创 vscode

先查找你要定义的快捷键,确保没有使用的情况下,在查找你要修改的快捷键,点击左边的笔状的编辑图标。@ ,用于显示和跳转文件中的“符号”(Symbols),在@符号后添加冒号:则可以把符号们按类别归类。ctrl+shift+o直接进入。3. f1 或 Ctrl + Shift + P 打开命令面板,默认显示 >(大于号) ,可以选择命令。Ctrl+p 用文件名来搜索文件,选中文件后,按住ctrl+enter可以分屏显示。> 可以选择命令, 等同于 f1 或 Ctrl + Shift + P。

2024-11-10 23:45:46 376

原创 git相关

1. git checkout -t -b vdk origin/vdk 创建和切换到新的vdk分支。5. 修改fork仓库的commit信息 ,,,尽量只修改当前的这条信息,rebase尽量少用。或者git branch -u origin/dev,默认本地当前分支。等价于git branch -u origin/dev dev。网站二:https://gitclone.com/网址一:https://hub.nuaa.cf/4. 解决原始仓库和fork仓库冲突的方法。

2024-11-10 23:37:48 712

原创 linux 操作相关

解压:tar -xvf 1.tar.gz 结果不带有test路径, 可以mkdir test, 然后在tar -xvf 1.tar.gz -C ./test/, 制定到test目录。./run.sh = bash ./run.sh //启动一个新的子shell,执行,变量在当前shell无效。压缩 ./test/下的所有文件,不包含.开头的隐形文件,解压:tar -xvf 1.tar.gz 结果带有test路径。rdn2_new 自建的,编译不过,原因是编译过程中联网失败。

2024-11-10 11:06:16 322

原创 gnu lds的规则语法

gnu lds文件的语法规则和误区

2022-06-27 06:36:39 279

原创 把程序从armclang porting到arm gnu gcc编译器

把程序从armclang porting到arm gnu gcc编译器

2022-05-26 20:14:24 949

原创 常用技术

about gcc/gcc++$:sudo apt-cache search "python"$:sudo apt update$:sudo apt upgrade$:sudo apt install aptitudesptitude install ... will auto install depends $:sudo apt-cache depends build-essential$:sudo aptitude install build-essentialbuild-essen

2021-03-18 11:26:42 327

原创 如何学英语(先练听力)

再谈如何学习英语--youtube的胖子1. 不要均衡学习英语,学习目的是应用不是考试2. 通过轻松构建大量听力词汇,解决语言的核心---听说,而不是听说读写一起学习,3. 如何训练听力:a,看美剧,进入场景式学习,b. kindle app and podcast, c, youtube等等4. 学自己感兴趣的领域的听力材料,5. youtube,kindle,等都可以...

2019-09-30 08:54:35 418

原创 你为什么要创业

网络上很多毒鸡汤,鼓吹大家都去创业,媒体也号召大家全民创业,很多人盲目辞职下海,结果把积蓄亏的一干二净,有的因此欠一屁股债,这篇文章我就讲讲,什么人适合创业。 刚毕业的大学生,大多数都有一个创业的梦想,不少在大学就开始创业的,比如著名的facebook,windows,大疆,但是其实普通大学生是非常不适合出来创业的,因为创业是需要全方位的才能,大学生刚毕业是一张白纸,进...

2019-09-29 15:02:33 385

原创 youtube的使用体会

这个博文我不打算再写算法,最近常在上下班坐地铁的时间看看youtube,有以下几点体会:1. youtube之所以能成为世界最大的视频网站,当然是因为视频能给制作者带来利益,只有利益驱动才能成就那么庞大的视频网站,所以,大家看每个视频的时候别忘了思考一下制作者是如何盈利的。2. youtube有大量优秀的免费的视频教程,在国内网站上找不到的。是开拓眼界的好方式。我最近就重拾学习英语的兴趣,...

2019-09-24 09:04:11 3128 1

原创 如何有效地学习知识,如何才能全面发展?

好久没来更新博客,最近时间比较充裕,看了不少其他方面的东西,经济的,历史的,金融的,互联网的,创业的,名企历史,心理学的,等等,形式不限,网文,书籍,视频各类都有。闲来没事,琢磨出一下道理:人们获取知识主要是以下三种来源:向书籍(包括视频,网文)学习,向高手学习,从实践中学习。但是不同的知识学习的效果却千差万别。 第一类是脑力技能类知识,比如编程,仅仅通过看书也能学到8成功力...

2019-08-29 15:56:16 351

原创 车联网obd终端盒子(惯性导航的陀螺仪量程问题)

这次谈谈陀螺仪的工程问题,采样st的lsm6d3的芯片做陀螺仪算法时,发现如下问题:当陀螺仪的量程设置为245dps时,发现通过陀螺仪计算出来的旋转矩阵下求得的加速度值和实际加速度计测得加速度值有差异。从实验数据仿真来看,是因为陀螺仪采样到的角速度值存在突变时,计算加速度和加速度实测加速度值产生误差。仔细研读lsm6ds3的datasheet,发现问题的根本原因是因为陀螺仪的AD采样之...

2018-08-22 14:42:22 1308

原创 车联网算法(陀螺仪算法的小角度旋转与旋转顺序无关)

最近做陀螺仪算法,把几种网络上可以找到经典算法都实现了一遍,4元数,旋转矩阵,卡尔曼滤波,互补滤波。具体方法我就不在这里转载其他大咖的文章,这些文章已经有非常详细的介绍,我只说说我在研究过程中的几个困惑,相信不少人跟我有同样的困惑,而且这些困惑在baidu上很难找到答案。 第一个困惑:大角度旋转,x,y,z旋转顺序是不可交换,小角度旋转,x,y,z旋转顺序无关。上面...

2018-08-08 09:41:05 3661

原创 车联网算法之概述(一)

2016年,很感谢同学的引领,进入同学公司工作,从此进入了车联网行业,刚入公司,算法正好缺人,让我试试,我从一个行业门外汉,花了3,5个月时间居然把算法实现了,而且效果非常好,有趣的是,我居然还做成了大家眼中的算法“大牛”,从此一发不可收拾,2~3年做了7,8个发明专利,全是算法相关的:驾驶行为算法,碰撞算法,检重算法,gps漂移过滤算法,惯导算法,状态监测算法等等。 ...

2018-07-25 14:55:57 4139 1

原创 写写我的码农人生

2004年毕业以来,至今工作13个年头了,大部分时间都是做的码农工作,从c,汇编,verilog,perl,c++等。一直有想法在网络上留下点痕迹,自己的职业生涯也走了不少弯路,也许对他人有些启发,技术非技术的,不管对他人有用没用,或者被人当做瞎扯蛋也没关系,这种没啥“钱”途的事情,完全出于个人喜好,也许我的孩子以后还可以看看(毕竟硬盘很容易坏掉),希望得到大家的支持,以人为镜,可以知得失。有...

2017-08-23 18:45:36 512 1

卡尔曼滤波设计

非常详细的介绍了卡尔曼滤波器

2016-03-17

坐标旋转变换

收藏的好资料共享给大家

2016-03-17

空空如也

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

TA关注的人

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