omapl138怎么在linux下 *** 作ad

omapl138怎么在linux下 *** 作ad,第1张

linux -- omapl138 boot 启动

TI的达芬奇架构物御谨嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核。本文要介绍的就是其中的一款低功耗处理器OMAP L138。

OMAP L138包括一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核(均是32位处理器)。此外还有大量外设在此不做说明,与通用的ARM与DSP内核相比有如下一些不同点:

1.内存映射,该处理器的外设与内存统一编址,DSP与ARM共享4G内存空间。但其中有一部分DSP仅可见(如DSP的数据指令缓存),一部分ARM仅可见(如ARM的内部RAM),其余的两者都可以访问,具拆早体的请参考其芯片资料。

2.中断,与通用的DSP与ARM相比,达芬奇架构并没有在这两个核中增加用于双核通信及相互控制的指令(也许是本人没发现吧!如果你发现相关的说明,请发个email告诉我,谢谢!),然而却增加两个核之间的中断,共计7个。当双核需要进行通信时,首先把数据放在双方可以访问的内存上,然后给对方一个中断,对方在中断中接收传递过来的数据,以此实现双方的通信,个人认为这就是DSP Link实现的基本原理吧:)

3.能源与休眠配置模块(PSC),这个模块主要负责整个系统的能源管理,可以使能或者休眠ARM核,DSP核以及大部分外设ARM核与DSP核的相互控制主要就依赖这个模块。

对于OMAPL138,上电时默认的是ARM核被禁止,DSP核被使能。说以开机时是DSP核先启动,然后是DSP的ROM Bootloader做一些初始化后使能ARM核后,ARM核才开始运行。不同的达芬奇处理器是不同的,比如OMAPL137就是反过来的,网上资料鱼龙混杂,弄不清楚的话罩基就去看PSC模块中的ARM和DSP核的默认值就可以了。

1.开机上电,用户在BOOT 管脚上配置的启动方式被锁定采样到SYSCFG模块的BOOTCFG寄存器,从而确定可处理器的启动方式。

2.PSC模块中的启动默认值是:ARM核休眠,DSP核使能。所以这时候DSP启动,DSP从片内DSP L2 ROM处读取指令执行。这里有TI已经固化的仅DSP核可以访问的ROM Bloader,简称DSP RBL。

3.DSP的RBL做一些简单的初始化后,就通过PSC模块使能ARM核,休眠自己。然后ARM就开从片内的RAM Local ROM处读取指令并执行,这里面有TI已经固化好的ARM ROM Bootloader,简称ARM RBL。

4.ARM的RBL做一些初始化后,根据BOOTCFG寄存器的设定,从指定的地方读取用于启动U-Boot的Bootloader,即U-Boot BootLoader,简称UBL。UBL可以放在Nandflash,或者通过串口下载等方式取得。值得说明的是,这里的UBL是(AIS Application Image Script )格式,而不是通常的BIN格式。

5.当ARM RBL读取到UBL后就根据AIS格式中的命令初始化、加载并运行UBL。然后就是UBL加载运行U-Boot,U-Boot根据启动参数启动Linux,Linux根据启动参数加载根文件系统。

6.这时ARM核上的Linux就运行起来了,但DSP还处于休眠状态。在Linux经过一系列初始化后会执行跟文件系统中/etc/profile的指令。我们在这里添加插入DSP Link内核模块的命令,就会在/dev目录下产生一个叫dsplink的设备文件。这个DSP Link内核模块就是通过前面所说的中断和PSC设定就可以完成与DSP的通信与控制。

7. 然后再执行我们自己的ARM端程序,在ARM端程序中使用DSP Link的库函数来访问dsplink设备,从而在用户空间实现对DSP核的控制与通信。在我们写的ARM端程序中使用DSP Link库函数加载DSP端的应用程序到内存,使用DSP Link的PROC函数启动DSP核。然后ARM核和DSP核就都各自独立运行起来了,通过DSP Link来进行通信

把这两个家伙碧空去肆慧耐掉:ret=gpio_request(S5PV210_GPG2(5), "GPG2_5")set_irq_type(gpio_to_irq(S5PV210_GPG2(5)), IRQ_TYPE_EDGE_BOTH)使用中断功能,申请裂春 gpio 干嘛!

TMS320C6748创龙开发例程使用手册

1. 完善StarterWare例程ECAP_APWM,底板TL138/6748-EasyEVM的A3和A4版的测试引脚不一样。

2. UART_INT例程不适用TL138/6748-EasyEVM的A4版。

3. 完善SYS/BIOS例程Board的 *** 作步骤。

1.添加算法例程——车牌识别。

1.修改StarterWare的DEMO综合例程——重新换了新的LOGO图片。

4. 修改SYS/BIOS工程新建。

5. 修改SYS/BIOS例程Queue。

1.修改4.62 NandFlash——NAND FLASH读写测试,增加了高配版例程说明。

1.添加其他例程GPIO_LED_C_Mix。

2.添加其他例程GPIO_LED_C++_Mix。斗枣

3.添加SYS/BIOS例程AD模块采集测试(使用uPP)。

4.添加SYS/BIOS例程伺服电机测试。

1. 更新NSP组件为1.10.3.15版本,程序可兼容旧版本NSP,更新以下例程:MJPEG_Streamer、NDK_Runtime、RawSocket、TCP、TCP_Benchmark、TCP_Client、Telnet、UDP、WebServer、WebServer_Audio_Video、WebServer_RMII。

2. 添加SYS/BIOS例程Gate门保护。

3. 添加SYS/BIOS例程Queue队列。

4. 添加SYS/BIOS例程Event事件模块。

5. 添加SYS/BIOS例程Mailbox邮箱通信。

6. 添加SYS/BIOS例程CPU低功耗模式。

7. 添加SYS/BIOS例程VFSCALE动态调频调压测试。

8. 添加SYS/BIOS例程综合demo。

9. 添加SYS/BIOS例程uPP_B_TO_A例程uPP回环测试。

10. 添加SYS/BIOS例程NDK_UIA系统分析基于网络传输。

11. 添加StarterWare例老尺程SPI_EDMA_FLASH。

12. 添加StarterWare例程EMIF_AD8568_100K。

13. 添加StarterWare例程EMIF_AD7606_200K_EDMA。

14. 添加StarterWare例程EMIF_AD7606_10K。

15. 添加StarterWare例程TL5147_LCD_2CH_SYNC。

16. 添加StarterWare例程EDMA3_LED。

17. 添加StarterWare例程EDMA3_LINK。

18. 添加PRU例程PRU_AD8568_SAVE。

19. 添加PRU例程PRU_TIMER2_POLL。

20. 添加PRU例程PRUtoDSP_Interrupt。

21. 优化VPIF_OV2640例程,侦率提高至30帧,并通过LCD显示帧率。

2016/12/09

V2.5

1. 基于算法例程的ImageProcessQR二维码扫描测试例程。

2. 基于算法例程的侍销高ImageProcessChar文字识别测试例程。

3. 基于算法例程的ImageProcessAlph字母识别测试例程。

2016/08/26

V2.4

1. 添加基于StarterWare的SD卡读写测试例程。

2. 添加基于StarterWare的SPI0测试例程。

3. 添加基于StarterWare的UART2 FIFO中断模式测试例程。

4. 添加基于StarterWare的TL5147摄像头实现3路图片采集

5. 添加基于PRU的PRU控制AD5724输出连续波形例程。

2016/07/25

V2.3

1. 添加C++的GPIO输出例程。

2. 添加基于SYS/BIOS的UART2中断接收例程。

2016/04/25

V2.2

1. 添加基于StarterWare的5.6、10.4、12、15寸触摸屏驱动例程。

2. 添加基于StarterWare的复合视频双通道输入LCD显示例程。

3. 添加标准汇编的GPIO输出例程。

4. 添加线性汇编的GPIO输出例程。

5. 添加GPIO_KEY直接 *** 作寄存器中断实现流水灯例程。

6. 更新SD卡烧写程序到NAND FLASH内容。

7. 更新Web_IAP网络烧写工具版本。

2015/01/05

V2.1

1. 添加基于SYS/BIOS的二进制信号量例程。

2. 添加基于SYS/BIOS的计数型信号量例程。

3. 添加基于StarterWare的uPP板间通信例程。

4. 添加基于StarterWare的双CAN通信例程。

5. 添加基于PRU的LED输出例程。

6. 添加基于PRU的KEY输入例程。

7. 添加基于PRU的DAC输出例程。

8. 添加基于PRU的7606 ADC采集例程。

9. 添加基于PRU的8568 ADC采集例程。

10. 添加基于PRU的uPP通信例程。

11. 添加网络烧写程序的 *** 作方法。

12. 优化FFT_Benchmark例程。

2015/09/24

V2.0

1. 更新FaceDetect人脸识别测试案例。

2. 删除基于SYS/BIOS的GPIO_LED_CLOCK例程。

3. 删除基于SYS/BIOS的AUDIO_LINE_IN音频输入例程。

4. 删除基于SYS/BIOS的AUDIO_LINE_OUT音频输出例程。

5. 更新基于Starerware的Line Out音频输入(EMDA方式)例程。

6. 添加基于Starerware的Line Out音频输出(中断方式)例程。

7. 添加基于Starerware的Line Out音频输出(查询方式)例程。

8. 添加基于Starerware的Line Out音频输出(导入文件方式)例程。

9. 更新基于Starerware的Line In音频输入(EMDA方式)例程。

10. 添加基于Starerware的Line In音频输入(中断方式)例程。

11. 添加基于Starerware的Line In音频输入(查询方式)例程。

12. 添加基于Starerware的LineIn音频输入(保存文件方式)例程。

13. 添加基于Starerware的LineIn音频输入(波形输入方式)例程。

14. 更新基于Starerware的Mic In音频输入(EMDA方式)例程。

15. 添加基于Starerware的Mic In音频输入(中断方式)例程。

16. 添加基于Starerware的Mic In音频输入(查询方式)例程。

17. 添加基于Starerware的Mic In音频输入(保存文件方式)例程。

18. 添加基于Starerware的Mic In音频输入(波形输入方式)例程。

19. 添加基于Starerware的EMIFA总线8通道并口AD数据采集(EMIF_AD8568)。

20. 添加基于Starerware的EMIFA总线8通道并口AD数据采集(EMIF_AD8568v2)。

21. 添加TL6748-EasyEVM与TL6748F-EVM开发板使用EMIF接口模块说明。

22. 添加基于Starerware的ClockOut时钟输出测试例程。

23. 添加基于Starerware的CPU时钟测试例程。

24. 添加基于SYS/BIOS的时间戳(通用)例程。

25. 添加基于SYS/BIOS的时间戳(专用)例程。

26. 添加基于SYS/BIOS的Line In音频输入与保存例程。

27. 添加基于SYS/BIOS的Mic In音频输入与保存例程。

28. 添加基于SYS/BIOS的MP3音频播放(SD卡)例程。

29. 添加基于SYS/BIOS的WAV音频播放(SD卡)例程。

30. 添加基于SYS/BIOS的网络Web服务器(支持串口输入IP)例程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12532093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存