柴鸡是什么鸡| 春肖是什么生肖| 手热是什么原因| 什么的北风| 土固念什么| 周瑜为什么打黄盖| 皮下脂肪瘤挂什么科| 韩国买什么东西划算| 什么动物睡觉不闭眼睛| 秋天能干什么| 红斑狼疮是什么症状能治好吗| 属蛇的人适合佩戴什么| 属龙的今年要注意什么| 吃什么食物补铁| 梦见河水是什么意思| 挑眉是什么意思| 1986年属什么生肖| 1996年五行属什么| 流氓兔什么意思| 九五至尊是什么生肖| 颜狗是什么意思| edenbo是什么牌子| 仙人跳是什么意思啊| 口疮是什么原因引起的| 猫咪来家里是什么寓意| 外围是什么| 出现幻觉是什么原因引起的| 青海有什么湖| choker是什么意思| 什么梳子梳头最好| 什么的手| 喝普洱茶有什么好处| 桑葚什么时候成熟| 白羊座什么性格| 被弹颏是什么意思| 黑曜石属于五行属什么| 什么治失眠最有效| 怀孕周期是从什么时候开始算的| 5月24号是什么星座| 无印良品是什么意思| 阴唇内侧长疙瘩是什么原因| 甘油三酯高用什么药好| 左腿酸痛是什么原因| omega什么意思| 平均血红蛋白含量偏低是什么意思| 孔雀喜欢吃什么食物| 1998属什么生肖| 一月18号是什么星座| 肝风是什么意思| 今日农历是什么日子| 七八年属什么生肖| 稍高回声是什么意思| 鲜牛奶和纯牛奶有什么区别| 黑毛茶是什么茶| 伤口吃什么消炎药| 1973年属牛的是什么命| 白带是什么样的| 劲爆是什么意思| gfr医学上是什么意思| 超声介入是什么意思| 附子是什么| c反应蛋白高是什么意思| 桑黄有什么药用价值| 银行卡睡眠状态是什么意思| 梦见孩子丢了是什么意思| 身骑白马是什么方言| 取环后吃什么恢复子宫| 莫须有什么意思| 施食是什么意思| 大电念什么| sm什么意思| 胃寒吃什么中成药| 宝宝吃益生菌有什么好处和坏处| 名字是什么意思| 赵本山什么时候去世的| 考护士证需要什么条件| 反复呕吐是什么病症| 茉莉花茶适合什么季节喝| 脾虚湿盛吃什么药| 成都市市长是什么级别| 7月23日什么星座| 1月出生是什么星座| 胸外扩是什么样子| 杏花什么颜色| 樱桃有什么营养价值| 皮肤干燥是什么原因| 舌头发紫是什么原因| 全组副鼻窦炎什么意思| bgo是什么意思| 甲胎蛋白什么意思| 67是什么意思| 外阴瘙痒什么原因| 岑岑是什么意思| 什么时候三伏天| 羊水是什么颜色的| 血小板低吃什么水果好| 手足口吃什么药| 什么药清肺最好| 血小板为什么会减少| 造影是什么检查| 来大姨妈吃什么好| 今天突然拉稀拉出血什么原因| 大校相当于政府什么官| 滴蜡是什么意思| c2能开什么车| 长是什么意思| 疟疾病的症状是什么样| 什么的街道| 印度为什么用手吃饭| 拉屎臭是什么原因| 穆赫兰道到底讲的什么| 什么是漂洗| 送男人什么礼物最难忘| 请丧假需要什么证明| hpv45型阳性是什么意思| 心肌缺血吃什么药效果最好| 六月份适合种什么蔬菜| 高危性行为是什么意思| 肠胃炎可以喝什么饮料| 偏光镜片是什么意思| 手掌中间那条线是什么线| 石花膏是什么做的| 9月什么星座| 脑内散在缺血灶是什么意思| ut是什么| 有什么好听的名字| 元五行属性是什么| 盐碱地适合种什么农作物| 砭石是什么东西| 皮蛋和什么不能一起吃| 经信委是干什么的| 4月19是什么星座| 521是什么星座| 个人送保是什么意思| 吃得什么填词语| 框框是什么意思| 初潮什么意思| 难以入睡是什么原因引起的| 异曲同工是什么意思| 中央民族大学什么档次| 下面潮湿是什么原因引起的| 红枣为什么要去核煮| 湿疹不能吃什么| 早泄吃什么药见效| 祖马龙是什么档次| 七个月宝宝能吃什么水果| 淀粉酶高是什么原因| 什么蔬菜吸脂减肥| app是什么意思啊| 11月有什么节日| 木耳中毒什么症状| 老想放屁是什么原因| 洒水车的音乐是什么歌| 长痘痘涂什么药膏| 花椒有什么功效与作用| 钾低吃什么| 白化病是什么原因引起的| 边界欠清是什么意思| 可乐饼为什么叫可乐饼| 儿童嗓子哑了什么原因| 六月初一是什么日子| 淋巴发炎挂什么科| 客服是什么意思| 睡眠不好吃什么药| 梦见自己给自己剪头发是什么意思| 上海什么时候解放的| 谷丙转氨酶高挂什么科| 6.20什么星座| 做亲子鉴定需要什么东西| 孩子发烧按摩什么部位退烧| jeep是什么牌子| hgh是什么意思| 为什么突然流鼻血| 野猪怕什么颜色| 海龟汤是什么| 湿气重吃什么好| 瞳距是什么| 农历10月14日是什么星座| 大鱼际发青是什么原因| 胃囊肿是什么病严重吗| 中秋节干什么| 4月是什么星座| 肠易激综合征吃什么药好| 甲亢什么症状表现| 非洲人吃什么主食| 免单是什么意思| 破壁是什么意思| 情绪化什么意思| 孕妇感冒了对胎儿有什么影响| 小孩上火了吃什么降火最快| 二月份出生的是什么星座| 脚脱皮用什么药| 11月9号是什么日子| 孕反什么时候结束| 茁壮的什么| 胆囊炎吃什么水果好| 电解质是什么检查项目| 牙结石长什么样| 和解少阳是什么意思| 治骨质疏松打什么针| 斜杠青年什么意思| urea是什么意思| 箨是什么意思| 梦见雪是什么征兆| 复方甘草酸苷片治什么病| 组织部长是什么级别| 乙肝125阳性是什么意思| 过期的咖啡有什么用途| 手腕关节疼痛什么原因引起的| 晚上尿多什么原因| 表哥的儿子叫我什么| 甲状腺结节是什么病| 湿气重是什么意思| 5月10号是什么星座| 鼻窦炎是什么样子的| 口且念什么| 烂好人什么意思| 白子画什么时候爱上花千骨的| 吃什么食物可以去湿气| 煮玉米为什么要放盐| 什么食物降血压| 淀粉可以用什么代替| 什么护肤产品补水最好| 字号是什么意思| 老实人为什么总被欺负| 公安局大队长是什么级别| 月亮星座是什么| rebecca什么意思| 痛风不能吃什么蔬菜| 为什么辰不能见亥| 水为什么会结冰| 水险痣是什么意思| 脾胃不好吃什么药效果好| 痛风能吃什么菜谱大全| 黄体破裂是什么意思| 活跃是什么意思| 什么米好吃| 吃完油炸的东西后吃什么化解| 虚伪是什么意思| 生化全项包括什么| 嫖娼是什么| 姨妈期不能吃什么| 什么是情感障碍| 昆明的别称是什么| 黄瓜敷脸有什么作用与功效| 腮腺炎是什么| 报销凭证是什么| 梦见捡菌子是什么预兆| 孕妇感冒挂什么科| 处女座男和什么星座最配| 彩金是什么| 1120是什么星座| 天秤座什么象星座| 日月同辉是什么意思| 高压低压是什么意思| 达克宁栓治疗什么妇科病| 阴唇肥大有什么影响| 什么是自限性疾病| 什么叫肝腹水| 6.20什么星座| 纸上谈兵是什么生肖| 翻白眼是什么意思| 绿豆芽不能和什么一起吃| 有事钟无艳无事夏迎春是什么意思| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 活动中心 ? 板卡试用 ? 【分享开发笔记,赚取电动螺丝刀】【S32K3】Cache 接口代码解析

共4条 1/1 1 跳转至

【分享开发笔记,赚取电动螺丝刀】【S32K3】Cache 接口代码解析

高工
2025-08-04 09:04:42     打赏
百度 走到自家楼下单元门前,突然后面有一个男子上前勒住了自己的脖子,刚想开口喊救命,就听到男子恶声恶气的说:别叫,我有刀。

【简介】

S32K314 内部集成了8KB 的L1 DCACHE ,DCACHE  设计时参数为4-way 64-set cacheline size 32B, 32B(cacheline)*64(set)*4(way) =  8192B(8KB),S32K314  芯片为CORTEX-M7内核对应的架构为ARMV7-M。

对应DCACHE ICACHE 信息如下

I-Cache L1: 8 KB, 128 Sets, 32 Bytes/Line, 2-Way
D-Cache L1: 8 KB, 64 Sets, 32 Bytes/Line, 4-Way

image.png

【CACHE INIT】

以下接口为cache init 的代码内容

static INLINE void sys_m7_cache_init(void)
{     
#ifdef D_CACHE_ENABLE   
    uint32 ccsidr = 0U;
    uint32 sets = 0U;
    uint32 ways = 0U;

   
    /*init Data caches*/
    S32_SCB->CSSELR = 0U;                       /* select Level 1 data cache */
    ASM_KEYWORD("dsb");
    ccsidr = S32_SCB->CCSIDR;
    sets = (uint32)(CCSIDR_SETS(ccsidr));
    do {
      ways = (uint32)(CCSIDR_WAYS(ccsidr));
      do {
        S32_SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) |
                      ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk)  );  
        ASM_KEYWORD("dsb");
      } while (ways-- != 0U);
    } while(sets-- != 0U);
    ASM_KEYWORD("dsb");
    S32_SCB->CCR |=  (uint32)SCB_CCR_DC_Msk;  /* enable D-Cache */
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
#endif /*D_CACHE_ENABLE*/

#ifdef I_CACHE_ENABLE  
    /*init Code caches*/
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
    S32_SCB->ICIALLU = 0UL;                     /* invalidate I-Cache */
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
    S32_SCB->CCR |=  (uint32)SCB_CCR_IC_Msk;  /* enable I-Cache */
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
#endif /*I_CACHE_ENABLE*/

}

 对应如下代码选中要操作的CACHE 为L1 data cache 

    /*init Data caches*/
    S32_SCB->CSSELR = 0U;                       /* select Level 1 data cache */
    ASM_KEYWORD("dsb");

CSSELR 对应寄存器描述如下

image.png

    ccsidr = S32_SCB->CCSIDR;
    sets = (uint32)(CCSIDR_SETS(ccsidr));
    do {
      ways = (uint32)(CCSIDR_WAYS(ccsidr));
      do {
        S32_SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) |
                      ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk)  );  
        ASM_KEYWORD("dsb");
      } while (ways-- != 0U);
    } while(sets-- != 0U);
    ASM_KEYWORD("dsb");


image.png

上述代码根据芯片设计时的way/set 信息通过DCISW 寄存器invalue 对应的cache line

image.png

image.png

上述代码按照set 遍历将对应的way 中的set cache line 无效。

可以使用DCISW/DCCSW/DCCISW 寄存器来操作cache 

image.png

image.png

以下代码使能cache 

    S32_SCB->CCR |=  (uint32)SCB_CCR_DC_Msk;  /* enable D-Cache */
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");

image.png

image.png

以下是I CACHE 初始化处理,invalidate 后使能ICACHE 

#ifdef I_CACHE_ENABLE  
    /*init Code caches*/
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
    S32_SCB->ICIALLU = 0UL;                     /* invalidate I-Cache */
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
    S32_SCB->CCR |=  (uint32)SCB_CCR_IC_Msk;  /* enable I-Cache */
    ASM_KEYWORD("dsb");
    ASM_KEYWORD("isb");
#endif /*I_CACHE_ENABLE*/

 



专家
2025-08-04 18:28:27     打赏
2楼

好高深的东西,应用时是如何使用的呢?是自己觉得需要用CACHE时,应用它存储数据的吗? 


专家
2025-08-04 07:46:53     打赏
3楼

楼主,使用这个cache是为dma做准备吗?一般这个功能是如何使用?


工程师
2025-08-04 13:33:01     打赏
4楼

文章挺清楚的,如果能再罗列出来几个应用场景就更好了。 这个文章属于需要手动管理缓存的开发者。


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
男人吃什么壮阳最快 怀孕早期有什么症状 1882年属什么生肖 什么方法减肥最快 柯字五行属什么
众是什么意思 肺部占位性的病变指什么 ad是什么 香港为什么叫香港 肝脏是什么器官
7月25日是什么星座 副校长是什么级别 胸部彩超能检查出什么 参加追悼会穿什么衣服 慵懒是什么意思
稻花鱼是什么鱼 姨妈安全期是什么时候 人工念什么字 氨咖黄敏胶囊主治什么 排骨烧什么好吃
两个b型血能生出什么血型的孩子hcv9jop7ns0r.cn 头自动摇摆是什么原因hcv8jop9ns6r.cn 心跳慢吃什么药hcv8jop6ns4r.cn 什么是中暑hcv7jop9ns4r.cn 越南人说什么语言cl108k.com
八月出生的是什么星座tiangongnft.com 伤口撒什么药粉好得快hcv9jop5ns8r.cn 老人流口水是什么原因hcv7jop9ns4r.cn 为什么大姨妈迟迟不来hcv8jop7ns5r.cn 跳蚤长什么样子图片hcv8jop4ns6r.cn
bmi是什么意思imcecn.com 精气是什么意思hcv7jop5ns6r.cn 人为什么会觉得累hcv9jop1ns5r.cn 颈椎反弓是什么意思jasonfriends.com 绿油油的什么hcv9jop4ns7r.cn
11月25是什么星座hcv8jop4ns7r.cn 龟头流脓小便刺痛吃什么药hcv9jop4ns4r.cn 惊为天人是什么意思hcv8jop0ns4r.cn 627是什么意思hcv7jop5ns3r.cn 送什么礼品好beikeqingting.com
百度