tms320c6748开发板5 基于SYS/BIOS的Demo例程演示(5.21-5.25)

  • 5.21 SWI_Runtime——软件中断(SWI)
    开发板底板LED编号和GPIO对应关系如下:

开发板型号 GPIO0[0] GPIO0[5] GPIO0[1] GPIO0[2]
TL138/6748-EVM D7 D6 D9 D10
TL138/6748-EasyEVM D7 D6 D9 D10
TL138/6748-EthEVM D7 D6 D9 D10
TL138/6748F-EasyEVM \ GD1 GD2 GD3
TL138/6748F-EVM \ GD1 GD2 GD3

此程序的作用是通过LED的闪烁演示不同软件中断的优先级。
按照工程导入步骤加载SWI_Runtime.out文件,然后点击程序运行 按钮。
演示现象
底板LEDD9/GD2先闪烁5次,LEDD6/GD1再闪烁5次。LEDD9/GD2的优先级高于LEDD6/GD1。

  • 5.22 SWI_Runtime_Post_Conditionally_andn——软件中断(有条件触发ANDN)
    核心板LED编号和GPIO对应关系如下:
    核心板型号 GPIO6[13] GPIO6[12]
    SOM-TL138/6748 D5 D6
    SOM-TL138/6748F FD1 FD2

此程序的作用是通过按键与LED的闪烁演示达到一定条件后执行软件中断。
本程序初始时配置一个触发变量值"00",在按下USER0和USER1按键后相应位清零,发布软件中断的时候会将这个参数与触发变量值做计算,只有经过计算后这个值为零才会执行软件中断函数,在这种情况下只有满足执行当前软件中断函数的条件全部就绪时才会执行。
按照工程导入步骤加载SWI_Runtime_Post_Conditionally_andn.out文件,然后点击程序运行 按钮。

演示现象
当分别按下USER0和USER1按键1次后,对于的位将被清零,核心板LEDD6/FD5和LEDD5/FD1分别闪烁1次。

  • 5.23 SWI_Runtime_Post_Conditionally_dec——软件中断(有条件触发DEC)
    核心板LED编号和GPIO对应关系如下:

核心板型号 GPIO6[13] GPIO6[12]
SOM-TL138/6748 D5 D6
SOM-TL138/6748F FD1 FD2

此程序的作用是通过按键与LED的闪烁演示达到一定条件后执行软件中断。
本程序初始时配置一个触发变量值"4",在按下USER0或USER1按键发布软件中断的时候会将这个触发变量值自减,只有经过计算后这个值为零才会执行软件中断函数,在这种情况下当同一个软件中断函数被重复发布多次后才会执行。
按照工程导入步骤加载SWI_Runtime_Post_Conditionally_dec.out文件,然后点击程序运行 按钮。
演示现象
当按下USER0或USER1按键累计4次后,核心板LEDD6/FD2和LEDD5/FD1分别闪烁1次。

  • 5.24 SWI_Runtime_Post_Unconditionally_or——软件中断(无条件触发OR)
    核心板LED编号和GPIO对应关系如下:

核心板型号 GPIO6[13] GPIO6[12]
SOM-TL138/6748 D5 D6
SOM-TL138/6748F FD1 FD2

此程序的作用是通过按键与LED的闪烁演示无条件执行软件中断。
本程序初始时配置一个触发变量值,在按下USER1或USER0按键发布软件中断时会将一个参数与这个触发变量值做计算(相应位置位),在软件中断函数中可以根据这个值来调用执行不同的函数,经过计算后这个值为零就会执行软件中断函数。
按照工程导入步骤加载SWI_Runtime_Post_Unconditionally_or.out文件,然后点击程序运行 按钮。
演示现象
当按下USER0或USER1按键后,核心板对应的LEDD6/FD2或LEDD5/FD1分别闪烁1次。

  • 5.25 MEMORY——内存分配
    此程序的作用是实现动态内存分配。
    按照工程导入步骤加载MEMORY.out文件,然后点击程序运行 按钮。
    演示现象
    Console打印信息:
    Initialtask0HeapBufstatus
    largestFreeSize = 32
    totalFreeSize = 3200
    totalSize = 3200
    CurrentHeapBufstatus
    largestFreeSize = 32
    totalFreeSize = 3136
    totalSize = 3200
    FinalHeapBufstatus
    largestFreeSize = 32
    totalFreeSize = 3200
    totalSize = 3200
    Task0Complete
    Initialtask1heapstatus
    largestFreeSize = 4096
    totalFreeSize = 4096
    totalSize = 4096
    CurrentHeapBufstatus1
    largestFreeSize = 3984
    totalFreeSize = 3984
    totalSize = 4096
    CurrentHeapBufstatus2
    largestFreeSize = 4080
    totalFreeSize = 4080
    totalSize = 4096
    Finaltask1heapstatus
    largestFreeSize = 4096
    totalFreeSize = 4096
    totalSize = 4096
    Task1Complete
    注意:Memory_alloc分配的是线程堆栈空间,Malloc分配的是系统堆栈空间。

转载于:https://blog.51cto.com/13771845/2357720

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值