From cae5c4a0a6fe0c92220661e9219b2d0a765c5962 Mon Sep 17 00:00:00 2001 From: sunbeam Date: Wed, 5 Feb 2025 14:07:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings/cva_asw_m0118.Debug.cspy.bat | 4 +- .../settings/cva_asw_m0118.Debug.cspy.ps1 | 4 +- .../settings/cva_asw_m0118.Debug.driver.xcl | 2 +- .../settings/cva_asw_m0118.Debug.general.xcl | 8 +- cva_asw_m0118/settings/cva_asw_m0118.dnx | 4 +- cva_asw_m0118/settings/cva_asw_m0118.wsdt | 56 ++++++------- cva_asw_m0118/src/appTask.c | 2 +- cva_asw_m0118/src/canuser.c | 17 +++- cva_asw_m0118/src/hwctrl.c | 79 ++++++++++++++++++- cva_asw_m0118/src/hwctrl.h | 5 +- 10 files changed, 134 insertions(+), 47 deletions(-) diff --git a/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.bat b/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.bat index f46c571..844bee2 100644 --- a/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.bat +++ b/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.bat @@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile @echo on -"D:\software\IAR\common\bin\cspybat" -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" --backend -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" +"D:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" --backend -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" @echo off goto end @@ -34,7 +34,7 @@ goto end @echo on -"D:\software\IAR\common\bin\cspybat" -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" "--debug_file=%~1" --backend -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" +"D:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" "--debug_file=%~1" --backend -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" @echo off :end \ No newline at end of file diff --git a/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.ps1 b/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.ps1 index 7a37323..d6e6491 100644 --- a/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.ps1 +++ b/cva_asw_m0118/settings/cva_asw_m0118.Debug.cspy.ps1 @@ -23,9 +23,9 @@ if ($debugfile -eq "") { -& "D:\software\IAR\common\bin\cspybat" -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" --backend -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" +& "D:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" --backend -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" } else { -& "D:\software\IAR\common\bin\cspybat" -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" --debug_file=$debugfile --backend -f "E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" +& "D:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.general.xcl" --debug_file=$debugfile --backend -f "F:\work\wk\2025\K86\code\cva_asw_m0118\settings\cva_asw_m0118.Debug.driver.xcl" } diff --git a/cva_asw_m0118/settings/cva_asw_m0118.Debug.driver.xcl b/cva_asw_m0118/settings/cva_asw_m0118.Debug.driver.xcl index d87fe38..4e50177 100644 --- a/cva_asw_m0118/settings/cva_asw_m0118.Debug.driver.xcl +++ b/cva_asw_m0118/settings/cva_asw_m0118.Debug.driver.xcl @@ -6,7 +6,7 @@ "-p" -"D:\software\IAR\arm\config\debugger\CVAChip\CVM0118.ddf" +"D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0118.ddf" "--semihosting" diff --git a/cva_asw_m0118/settings/cva_asw_m0118.Debug.general.xcl b/cva_asw_m0118/settings/cva_asw_m0118.Debug.general.xcl index 102836a..287ab33 100644 --- a/cva_asw_m0118/settings/cva_asw_m0118.Debug.general.xcl +++ b/cva_asw_m0118/settings/cva_asw_m0118.Debug.general.xcl @@ -1,10 +1,10 @@ -"D:\software\IAR\arm\bin\armPROC.dll" +"D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armPROC.dll" -"D:\software\IAR\arm\bin\armJLINK.dll" +"D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armJLINK.dll" -"E:\work\wk\K86\CVM0118BOOT\cva_asw_m0118\Debug_FLASH\Exe\cva_asw_m0118.out" +"F:\work\wk\2025\K86\code\cva_asw_m0118\Debug_FLASH\Exe\cva_asw_m0118.out" ---plugin="D:\software\IAR\arm\bin\armbat.dll" +--plugin="D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armbat.dll" diff --git a/cva_asw_m0118/settings/cva_asw_m0118.dnx b/cva_asw_m0118/settings/cva_asw_m0118.dnx index 38989d9..4af9b49 100644 --- a/cva_asw_m0118/settings/cva_asw_m0118.dnx +++ b/cva_asw_m0118/settings/cva_asw_m0118.dnx @@ -13,11 +13,11 @@ 0 - D:\software\IAR\arm\config\debugger\CVAChip\CVM0118.ddf + D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0118.ddf - 1 0 + 1 334396109 diff --git a/cva_asw_m0118/settings/cva_asw_m0118.wsdt b/cva_asw_m0118/settings/cva_asw_m0118.wsdt index 33708c8..059ec8b 100644 --- a/cva_asw_m0118/settings/cva_asw_m0118.wsdt +++ b/cva_asw_m0118/settings/cva_asw_m0118.wsdt @@ -91,7 +91,7 @@ 14 - 27 + 38 1 @@ -101,16 +101,16 @@ 1 1 1 - 44000000090010860000050000000C8100003C00000056860000010000000E810000020000000B810000030000001186000005000000058100000200000046810000010000000A84000001000000 + 48000000090010860000050000000C8100004000000056860000010000000E810000020000000B810000030000000581000002000000118600000500000046810000010000000A84000001000000 3E002DDE00001FDE000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE0000209200002892000029920000379200003892000034920000339200001E9200001D9200002CDE00000C84000033840000788400001184000008800000098000000A8000000B8000000C800000158000000A810000FFFFFFFF01E80000778400000784000086840000808C000044D500000D8400000F8400000884000054840000328100001C81000009840000538400003C8400003D840000408400004C8400003E8400004B8400004D8400003F8400003A8400003B8400005A8400005B840000558400005684000059840000 - 1E00048400004D0000000481000065000000318400005400000000900000BF0300000F8100006C00000020810000740000000C810000690000000981000084030000068400004F000000038400004C0000002592000059000000449200007303000030840000530000000E840000510000001F920000700300000E8100006B0000001F810000730000002D920000720300000B81000068000000058400004E000000D1840000590000000581000066000000028400004B0000003284000055000000108400005200000002E10000A203000035E10000AC0300000D8100006A0000000A840000500000002C92000071030000 + 1E00048400004D0000000481000065000000318400005400000020810000740000000F8100006C00000000900000BF0300000C81000069000000068400004F0000000981000084030000038400004C00000025920000590000000E84000051000000308400005300000044920000730300001F810000730000000E8100006B0000001F920000700300000B810000680000002D92000072030000D184000059000000058400004E000000028400004B0000000581000066000000108400005200000032840000550000000A840000500000000D8100006A00000035E10000AC03000002E10000A20300002C92000071030000 0 0A0000000A0000006E0000006E000000 - 00000000D3030000AB060000E4030000 + 00000000100300000006000021030000 4096 0 0 @@ -137,7 +137,7 @@ 4294967295 00000000B7020000AB060000EA030000 - 00000000A0020000AB060000D3030000 + 00000000DD0100000006000010030000 4096 0 0 @@ -150,7 +150,7 @@ 34051 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000FC050000F6020000 32768 0 0 @@ -168,9 +168,9 @@ _I0 - 382 + 342 40 - 1251 + 1120 20 4 @@ -181,7 +181,7 @@ 34055 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000FC050000F6020000 4096 0 0 @@ -194,7 +194,7 @@ 34056 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000A7060000F6020000 4096 0 0 @@ -209,14 +209,14 @@ 84 1014 2 - + 0 -1 34057 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000A7060000F6020000 4096 0 0 @@ -231,14 +231,14 @@ 84 1014 2 - + 0 -1 34058 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000A7060000F6020000 4096 0 0 @@ -252,7 +252,7 @@ 34059 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000A7060000F6020000 4096 0 0 @@ -267,14 +267,14 @@ 84 1014 2 - + 0 -1 34060 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000A7060000F6020000 4096 0 0 @@ -293,7 +293,7 @@ 34062 000000001700000022010000C8000000 - 04000000B8020000A7060000B9030000 + 04000000F5010000A7060000F6020000 4096 0 0 @@ -305,7 +305,7 @@ 2 - + 0 -1 @@ -327,16 +327,16 @@ 2 - + - + <Right-click on a symbol in the editor to show a call graph> - + 0 @@ -345,7 +345,7 @@ 0 - + 0 @@ -447,7 +447,7 @@ 34063 00000000170000000601000078010000 - 0000000032000000060100009C020000 + 000000003200000006010000D9010000 4096 0 0 @@ -458,11 +458,11 @@ 1 - 000000000E000000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A0100009C0200000100000002000010040000000100000000000000000000000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000048500000000000000000000000000000000000001000000048500000100000004850000000000000080000001000000FFFFFFFFFFFFFFFF000000009C020000AB060000A002000001000000010000100400000001000000D2FDFFFF6F000000FFFFFFFF08000000038500000785000008850000098500000A8500000B8500000C8500000E850000FFFF02000B004354616262656450616E65008000000100000000000000B7020000AB060000EA03000000000000A0020000AB060000D3030000000000004080005608000000FFFEFF054200750069006C006400010000000385000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000985000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF1153006F0075007200630065002000420072006F0077007300650020004C006F006700000000000C85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000E85000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF0385000001000000FFFFFFFF03850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000000000000000000 + 000000000E000000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000D90100000100000002000010040000000100000000000000000000000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000048500000000000000000000000000000000000001000000048500000100000004850000000000000080000001000000FFFFFFFFFFFFFFFF00000000D901000000060000DD01000001000000010000100400000001000000D2FDFFFF6F000000FFFFFFFF08000000038500000785000008850000098500000A8500000B8500000C8500000E850000FFFF02000B004354616262656450616E65008000000100000000000000B7020000AB060000EA03000000000000DD0100000006000010030000000000004080005608000000FFFEFF054200750069006C006400010000000385000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000985000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF1153006F0075007200630065002000420072006F0077007300650020004C006F006700000000000C85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000E85000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF0385000001000000FFFFFFFF03850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000000000000000000 CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000059000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 + 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000008000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 34048 @@ -479,7 +479,7 @@ Main - 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000083000000FFFEFF000000000000000000000000000100000001000000018001E100000000000084000000FFFEFF000000000000000000000000000100000001000000018003E100000000000086000000FFFEFF0000000000000000000000000001000000010000000180008100000000000063000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000000089000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004008B000000FFFEFF000000000000000000000000000100000001000000018022E10000000004008A000000FFFEFF000000000000000000000000000100000001000000018025E10000000000008C000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE10000000004008D000000FFFEFF00000000000000000000000000010000000100000001802CE10000000004008E000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000000FFFFFFFFFFFEFF000000000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF00960000000000000000000180218100000000040075000000FFFEFF000000000000000000000000000100000001000000018024E10000000000007E000000FFFEFF000000000000000000000000000100000001000000018028E10000000004007D000000FFFEFF000000000000000000000000000100000001000000018029E10000000000007F000000FFFEFF0000000000000000000000000001000000010000000180028100000000000064000000FFFEFF0000000000000000000000000001000000010000000180298100000000000079000000FFFEFF0000000000000000000000000001000000010000000180278100000000000077000000FFFEFF0000000000000000000000000001000000010000000180288100000000000078000000FFFEFF00000000000000000000000000010000000100000001801D8100000000000071000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040072000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000200000068000000FFFEFF00000000000000000000000000010000000100000001800C8100000200000069000000FFFEFF00000000000000000000000000010000000100000001805F860000020000007C000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E810000020000006B000000FFFEFF00000000000000000000000000010000000100000001800F810000020000006C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000 + 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000039000000FFFEFF000000000000000000000000000100000001000000018001E10000000000003A000000FFFEFF000000000000000000000000000100000001000000018003E10000000004003C000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000004003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E100000000000041000000FFFEFF000000000000000000000000000100000001000000018022E100000000040040000000FFFEFF000000000000000000000000000100000001000000018025E100000000000042000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040043000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040044000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000400FFFFFFFFFFFEFF000100000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004002B000000FFFEFF000000000000000000000000000100000001000000018024E100000000040034000000FFFEFF000000000000000000000000000100000001000000018028E100000000040033000000FFFEFF000000000000000000000000000100000001000000018029E100000000040035000000FFFEFF000000000000000000000000000100000001000000018002810000000004001A000000FFFEFF000000000000000000000000000100000001000000018029810000000004002F000000FFFEFF000000000000000000000000000100000001000000018027810000000004002D000000FFFEFF000000000000000000000000000100000001000000018028810000000004002E000000FFFEFF00000000000000000000000000010000000100000001801D8100000000000027000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040028000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000020004001E000000FFFEFF00000000000000000000000000010000000100000001800C810000020000001F000000FFFEFF00000000000000000000000000010000000100000001805F8600000200000032000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000200000021000000FFFEFF00000000000000000000000000010000000100000001800F8100000200000022000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000 34049 @@ -497,7 +497,7 @@ - 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000040000000100000001000000FFFEFF132400570053005F0044004900520024005C007300720063005C006D00610069006E002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00330037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0031003900310037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0031003900310037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF122400570053005F0044004900520024005C007300720063005C006B00650079002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003200330033003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003200330033003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF056B00650079002E00630000000000FFFFFFFFFFFFFFFFFFFEFF2244003A005C0073006F006600740077006100720065005C004900410052005C00610072006D005C0069006E0063005C0063005C0073007400720069006E0067002E006800010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00330035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0033003200330030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0033003200330030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D73007400720069006E0067002E00680020005B0052004F005D0000000000FFFFFFFFFFFFFFFFFFFEFF152400570053005F0044004900520024005C007300720063005C00680077006300740072006C002E006300010000000180FFFEFF00FFFEFFFF21013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00380038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08680077006300740072006C002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A01000049000000AB060000B3020000 + 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000030000000200000001000000FFFEFF132400570053005F0044004900520024005C007300720063005C006D00610069006E002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0031003900310037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0031003900310037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF122400570053005F0044004900520024005C007300720063005C006B00650079002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003100330036003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003100330036003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF056B00650079002E00630000000000FFFFFFFFFFFFFFFFFFFEFF152400570053005F0044004900520024005C007300720063005C00680077006300740072006C002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100350035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08680077006300740072006C002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A0100004900000000060000F0010000 diff --git a/cva_asw_m0118/src/appTask.c b/cva_asw_m0118/src/appTask.c index fcb35e4..b1d04ed 100644 --- a/cva_asw_m0118/src/appTask.c +++ b/cva_asw_m0118/src/appTask.c @@ -110,7 +110,7 @@ void appTask(void) CANMsgTask(); if (gSystick1msCnt % 5 == 0) { - + AD_Task(); } if (gSystick1msCnt % 50 == 0) { diff --git a/cva_asw_m0118/src/canuser.c b/cva_asw_m0118/src/canuser.c index 118b2eb..8ee700d 100644 --- a/cva_asw_m0118/src/canuser.c +++ b/cva_asw_m0118/src/canuser.c @@ -5,6 +5,7 @@ #include "appTask.h" #include "can_message.h" #include "key.h" +#include "hwctrl.h" /******************************************************************************* * the defines ******************************************************************************/ @@ -267,7 +268,7 @@ void FillK86Msg(uint8_t *pdata) uint8_t K86MsgBuf[8] = {0}; void CANMsgTask(void)//1ms task { - static uint16_t msg_counter=0; + static uint16_t msg_counter=0,test_conter=0; FlexCan_FrameStructureType rxMsg; FillK86Msg(K86MsgBuf); if ((K86MsgBuf[0] & 0x3F) != 0) @@ -286,7 +287,19 @@ void CANMsgTask(void)//1ms task { TxK86Msg(K86MsgBuf); } - + test_conter++; + if (test_conter >= 500) + { + test_conter = 0; + uint16_t temp = getBatVoltage(); + uint8_t buf[8] = {0}; + buf[0] = (temp >> 8) & 0xFF; + buf[1] = temp & 0xFF; + temp = getACCVoltage(); + buf[2] = (temp >> 8) & 0xFF; + buf[3] = temp & 0xFF; + TxTestMsg(buf); + } if (msg_counter >= 1000) diff --git a/cva_asw_m0118/src/hwctrl.c b/cva_asw_m0118/src/hwctrl.c index 57acc1c..1aebea2 100644 --- a/cva_asw_m0118/src/hwctrl.c +++ b/cva_asw_m0118/src/hwctrl.c @@ -19,11 +19,16 @@ ******************************************************************************/ extern McuType mcu; uint32_t gCpuClockFrequency = 0; - + uint32_t adcResult[8]; /******************************************************************************* * the const ******************************************************************************/ - + /*! \brief The trgmux in out mappings table for trgmux configure + */ +const TrgMuxDrv_InOutMappingType c_trgmuxInOutMappings[] = { + {TRGMUXDRV_TRIGSOURCE_SIM_SW_TRIG, TRGMUXDRV_TARGETMODULE_PDB0_TRG_IN, false}, /* Use SIM_SW_TRIG trigger PDB0 */ +}; +const uint16_t c_numOfTrgmuxInOutMappings = sizeof(c_trgmuxInOutMappings) / sizeof(TrgMuxDrv_InOutMappingType); /******************************************************************************* @@ -31,7 +36,7 @@ ******************************************************************************/ static void hw_clock_init(void); static void GPIO_init(void); - +static void AD_Init(void); void hw_init(void) @@ -48,6 +53,8 @@ void hw_init(void) /* get CAN controller default configuration */ FlexCanBoot_Init(); + AD_Init(); + GPIO_init(); } @@ -71,6 +78,16 @@ static void hw_clock_init(void) ClockDrv_ConfigureClock(&mcu.clockDrv, CLOCKDRV_PORTD, &clockConfig); ClockDrv_ConfigureClock(&mcu.clockDrv, CLOCKDRV_PORTE, &clockConfig); + /* Enable the clock for ADC */ + clockConfig.gating = true; + clockConfig.source = CLOCKDRV_PLL; + clockConfig.div = 4; + ClockDrv_ConfigureClock(&mcu.clockDrv, CLOCKDRV_ADC, &clockConfig); + + /* Enable the clock for PDB0 */ + clockConfig.gating = true; + ClockDrv_ConfigureClock(&mcu.clockDrv, CLOCKDRV_PDB, &clockConfig); + /* Set system tick clock, 1ms event */ ClockDrv_GetFreq(&mcu.clockDrv, CLOCKDRV_SYS, &gCpuClockFrequency); @@ -132,3 +149,59 @@ uint8_t getKeyIO(KEYID_t keyid) } } +static void AD_Init(void) +{ + /* TRGMUX */ + TrgMuxDrv_ConfigType trgmuxConfig; + trgmuxConfig.numOfInOutMappings = c_numOfTrgmuxInOutMappings; + trgmuxConfig.inOutMapping = c_trgmuxInOutMappings; + TrgMuxDrv_Configure(&mcu.trgMuxDrv, &trgmuxConfig); + /* Configure ADC module */ + AdcDrv_ConfigType adcCfg; + AdcDrv_GetDefaultConfig(&adcCfg); + adcCfg.conversionMode = ADCDRV_CONVERSION_12BIT; /* Selects the ADC resolution to 12-bit conversion */ + adcCfg.avgEnable = true; /* Enable hardware average function */ + adcCfg.avgSamplesSel = ADCDRV_AVERAGE_32; /* Select 32 samples average */ + adcCfg.continuousMode = ADCDRV_ONESHOT; /* Select one-shot mode */ + adcCfg.chnCfg[0].chnSel = ADCDRV_INCHN_EXT10; + adcCfg.chnCfg[1].chnSel = ADCDRV_INCHN_EXT11; + + AdcDrv_Configure(&mcu.adcDrv, &adcCfg); + + uint32_t pdbFreq; + ClockDrv_GetFreq(&mcu.clockDrv, CLOCKDRV_PDB, &pdbFreq); + + PdbDrv_ConfigType pdbCfg; + PdbDrv_GetDefaultConfig(&pdbCfg); + pdbCfg.ldmode = PDBDRV_LDMOD_LOAD_VAL_IMMEDIATELY; /* The internal registers are loaded with the values from their buffers, immediately after 1 is written to LDOK */ + pdbCfg.trgInSel = PDBDRV_TRGSEL_TRGGER_IN_0; /* Use hardware trigger source */ + pdbCfg.cMode = PDBDRV_CONT_CONTINUOUS; /* PDB operation in Continuous mode */ + pdbCfg.prescalerFactor = PDBDRV_PRESCALER_128MULT; /* Counting uses the peripheral clock divided by MULT (the multiplication factor) */ + pdbCfg.mult = PDBDRV_MULT_FACTOR_40; /* Multiplication factor is 40 */ + pdbCfg.preTrgCfg.mode[0][0] = PDBDRV_PRETRG_DELAY_MODE; /* The first channel start with delay operation */ + pdbCfg.preTrgCfg.mode[0][1] = PDBDRV_PRETRG_BB_MODE; /* PDB channel[0][1-7] with Back-to-Back operation*/ + + pdbCfg.dlyCfg.modCnt = 1*pdbFreq / 128 / 40 / 1000; /* Periodic triggering PDB in 1ms*/ + pdbCfg.dlyCfg.dlyCnt[0][0] = 0; /* first channel don't need delay time*/ + PdbDrv_Configure(&mcu.pdbDrv, &pdbCfg); + + PdbDrv_EnablePdb(&mcu.pdbDrv); /* Enable PDB0 */ + + TrgMuxDrv_GenSWTrigger(&mcu.trgMuxDrv, 100); /* Trigger PDB0 */ +} + +void AD_Task(void) +{ + adcResult[0] = AdcDrv_GetRn(&mcu.adcDrv, 0); + adcResult[1] = AdcDrv_GetRn(&mcu.adcDrv, 0); +} + +uint16_t getBatVoltage(void) +{ + return adcResult[0]; +} + +uint16_t getACCVoltage(void) +{ + return adcResult[1]; +} diff --git a/cva_asw_m0118/src/hwctrl.h b/cva_asw_m0118/src/hwctrl.h index 68c049a..4e702d9 100644 --- a/cva_asw_m0118/src/hwctrl.h +++ b/cva_asw_m0118/src/hwctrl.h @@ -27,7 +27,8 @@ ******************************************************************************/ void hw_init(void); uint8_t getKeyIO(KEYID_t keyid); - - +void AD_Task(void); +uint16_t getBatVoltage(void); +uint16_t getACCVoltage(void); #endif