色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > GNU ARM匯編--(十四)GNU ARM匯編下做任務(wù)調(diào)度

          GNU ARM匯編--(十四)GNU ARM匯編下做任務(wù)調(diào)度

          作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
          [cpp]view plaincopy
          1. .text
          2. .globalEntryTask3
          3. Feq_Table:
          4. .word20
          5. .word40
          6. .word60
          7. .word80
          8. .word100
          9. .word120
          10. .word140
          11. .word160
          12. .word180
          13. .word200
          14. .word220
          15. .word240
          16. CurrentFeq:
          17. .word0x0
          18. task3_delay:
          19. ldrr3,=0xffffff
          20. task3_delay1:
          21. subr3,r3,#1
          22. cmpr3,#0x0
          23. bnetask3_delay1
          24. movpc,lr
          25. EntryTask3:
          26. loopfeq:
          27. ldrr1,=TCON
          28. ldrr2,=(DZ_eable<<4)|(auto_reload<<3)|(inverter<<2)|(man_update<<1)|(stop<<0)
          29. strr2,[r1]
          30. ldrr2,=GPBCON
          31. ldrr1,[r2]
          32. //ldrr1,=0x15400
          33. bicr1,r1,#0x3
          34. orrr1,r1,#0x2
          35. strr1,[r2]
          36. ldrr1,=TCFG0
          37. ldrr2,=(Prescaler0<<0)
          38. strr2,[r1]
          39. ldrr1,=TCFG1
          40. ldrr2,=(DMA_MODE<<20)|(MUX0<<0)
          41. strr2,[r1]
          42. ldrr3,=CurrentFeq
          43. ldrr0,[r3]
          44. ldrr4,=Feq_Table
          45. ldrr4,[r4,r0,LSL#2]@用r4存放table中的值
          46. addr0,r0,#1
          47. cmpr0,#12
          48. moveqr0,#0
          49. strr0,[r3]
          50. ldrr1,=TCNTB0
          51. //ldrr4,=100
          52. strr4,[r1]
          53. movr4,r4,LSR#2
          54. ldrr1,=TCMPB0
          55. //ldrr4,=25
          56. strr4,[r1]
          57. ldrr1,=TCON
          58. ldrr2,=(DZ_eable<<4)|(auto_reload<<3)|(inverter<<2)|(man_update<<1)|(start<<0)
          59. strr2,[r1]
          60. ldrr1,=TCON
          61. ldrr2,=(DZ_eable<<4)|(auto_reload<<3)|(inverter<<2)|(clear_man_update<<1)|(start<<0)
          62. strr2,[r1]
          63. bltask3_delay
          64. bloopfeq
          第三個(gè)任務(wù)就是每隔一段時(shí)間就有新的頻率產(chǎn)生.

          整個(gè)編譯出來(lái)不到2K,直接在4K的sram中跑.看到的就是led在流水,蜂鳴器在各種頻率.忽然想到了“落霞與孤鶩齊飛”.有了任務(wù)調(diào)度,看起來(lái)還是很美的.

          下一步,利用MMU的MPU功能,改進(jìn)這個(gè)任務(wù)調(diào)度,并且任務(wù)是單獨(dú)編譯的.總大小應(yīng)該不會(huì)超過(guò)4K,這樣我就暫時(shí)不用看Nandflash的datasheet了.不過(guò)遲早是要看的.......


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: ARM匯編任務(wù)調(diào)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉