lf-lang / reactor-uc

A lightweight reactor runtime targeted at resource-constrained embedded systems
BSD 2-Clause "Simplified" License
2 stars 2 forks source link

Add simple support for Pico #57

Closed erlingrj closed 2 weeks ago

erlingrj commented 2 weeks ago

This PR adds bare metal support for RP2040 and cousins by implementing the platform API in terms of the Pico SDK. To run an example, the PICO SDK must be installed and an environmental variable PICO_SDK_PATH must point to the install location.

I have successfully compiled and linked the example program, but I have not yet flashed it onto a board as I don't have a RP2040 laying around.

github-actions[bot] commented 2 weeks ago

You will find how your pull request compares to your target branch in terms of memory usage below.

Memory Report ## action_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 71446 | 71446 | 0.00 | | data | 976 | 976 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 72902 | 72902 | 0.00 | ## delayed_conn_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 76067 | 76067 | 0.00 | | data | 968 | 968 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 77515 | 77515 | 0.00 | ## event_queue_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 23478 | 23478 | 0.00 | | data | 648 | 648 | 0.00 | | bss | 320 | 320 | 0.00 | | total | 24446 | 24446 | 0.00 | ## physical_action_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 72685 | 72685 | 0.00 | | data | 977 | 977 | 0.00 | | bss | 1920 | 1920 | 0.00 | | total | 75582 | 75582 | 0.00 | ## port_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 75999 | 75999 | 0.00 | | data | 968 | 968 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 77447 | 77447 | 0.00 | ## reaction_queue_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 23155 | 23155 | 0.00 | | data | 648 | 648 | 0.00 | | bss | 320 | 320 | 0.00 | | total | 24123 | 24123 | 0.00 | ## shutdown_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 67976 | 67976 | 0.00 | | data | 976 | 976 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 69432 | 69432 | 0.00 | ## startup_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 67093 | 67093 | 0.00 | | data | 976 | 976 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 68549 | 68549 | 0.00 | ## timer_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 67079 | 67079 | 0.00 | | data | 968 | 968 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 68527 | 68527 | 0.00 | ## trigger_value_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 19312 | 19312 | 0.00 | | data | 648 | 648 | 0.00 | | bss | 320 | 320 | 0.00 | | total | 20280 | 20280 | 0.00 |
github-actions[bot] commented 2 weeks ago

Memory usage after merging this PR will be:

Memory Report ## action_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 71446 | 71446 | 0.00 | | data | 976 | 976 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 72902 | 72902 | 0.00 | ## delayed_conn_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 76067 | 76067 | 0.00 | | data | 968 | 968 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 77515 | 77515 | 0.00 | ## event_queue_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 23478 | 23478 | 0.00 | | data | 648 | 648 | 0.00 | | bss | 320 | 320 | 0.00 | | total | 24446 | 24446 | 0.00 | ## physical_action_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 72685 | 72685 | 0.00 | | data | 977 | 977 | 0.00 | | bss | 1920 | 1920 | 0.00 | | total | 75582 | 75582 | 0.00 | ## port_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 75999 | 75999 | 0.00 | | data | 968 | 968 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 77447 | 77447 | 0.00 | ## reaction_queue_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 23155 | 23155 | 0.00 | | data | 648 | 648 | 0.00 | | bss | 320 | 320 | 0.00 | | total | 24123 | 24123 | 0.00 | ## shutdown_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 67976 | 67976 | 0.00 | | data | 976 | 976 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 69432 | 69432 | 0.00 | ## startup_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 67093 | 67093 | 0.00 | | data | 976 | 976 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 68549 | 68549 | 0.00 | ## timer_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 67079 | 67079 | 0.00 | | data | 968 | 968 | 0.00 | | bss | 480 | 480 | 0.00 | | total | 68527 | 68527 | 0.00 | ## trigger_value_test_c | | from | to | increase (%) | | -- | ---- | ------ | ------------ | | text | 19312 | 19312 | 0.00 | | data | 648 | 648 | 0.00 | | bss | 320 | 320 | 0.00 | | total | 20280 | 20280 | 0.00 |
github-actions[bot] commented 2 weeks ago

Coverage after merging pico-support into main will be

35.11%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
external/nanopb
   pb_common.c0%0%0%0%100, 100, 100, 100, 100, 102, 106, 110, 110, 110, 110, 110, 112, 116, 119, 122, 124, 126, 126, 126, 129–132, 14, 14, 14, 142–144, 15, 150–152, 152, 152, 152, 152, 154, 156, 158, 160–161, 163, 166, 168, 17, 171–172, 172, 172, 177, 18, 181, 184–185, 188, 190–192, 195, 197, 197, 197, 199, 20, 20, 20, 20, 20, 201, 201, 201, 203, 207, 210, 210, 210, 215, 22, 221, 224, 226, 226, 226, 229, 231, 231, 231–232, 232, 232, 235, 238, 238, 238, 24, 241–242, 246, 248, 248, 248, 25, 250, 254, 26, 260, 263, 265, 265, 265, 267, 269, 269, 269, 27, 272–273, 277, 28, 286–287, 29, 290, 292, 295, 297, 300, 302, 302, 302, 304, 306, 306, 306, 308, 308, 308, 308, 308, 310, 313, 313, 313, 313, 313, 315, 32, 320, 34, 36–41, 44, 46–48, 50–55, 58, 60–63, 65–70, 74, 74, 74, 77–78, 8, 82, 84, 84, 84, 86, 88, 88, 88–89, 89, 89–90, 90, 90, 93, 97
   pb_decode.c0%0%0%0%100, 1000–1001, 1003–1004, 1007, 1007, 1007, 1009, 1009, 1009, 1011, 1011, 1011–1012, 1012, 1012, 1016, 1016, 1016, 1022, 1022, 1022, 1024, 1024, 1024–1025, 1027, 1030, 1030, 1030, 1032, 1032, 1032, 1034, 1038, 1038, 1038, 104, 104, 104, 1042, 1042, 1042, 1042, 1042, 1045, 1045, 1045, 1047, 1047, 1047, 1049, 105, 105, 105, 1050, 1053, 1053, 1053, 1055, 1059, 1059, 1059, 1061, 1063, 1063, 1063–1064, 1066, 1066, 1066, 1069, 1074, 1074, 1074–1076, 108, 108, 108, 1082, 1082, 1082, 1082, 1082, 1084, 1084, 1084, 1089, 1089, 1089, 109, 109, 109, 1090, 1090, 1090, 1092, 1092, 1092, 1095–1097, 1100, 1103, 1103, 1103–1104, 1104, 1104, 1106–1107, 1110, 1110, 1110–1111, 1115, 1115, 1115–1116, 1116, 1116, 1118, 1118, 1118, 1123, 1125, 1125, 1125, 1129, 1129, 1129–1130, 1133, 1133, 1133, 1135, 1135, 1135–1136, 1136, 1136, 1140, 1140, 1140, 1142–1143, 1143, 1143, 1145, 1145, 1145, 115, 115, 115, 1151, 1154, 1158, 1158, 1158, 116, 1160, 1165, 1165, 1165–1166, 1168, 1170, 1170, 1170–1171, 1179, 118, 1182, 1186, 1193, 120, 125, 127, 127, 127–128, 128, 128, 131, 131, 131–132, 132, 132, 1336, 1341, 1346, 1349, 1349, 1349–1350, 1352–1353, 1356, 1359, 1359, 1359–1360, 1362, 1362, 1362–1363, 1365, 1367, 1370, 1377, 1377, 1377–1378, 138, 1382, 1389, 1393, 140, 1400, 1400, 1400–1401, 1405, 1416, 1420, 1422, 1425, 1427, 1427, 1427, 143, 1430, 1430, 1430–1431, 1434, 1434, 1434–1436, 1436, 1436–1438, 1438, 1438–1440, 1440, 1440–1441, 1443, 1443, 1443, 1445, 1445, 1445–1446, 1446, 1446, 1448, 1456, 1456, 1456, 1458, 1458, 1458–1459, 1463, 1463, 1463–1464, 1472, 1472, 1472–1473, 1475, 1479, 1479, 1479–1481, 1481, 1481–1483, 1483, 1483–1485, 1485, 1485–1486, 1488, 1488, 1488, 1490, 1490, 1490–1491, 1491, 1491, 1493, 1497, 1503, 1503, 1503–1504, 1506, 1506, 1506–1507, 1507, 1507, 1509–1510, 1510, 1510–1511, 1511, 1511, 1513, 1513, 1513, 1516, 1516, 1516, 1528, 1528, 1528–1529, 1529, 1529–1530, 1533–1534, 1537, 1541, 1543, 1543, 1543–1544, 1546, 1546, 1546–1547, 1547, 1547, 1550, 1552, 1552, 1552–1553,