写在前面的一些话
思来想去不知从何落笔,其实写这个AURIX学习笔记博客的想法很早就产生了。原因之一是因为我感觉这个芯片的入门门槛相对来说比较高,完全靠自己摸索入门还是有一定难度的。所以我就想把自己学习的心得和一些拙见记录下来,希望能够给对AURIX单片机感兴趣的小伙伴一点点帮助。另外一个原因是自从进入到研究生阶段以来,每每发现自己越来越不能静下心来。最近我一直在思索的是如何将自己的心安顿下来,有的时候内心会莫名的生起一股烦躁感,导致很多事都事倍功半。安心立命。我一直在问自己的是何以安心立命呢,我到底该如何去做呢?我思索良久,在我目前这个阶段看来,安心立命就是要先把自己的心安顿下来。困扰人的往往是身体内部的麻烦,心静不下来就会外不能立,内不能安。唯有把自己的内心安顿下来才能把自己想做的事情做好。但问题是怎么把无限心安顿在有限的现实世界里呢?没有办法!那只能超脱现实!也就是佛家讲的出世,先出世而后入世。就像孟子说的一样,真理不要到心外去求,相由心生,所见即所得。好了扯远了,之所所以写这个学习笔记也是为了记录一些学习过程,让自己的心稍微静下来,另一方面将来有遗忘的地方我也可以回过头来温习一遍,温故而知新。虽然我也是初学者,很多东西学的也比较浅,但是也希望能够帮助到一些有需求的小伙伴们。我知道刚入门的时候确实很难很枯燥,很多人都可能会半途而废。但是搞技术这个东西就是得耐住性子去钻研,花时间去学习,很多高大上的技术就像一层膜一样,功夫到了自然就戳破了。一旦戳破了你会觉得它也就那么回事,也没有多高大上多牛逼。至于戳破它的功夫就要看你各人造化了。希望各位对汽车电子嵌入式感兴趣或者正在学习的小伙伴们能耐得住寂寞,坚持下去!
书山有路勤为径,学海无涯苦作舟!
TC27x的系统架构
英飞凌芯片TC27x系列采用的是TriCore内核架构,这是一种专为实时性优化的32位单核嵌入式系统架构。TriCore内核巧妙地融合了三种技术:一是简洁高效的RISC指令集,二是擅长处理数字信号的DSP功能,三是芯片内部的存储器和各种外围设备。这样的混合架构具有高性能的数据处理能力以及高效的实时响应特性。
DSP操作和寻址模式提供了有效分析复杂的数字信号所需的计算能力。RISC存储体系结构提供了高计算带宽和低系统成本。芯片上的内存和外设被设计用来支持高带宽实时嵌入式控制系统任务。
TC27x的其他高级功能包括:
•高效的内存管理:指令和数据暂存器,缓存
•串行通信接口--灵活的同步和异步模式
•多通道DMA控制器--DMA操作和中断服务
•灵活的中断系统-可配置的中断优先级和目标
•硬件安全功能模块
•通用定时器
•高性能芯片总线
•片上调试和仿真功能
TC27x是一款高性能的微控制器,具有三个TriCore cpu、程序和数据存储器、总线、总线仲裁、中断系统、DMA控制器和一组强大的片上外设。TC27x旨在满足要求最高的嵌入式控制系统应用程序的需求。
TC27x提供了几个多功能的片上外围设备单元,如串行控制器,定时器单元,和模数转换器。在TC27x中,所有这些外围单元通过系统外设总线(SPB)和本地内存总线(SRI)连接到TriCoreCPU/系统。TC27x端口上的许多I/O线被预留给这些外围设备,以便与外部世界进行通信。
上图所展示的就是TC27X单片机内部的系统架构,其实很多初学者看到这个图是比较懵逼的,记得当时我看51架构也是一脸懵逼(比这个简单太多了)。我当时一直死记硬背,但是怎么也理解不了这些概念。就比如说RAM和ROM这两个东西我一开始就是理解不了,因为第一次接触单片机很多东西和概念是比较难理解的。而且这东西你看不见也摸不着,程序怎么运行的?运算产生的数据放哪了?怎么放的?这些都是比较抽象的,这就会让你刚开始学习比较懵逼且难以理解。感觉那些字每个都认识,但是连起来就读不懂了。但是我们不用着急,刚开始学只要有个概念就可以了,就是你知道有那么一个东西在那,它大概是起个什么作用就完全够了。
刚开始不用去刨根问底,最重要的是有个概念就行,切记不要死记硬背,搞技术不要用应试教育那套。你记它干嘛,用到的时候再去翻书去查资料就行,而且很多东西用多了就熟记于心了,想忘都忘不掉。关键是要去理解它的原理,就比如上面那个RAM和ROM,只读存储器和随机存取存储器,看字是不是又懵逼了,什么是只读,什么是随机存取?但是我们可以把它们类比一下,RAM就相当于手机里的运行内存,ROM(准确来说是闪存)相当于手机的存储内存。RAM是易失性存储(掉电数据丢失),ROM是非易失性存储(掉电数据不丢失)。就好比你正在使用手机百度网盘APP保存“学习资源”,APP这时刚把资源保存好结果手机没电关机了。接上充电器发现百度网盘APP这个任务进程结束了,但是万幸的是你的“学习资源”依然存在,这个时候你很开心,又可以进行一场酣畅淋漓的学习了。上面这个例子里,就相当于APP任务进程是在RAM中进行的,手机掉电它消失了,但是“学习资源”存储在了ROM里,掉电它不消失。这样去类比,理解起来就会通俗易懂一点,其实单片机里很多模块我们都可以去跟现实生活中的东西类比,这样更容易理解。
说了那么多废话,接下来简要介绍一下TC27x单片机的内核架构。可以看到上图里有两条重要的总线,他们好像贯穿连接了整个系统架构。分别是XBar_SRI总线和SPB总线,叫做共享资源互连总线和系统外围总线。其中XBar总线连接的是三个CPU的程序存储器接口(PMI)和数据存储器接口(DMI)以及数据闪存(DFlash)和程序闪存(PFlash)、RAM、DMA(直接内存访问)等模块。SPB总线连接的是各种外围设备模块,如DMA(直接内存访问),STM(系统定时器),以及多功能的通信接口等。TC27x单片机有3个CPU核心,每个CPU都有自己的程序和数据高速缓存(PCACHE和DCACHE),以及专用的程序和数据RAM(PSPR和DSPR)。而且都配备了一个浮点单元(FPU),用于执行浮点运算。3个核共用数据闪存(DFlash)和程序闪存(PFlash),通过XBar总线进行读写操作。而外围设备的读写操作都是通过SPB总线进行。
其实也并不是那么难对吧,然后就先说这么多,因为我也是初学者目前也只懂这么多【手动狗头】。待我学到新的东西或者有遗漏的再补充上吧,hahaha…