From 60ffdfd339af65be0bdc36f80f2b351d12a157f4 Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Tue, 20 Jul 2021 19:59:51 +0800 Subject: [PATCH 01/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- zh-cn/device-dev/bundles/Readme-CN.md | 30 +- .../bundles/bundles-demo-devsample.md | 2 +- .../bundles/bundles-demo-environment.md | 12 +- .../bundles/bundles-demo-hpmdescription.md | 0 .../device-dev/bundles/bundles-demo.md | 6 +- .../bundles/bundles-guide-develop.md | 7 +- .../bundles/bundles-guide-overview.md | 2 +- .../bundles/bundles-guide-prepare.md | 6 +- .../device-dev/bundles/bundles-guide.md | 6 +- .../bundles/bundles-standard-rules.md | 346 ++++++- zh-cn/device-dev/bundles/bundles.md | 9 + ...1\2023-0-4\344\273\245\344\270\212-21.png" | Bin .../zh-cn_image_0000001051452177.png | Bin .../zh-cn_image_0000001051770876.png | Bin .../figure/zh-cn_image_0000001173313501.png | Bin 0 -> 397077 bytes ...6\346\216\245\345\205\263\347\263\273.png" | Bin .../figure/\347\273\204\344\273\2660924.png" | Bin ...6\345\205\263\347\263\273\345\233\276.png" | Bin 359473 -> 0 bytes .../\345\217\221\350\241\214\347\211\210.md" | 56 -- .../bundles/\346\246\202\350\277\260.md" | 38 - ...30\351\207\217\350\257\264\346\230\216.md" | 53 -- ...00\345\217\221\350\247\204\350\214\203.md" | 15 - ...04\344\273\266\346\236\204\346\210\220.md" | 99 -- ...04\344\273\266\347\211\210\346\234\254.md" | 23 - zh-cn/device-dev/driver/GPIO.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 79 -- .../driver/GPIO\346\246\202\350\277\260.md" | 82 -- ...61\345\212\250\346\241\206\346\236\266.md" | 15 - zh-cn/device-dev/driver/I2C.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 192 ---- .../driver/I2C\346\246\202\350\277\260.md" | 60 -- zh-cn/device-dev/driver/LCD.md | 9 - ...00\345\217\221\346\214\207\345\257\274.md" | 23 - ...00\345\217\221\346\246\202\350\277\260.md" | 46 - zh-cn/device-dev/driver/MIPI-DSI.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 98 -- ...77\347\224\250\346\214\207\345\257\274.md" | 365 -------- .../MIPI-DSI\346\246\202\350\277\260.md" | 84 -- zh-cn/device-dev/driver/RTC.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 97 -- .../driver/RTC\346\246\202\350\277\260.md" | 103 --- zh-cn/device-dev/driver/Readme-CN.md | 95 +- zh-cn/device-dev/driver/SDIO.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 129 --- .../driver/SDIO\346\246\202\350\277\260.md" | 149 --- zh-cn/device-dev/driver/SENSOR.md | 11 - zh-cn/device-dev/driver/SPI.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 70 -- .../driver/SPI\346\246\202\350\277\260.md" | 107 --- zh-cn/device-dev/driver/TOUCHSCREEN.md | 9 - ...00\345\217\221\346\214\207\345\257\274.md" | 36 - ...00\345\217\221\346\246\202\350\277\260.md" | 71 -- zh-cn/device-dev/driver/UART.md | 9 - ...77\347\224\250\345\256\236\344\276\213.md" | 67 -- .../driver/UART\346\246\202\350\277\260.md" | 106 --- zh-cn/device-dev/driver/WATCHDOG.md | 9 - zh-cn/device-dev/driver/WLAN.md | 9 - ...00\345\217\221\345\256\236\344\276\213.md" | 372 -------- ...00\345\217\221\346\214\207\345\257\274.md" | 18 - .../driver/drive-hdf-development.md | 12 +- .../device-dev/driver/drive-hdf-manage.md | 6 +- .../device-dev/driver/drive-hdf-news.md | 2 +- .../device-dev/driver/drive-hdf-overview.md | 0 .../device-dev/driver/drive-hdf-sample.md | 2 +- .../driver/drive-hdf-servicemanage.md | 0 .../driver/drive-peripherals-external-des.md | 411 ++++++++- .../driver/drive-peripherals-lcd-des.md | 74 +- .../driver/drive-peripherals-sensor-des.md | 699 +++++++++++++- .../driver/drive-peripherals-touch-des.md | 126 ++- zh-cn/device-dev/driver/drive-peripherals.md | 11 + .../driver/drive-platform-gpio-des.md | 203 ++++- .../driver/drive-platform-i2c-des.md | 289 +++++- .../driver/drive-platform-mipidsi-des.md | 554 ++++++++++++ .../driver/drive-platform-rtc-des.md | 259 +++++- .../driver/drive-platform-sdio-des.md | 393 ++++++-- .../driver/drive-platform-spi-des.md | 226 ++++- .../driver/drive-platform-uart-des.md | 244 ++++- .../driver/drive-platform-watchdog-des.md | 224 ++++- zh-cn/device-dev/driver/drive-platform.md | 19 + zh-cn/device-dev/driver/drive.md | 19 + ...5\346\224\266\346\216\245\345\217\243.png" | Bin ...7\347\244\272\346\204\217\345\233\276.png" | Bin .../MIPI-DSI\346\216\245\345\217\243.png" | Bin ...0\346\250\241\345\236\213\345\233\276.png" | Bin .../figure/TTL\346\216\245\345\217\243.png" | Bin ...0\347\224\250\347\256\241\350\204\232.png" | Bin .../zh-cn_image_0000001053405727.png | Bin .../zh-cn_image_0000001054280608.png | Bin .../zh-cn_image_0000001054564784.png | Bin .../zh-cn_image_0000001123509750.png} | Bin .../zh-cn_image_0000001123514210.png} | Bin .../zh-cn_image_0000001123540984.png} | Bin .../zh-cn_image_0000001123582482.png} | Bin .../zh-cn_image_0000001123675706.png} | Bin .../zh-cn_image_0000001123703482.png} | Bin .../zh-cn_image_0000001123742254.png} | Bin .../zh-cn_image_0000001170187071.png} | Bin .../zh-cn_image_0000001170227689.png} | Bin .../zh-cn_image_0000001170229891.png} | Bin .../zh-cn_image_0000001170262141.png} | Bin .../zh-cn_image_0000001170383063.png} | Bin ...1\345\212\250\346\250\241\345\236\213.png" | Bin ...1\345\212\250\346\250\241\345\236\213.png" | Bin ...\345\210\206\345\270\203\345\233\2764.png" | Bin .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../driver/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../driver/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes ...00\345\217\221\345\256\236\344\276\213.md" | 583 ------------ ...00\345\217\221\346\214\207\345\257\274.md" | 16 - ...13\350\257\225\346\214\207\345\257\274.md" | 82 -- .../driver/\345\244\226\350\256\276.md" | 11 - ...77\347\224\250\345\256\236\344\276\213.md" | 86 -- ...50\347\213\227\346\246\202\350\277\260.md" | 78 -- ...61\345\212\250\345\271\263\345\217\260.md" | 19 - zh-cn/device-dev/get-code/Readme-CN.md | 10 +- .../{figures/3.png => figure/3-20.png} | Bin .../zh-cn_image_0000001101413884.png | Bin .../zh-cn_image_0000001119755646.png | Bin .../zh-cn_image_0000001119915556.png | Bin .../zh-cn_image_0000001166715379.png | Bin .../device-dev/get-code/gettools-acquire.md | 12 +- .../get-code/{IDE.md => gettools-ide.md} | 2 +- .../device-dev/get-code/gettools.md | 4 +- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../device-dev/get-code/sourcecode-acquire.md | 852 +++++++++--------- zh-cn/device-dev/get-code/sourcecode.md | 5 + zh-cn/device-dev/glossary/Readme-CN.md | 4 +- .../device-dev/glossary/glossary.md | 0 .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes ...01\347\250\213\350\247\243\346\236\220.md" | 18 - ...41\345\236\213\347\256\200\344\273\213.md" | 12 - ...26\350\256\276\346\216\247\345\210\266.md" | 9 - zh-cn/device-dev/guide/Readme-CN.md | 109 +-- ...61\345\212\250\345\274\200\345\217\221.md" | 17 - .../device-camera-control-demo-photoguide.md | 1 + ...device-camera-control-demo-previewguide.md | 0 .../device-camera-control-demo-videoguide.md | 0 .../guide/device-camera-control-demo.md | 9 + .../guide/device-camera-control-example.md | 20 +- .../guide/device-camera-control-overview.md | 4 +- .../device-dev/guide/device-camera-control.md | 6 +- .../guide/device-camera-visual-addpage.md | 8 +- .../guide/device-camera-visual-debug.md | 2 +- .../guide/device-camera-visual-details.md | 0 .../guide/device-camera-visual-faqs.md | 0 .../guide/device-camera-visual-first-page.md | 8 +- .../guide/device-camera-visual-overview.md | 2 +- .../guide/device-camera-visual-prepare.md | 2 +- .../guide/device-camera-visual-run.md | 4 +- .../device-dev/guide/device-camera-visual.md | 19 + .../device-dev/guide/device-camera.md | 4 +- .../device-dev/guide/device-clock-guide.md | 266 ++++-- .../device-dev/guide/device-drive-demo.md | 87 +- ...ce-iotcamera-control-demo-photodevguide.md | 1 + ...ce-iotcamera-control-demo-videodevguide.md | 0 .../guide/device-iotcamera-control-demo.md | 7 + .../guide/device-iotcamera-control-example.md | 16 +- .../device-iotcamera-control-overview.md | 4 +- .../guide/device-iotcamera-control.md | 9 + .../device-dev/guide/device-iotcamera.md | 2 +- .../guide/device-outerdrive-demo.md | 483 ++++++++++ .../guide/device-wifi-led-outcontrol.md | 27 +- .../device-dev/guide/device-wifi-sdk.md | 2 +- .../device-dev/guide/device-wifi.md | 4 +- zh-cn/device-dev/guide/device.md | 15 + .../guide/{figures => figure}/Clock.png | Bin ...D\351\227\252\347\203\201\345\233\276.gif" | Bin .../Video_2020-07-25_173141.gif | Bin .../zh-cn_image_0000001078563230.png | Bin .../zh-cn_image_0000001082434703.png | Bin .../zh-cn_image_0000001169991055.png} | Bin ...7\345\212\250\347\244\272\344\276\213.png" | Bin ...5\347\250\213\347\233\256\345\275\225.png" | Bin ...5\347\250\213\347\233\256\345\275\225.png" | Bin ...3\346\226\207\344\273\266\345\233\276.png" | Bin ...7\346\240\217\346\225\210\346\236\234.png" | Bin ...0\346\240\217\346\225\210\346\236\234.png" | Bin .../figure/\346\241\214\351\235\242.png" | Bin ...3\345\212\240\351\241\265\351\235\242.png" | Bin .../figure/\347\273\230\345\233\2761.png" | Bin ...3\345\215\260\346\227\245\345\277\227.png" | Bin ...3\345\215\260\346\227\245\345\277\227.png" | Bin ...5\351\235\242\345\220\215\347\247\260.png" | Bin ...3\345\215\260\346\227\245\345\277\227.png" | Bin ...3\345\215\260\346\227\245\345\277\227.png" | Bin ...0\346\225\210\346\236\234\345\233\276.png" | Bin ...4\350\247\210\346\225\210\346\236\234.jpg" | Bin .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../guide/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../guide/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes ...350\207\263HDF\346\241\206\346\236\266.md" | 35 - ...62\350\201\224\345\207\275\346\225\260.md" | 40 - ...350\207\263HDF\346\241\206\346\236\266.md" | 4 - ...00\345\217\221\347\244\272\344\276\213.md" | 15 - ...350\247\201\351\227\256\351\242\230-10.md" | 39 - ...00\345\217\221\347\244\272\344\276\213.md" | 11 - ...\345\217\221\345\207\206\345\244\207-8.md" | 8 - ...45\345\277\227\345\210\206\346\236\220.md" | 19 - ...17\345\244\264\346\216\247\345\210\266.md" | 9 - ...00\345\217\221\347\244\272\344\276\213.md" | 15 - .../guide/\346\246\202\350\277\260-10.md" | 26 - .../guide/\346\246\202\350\277\260-12.md" | 9 - .../guide/\346\246\202\350\277\260-7.md" | 15 - .../guide/\346\246\202\350\277\260.md" | 4 - ...57\345\242\203\345\207\206\345\244\207.md" | 7 - ...57\345\242\203\346\220\255\345\273\272.md" | 7 - ...\346\234\272\350\277\220\350\241\214-9.md" | 35 - ...04\346\272\220\344\273\213\347\273\215.md" | 6 - ...\344\276\213\345\274\200\345\217\221-2.md" | 9 - ...72\344\276\213\345\274\200\345\217\221.md" | 7 - ...41\346\201\257\350\247\243\346\236\220.md" | 17 - ...76\345\220\215\346\211\223\345\214\205.md" | 4 - ...350\207\263HDF\346\241\206\346\236\266.md" | 22 - ...345\217\212\347\203\247\345\275\225-13.md" | 17 - ...21\345\217\212\347\203\247\345\275\225.md" | 20 - ...24\347\224\250\345\274\200\345\217\221.md" | 19 - ...03\350\257\225\351\252\214\350\257\201.md" | 5 - ...01\346\234\211\351\251\261\345\212\250.md" | 99 -- ...50\344\273\266\344\277\241\346\201\257.md" | 98 -- ...17\350\277\260\344\277\241\346\201\257.md" | 64 -- .../guide/\351\252\214\350\257\201.md" | 9 - ...1\243\345\205\261\345\273\272ToDo-List.md" | 245 ----- ...70\350\247\201\351\227\256\351\242\230.md" | 51 -- ...00\345\217\221\345\256\236\344\276\213.md" | 49 - ...00\345\217\221\346\214\207\345\257\274.md" | 128 --- ...55\345\273\272\347\216\257\345\242\203.md" | 82 -- .../template/\346\246\202\350\277\260.md" | 169 ---- zh-cn/device-dev/kernel/IPC.md | 11 - zh-cn/device-dev/kernel/LittleFS.md | 7 - zh-cn/device-dev/kernel/Readme-CN.md | 312 +++---- ...6\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 37179 bytes ...7\347\224\250\344\277\241\346\201\257.png" | Bin ...5\345\217\243\346\241\206\346\236\266.png" | Bin .../Snipaste_2021-01-26_10-38-58-18.png} | Bin .../Snipaste_2021-01-26_10-38-58-19.png} | Bin .../Snipaste_2021-01-26_10-38-58.png | Bin ...7\347\232\204\345\205\263\347\263\273.png" | Bin ...1\345\210\260\346\226\207\344\273\266.png" | Bin ...3\345\207\272\350\257\264\346\230\216.png" | Bin ...3\345\207\272\350\257\264\346\230\216.png" | Bin ...3\345\207\272\347\244\272\344\276\213.png" | Bin .../watch-task-\347\273\223\346\236\234.png" | Bin .../zh-cn_image_0000001051690323.png | Bin .../zh-cn_image_0000001052370303.png | Bin .../zh-cn_image_0000001052370305.png | Bin .../zh-cn_image_0000001052370307.png | Bin .../zh-cn_image_0000001052530298.png | Bin .../zh-cn_image_0000001052810300.png | Bin .../zh-cn_image_0000001052810304.png | Bin .../zh-cn_image_0000001053224218.png | Bin .../zh-cn_image_0000001053710680.png | Bin .../zh-cn_image_0000001053826366.png | Bin .../zh-cn_image_0000001054624363.png | Bin .../zh-cn_image_0000001121429646.png | Bin .../zh-cn_image_0000001124146302.png | Bin .../zh-cn_image_0000001124147160.png | Bin .../zh-cn_image_0000001124306828.png | Bin .../zh-cn_image_0000001124307264.png | Bin .../zh-cn_image_0000001124310992.png | Bin .../figure/zh-cn_image_0000001132085260.png | Bin 0 -> 21297 bytes .../figure/zh-cn_image_0000001132778524.png | Bin 0 -> 40753 bytes .../figure/zh-cn_image_0000001132935054.png | Bin 0 -> 19889 bytes .../zh-cn_image_0000001170790681.png | Bin ...4\345\216\237\347\220\206\345\233\276.png" | Bin ...4\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 34146 bytes ...7\347\224\250\346\203\205\345\206\265.png" | Bin ...1\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 11238 bytes ...1\351\200\201\345\244\261\350\264\245.png" | Bin ...1\347\273\223\346\236\234\345\233\276.png" | Bin ...4\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 52280 bytes ...uid\344\270\272100-gid\344\270\272200.png" | Bin ...46\235\203\351\231\220\344\270\272666.png" | Bin ...47\276\244\347\273\204\344\270\272100.png" | Bin ...0\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 46397 bytes ...7\345\212\250\346\265\201\347\250\213.png" | Bin 0 -> 54835 bytes ...0\346\236\266\346\236\204\345\233\276.png" | Bin ...5\345\255\230\350\266\212\347\225\214.png" | Bin ...0\347\232\204\347\224\250\346\210\267.png" | Bin ...73\272-share-\347\233\256\345\275\225.png" | Bin ...-\347\232\204\346\226\207\344\273\266.png" | Bin ...-\347\232\204\347\233\256\345\275\225.png" | Bin ...0\345\277\203\347\256\227\346\263\225.png" | Bin 0 -> 50972 bytes ...6\347\273\223\346\236\204\345\233\276.png" | Bin 0 -> 36975 bytes ...7\345\256\232\350\277\233\347\250\213.png" | Bin ...6\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 42208 bytes ...5\345\255\230\350\266\212\347\225\214.png" | Bin ...3\345\207\272\347\273\223\346\236\234.png" | Bin ...3\347\273\237\346\227\245\346\234\237.png" | Bin ...1\345\275\242\347\273\223\346\236\204.png" | Bin ...7\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 16031 bytes ...46\236\234\345\246\202\344\270\213-17.png" | Bin ...3\346\236\234\345\246\202\344\270\213.png" | Bin ...6\347\232\204\344\277\241\346\201\257.png" | Bin ...5\345\256\271\345\246\202\344\270\213.png" | Bin ...3\345\211\215\350\267\257\345\276\204.png" | Bin ...7\347\224\250\346\203\205\345\206\265.png" | Bin ...7\347\224\250\346\203\205\345\206\265.png" | Bin ...47\234\213\350\277\233\347\250\213PID.png" | Bin ...0\345\210\206\344\277\241\346\201\257.png" | Bin ...6\345\231\250\344\277\241\346\201\257.png" | Bin ...7\351\207\217\344\277\241\346\201\257.png" | Bin ...0\345\205\263\344\277\241\346\201\257.png" | Bin ...51\231\244\347\233\256\345\275\225-sd.png" | Bin ...\244\346\226\207\344\273\266-log1-txt.png" | Bin ...3\347\244\272\346\204\217\345\233\276.png" | Bin .../\350\276\223\345\205\245-telnet-on.png" | Bin ...3\347\244\272\346\204\217\345\233\276.png" | Bin ...0\347\244\272\346\204\217\345\233\276.png" | Bin 0 -> 25459 bytes ...4\347\244\272\346\204\217\345\233\276.png" | Bin 33454 -> 0 bytes ...1\347\244\272\346\204\217\345\233\276.png" | Bin 51242 -> 0 bytes ...4\347\244\272\346\204\217\345\233\276.png" | Bin 45092 -> 0 bytes ...7\345\212\250\346\265\201\347\250\213.png" | Bin 41391 -> 0 bytes ...0\345\277\203\347\256\227\346\263\225.png" | Bin 61957 -> 0 bytes ...6\347\273\223\346\236\204\345\233\276.png" | Bin 32118 -> 0 bytes ...6\347\244\272\346\204\217\345\233\276.png" | Bin 28092 -> 0 bytes ...0\347\244\272\346\204\217\345\233\276.png" | Bin 16217 -> 0 bytes .../kernel/kernel-lite-basic-mini-time.md | 4 +- .../kernel/kernel-lite-mini-app-code.md | 0 .../kernel/kernel-lite-mini-app-data-list.md | 2 +- .../kernel/kernel-lite-mini-app-data.md | 2 +- .../kernel/kernel-lite-mini-app-lib-cmsis.md | 2 +- .../kernel/kernel-lite-mini-app-lib-posix.md | 0 .../kernel/kernel-lite-mini-app-lib.md | 4 +- .../device-dev/kernel/kernel-lite-mini-app.md | 9 + ...ernel-lite-mini-basic-interrupt-concept.md | 0 .../kernel-lite-mini-basic-interrupt-guide.md | 2 +- .../kernel-lite-mini-basic-interrupt.md | 4 +- .../kernel-lite-mini-basic-ipc-event-basic.md | 2 +- .../kernel-lite-mini-basic-ipc-event-guide.md | 2 +- .../kernel-lite-mini-basic-ipc-event.md | 7 + .../kernel-lite-mini-basic-ipc-mutex-basic.md | 2 +- .../kernel-lite-mini-basic-ipc-mutex-guide.md | 2 +- .../kernel-lite-mini-basic-ipc-mutex.md | 4 +- .../kernel-lite-mini-basic-ipc-queue-basic.md | 2 +- .../kernel-lite-mini-basic-ipc-queue-guide.md | 2 +- .../kernel-lite-mini-basic-ipc-queue.md | 4 +- .../kernel-lite-mini-basic-ipc-sem-basic.md | 2 +- .../kernel-lite-mini-basic-ipc-sem-guide.md | 2 +- .../kernel/kernel-lite-mini-basic-ipc-sem.md | 4 +- .../kernel/kernel-lite-mini-basic-ipc.md | 11 + .../kernel-lite-mini-basic-memory-basic.md | 0 .../kernel-lite-mini-basic-memory-dynamic.md | 6 +- .../kernel-lite-mini-basic-memory-static.md | 4 +- .../kernel/kernel-lite-mini-basic-memory.md | 9 + .../kernel-lite-mini-basic-soft-basic.md | 0 .../kernel-lite-mini-basic-soft-guide.md | 2 +- .../kernel/kernel-lite-mini-basic-soft.md | 4 +- .../kernel-lite-mini-basic-task-basic.md | 2 +- .../kernel-lite-mini-basic-task-guide.md | 2 +- .../kernel/kernel-lite-mini-basic-task.md | 4 +- .../kernel-lite-mini-basic-time-basic.md | 0 .../kernel-lite-mini-basic-time-guide.md | 2 +- .../kernel/kernel-lite-mini-basic.md | 15 + .../kernel-lite-mini-extend-cpup-basic.md | 0 .../kernel-lite-mini-extend-cpup-guide.md | 0 .../kernel/kernel-lite-mini-extend-cpup.md | 7 + ...md => kernel-lite-mini-extend-file-fat.md} | 2 +- .../kernel-lite-mini-extend-file-lit-basic.md | 44 +- .../kernel-lite-mini-extend-file-lit-guide.md | 0 .../kernel-lite-mini-extend-file-lit.md | 7 + .../kernel/kernel-lite-mini-extend-file.md | 4 +- .../kernel/kernel-lite-mini-extend-support.md | 2 +- .../kernel/kernel-lite-mini-extend.md | 9 + .../kernel-lite-mini-inner-debug-cet.md | 2 +- .../kernel-lite-mini-inner-debug-det.md | 2 +- .../kernel-lite-mini-inner-debug-mes.md | 2 +- .../kernel/kernel-lite-mini-inner-debug.md | 6 +- .../kernel-lite-mini-inner-exception.md | 2 +- .../kernel/kernel-lite-mini-inner-trace.md | 0 .../kernel/kernel-lite-mini-inner.md | 9 + .../device-dev/kernel/kernel-lite-mini-m.md | 6 +- .../kernel/kernel-lite-mini-start.md | 6 +- zh-cn/device-dev/kernel/kernel-lite-mini.md | 13 + .../kernel/kernel-lite-small-basic.md | 11 + .../{FAT.md => kernel-lite-small-file-fat.md} | 0 ...FFS2.md => kernel-lite-small-file-jffs.md} | 0 .../{NFS.md => kernel-lite-small-file-nfs.md} | 2 +- ...MFS.md => kernel-lite-small-file-ramfs.md} | 0 .../{VFS.md => kernel-lite-small-file-vfs.md} | 6 +- .../kernel/kernel-lite-small-file.md | 10 +- .../kernel/kernel-lite-small-lib-differ.md | 0 .../kernel/kernel-lite-small-lib-standard.md | 4 +- .../kernel/kernel-lite-small-lib.md | 4 +- .../kernel/kernel-lite-small-memory.md | 4 +- .../kernel/kernel-lite-small-net.md | 2 +- .../kernel/kernel-lite-small-process.md | 2 +- .../kernel/kernel-lite-small-shell-cmd-abn.md | 0 ...> kernel-lite-small-shell-cmd-file-cat.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-cd.md} | 2 +- ...kernel-lite-small-shell-cmd-file-chgrp.md} | 2 +- ...kernel-lite-small-shell-cmd-file-chmod.md} | 2 +- ...kernel-lite-small-shell-cmd-file-chown.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-cp.md} | 2 +- ...ernel-lite-small-shell-cmd-file-format.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-is.md} | 2 +- ... kernel-lite-small-shell-cmd-file-isfd.md} | 2 +- ...kernel-lite-small-shell-cmd-file-mkdir.md} | 2 +- ...kernel-lite-small-shell-cmd-file-mount.md} | 2 +- ... kernel-lite-small-shell-cmd-file-part.md} | 2 +- ...rnel-lite-small-shell-cmd-file-partion.md} | 2 +- ...> kernel-lite-small-shell-cmd-file-pwd.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-rm.md} | 4 +- ...kernel-lite-small-shell-cmd-file-rmdir.md} | 2 +- ...> kernel-lite-small-shell-cmd-file-sta.md} | 2 +- ... kernel-lite-small-shell-cmd-file-sync.md} | 0 ...kernel-lite-small-shell-cmd-file-touch.md} | 4 +- ...ernel-lite-small-shell-cmd-file-umount.md} | 2 +- ...kernel-lite-small-shell-cmd-file-write.md} | 4 +- .../kernel-lite-small-shell-cmd-file.md | 45 + .../kernel/kernel-lite-small-shell-cmd-mag.md | 4 +- ...=> kernel-lite-small-shell-cmd-net-arp.md} | 2 +- ... => kernel-lite-small-shell-cmd-net-dh.md} | 2 +- ...=> kernel-lite-small-shell-cmd-net-dns.md} | 0 ...=> kernel-lite-small-shell-cmd-net-ipc.md} | 0 ...=> kernel-lite-small-shell-cmd-net-ipd.md} | 0 ...=> kernel-lite-small-shell-cmd-net-net.md} | 4 +- ...=> kernel-lite-small-shell-cmd-net-ntp.md} | 0 ...> kernel-lite-small-shell-cmd-net-ping.md} | 2 +- ... kernel-lite-small-shell-cmd-net-ping6.md} | 0 ...=> kernel-lite-small-shell-cmd-net-tel.md} | 4 +- ...> kernel-lite-small-shell-cmd-net-tftp.md} | 2 +- .../kernel/kernel-lite-small-shell-cmd-net.md | 25 + ...> kernel-lite-small-shell-cmd-sys-cpup.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-date.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-demsg.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-exec.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-free.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-help.md} | 0 ...=> kernel-lite-small-shell-cmd-sys-hwi.md} | 4 +- ...> kernel-lite-small-shell-cmd-sys-kill.md} | 10 +- ...=> kernel-lite-small-shell-cmd-sys-log.md} | 2 +- ...=> kernel-lite-small-shell-cmd-sys-mem.md} | 4 +- ...=> kernel-lite-small-shell-cmd-sys-oom.md} | 2 +- ...=> kernel-lite-small-shell-cmd-sys-pmm.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-reset.md} | 0 ...=> kernel-lite-small-shell-cmd-sys-sem.md} | 4 +- ... kernel-lite-small-shell-cmd-sys-stack.md} | 2 +- ... => kernel-lite-small-shell-cmd-sys-su.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-swymr.md} | 6 +- ...=> kernel-lite-small-shell-cmd-sys-sys.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-task.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-uname.md} | 2 +- ...=> kernel-lite-small-shell-cmd-sys-vmm.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-watch.md} | 4 +- .../kernel/kernel-lite-small-shell-cmd-sys.md | 47 + .../kernel/kernel-lite-small-shell-cmd.md | 8 +- .../kernel/kernel-lite-small-shell-des.md | 4 +- .../kernel/kernel-lite-small-shell-guide.md | 4 +- .../kernel/kernel-lite-small-shell-sample.md | 0 .../kernel/kernel-lite-small-shell.md | 15 + .../kernel/kernel-lite-small-thread.md | 2 +- zh-cn/device-dev/kernel/kernel-lite-small.md | 11 + .../device-dev/kernel/kernel-lite.md | 4 +- .../kernel/kernel-standard-build.md | 2 +- .../device-dev/kernel/kernel-standard-des.md | 0 .../kernel/kernel-standard-patch.md | 2 +- zh-cn/device-dev/kernel/kernel-standard.md | 9 + zh-cn/device-dev/kernel/kernel.md | 7 + .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../kernel/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../kernel/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../kernel/\344\272\213\344\273\266.md" | 7 - ...05\345\255\230\347\256\241\347\220\206.md" | 9 - ...05\346\240\270\350\260\203\346\265\213.md" | 9 - ...\347\241\200\345\206\205\346\240\270-1.md" | 15 - ...72\347\241\200\345\206\205\346\240\270.md" | 11 - ...73\347\273\237\345\206\205\346\240\270.md" | 15 - ...51\345\261\225\347\273\204\344\273\266.md" | 9 - ...07\344\273\266\345\221\275\344\273\244.md" | 45 - ...73\347\273\237\345\206\205\346\240\270.md" | 9 - ...73\347\273\237\345\221\275\344\273\244.md" | 47 - ...21\347\273\234\345\221\275\344\273\244.md" | 25 - .../kernel/\350\260\203\346\265\213.md" | 15 - ...73\347\273\237\345\206\205\346\240\270.md" | 11 - .../kernel/\351\231\204\345\275\225.md" | 9 - zh-cn/device-dev/porting/Readme-CN.md | 56 +- zh-cn/device-dev/porting/figure/HDF_WIFI.png | Bin 0 -> 60062 bytes ...0\345\212\237\347\225\214\351\235\242.png" | Bin zh-cn/device-dev/porting/figure/init.jpg | Bin 0 -> 23299 bytes zh-cn/device-dev/porting/figure/shell.jpg | Bin 0 -> 13564 bytes .../zh-cn_image_0000001072304191.png | Bin .../zh-cn_image_0000001073943511.png | Bin .../figure/zh-cn_image_0000001126198996.png | Bin 0 -> 11830 bytes .../figure/zh-cn_image_0000001126354076.png | Bin 0 -> 89981 bytes .../figure/zh-cn_image_0000001126358814.png | Bin 0 -> 55221 bytes ...7\345\212\250\346\241\206\346\236\266.jpg" | Bin 0 -> 612762 bytes .../figure/\345\210\206\347\261\273.png" | Bin 0 -> 20230 bytes ...2\351\205\215\346\265\201\347\250\213.png" | Bin ...3\351\224\256\346\255\245\351\252\244.png" | Bin .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../porting/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../porting/transplant-chip-board-bundle.md | 2 +- .../transplant-chip-board-component.md | 4 +- .../porting/transplant-chip-board-drive.md | 0 .../porting/transplant-chip-board-hal.md | 0 .../porting/transplant-chip-board-overview.md | 4 +- .../porting/transplant-chip-board-xts.md | 4 +- .../porting/transplant-chip-board.md | 15 + .../porting/transplant-chip-faqs.md | 0 .../transplant-chip-kernel-adjustment.md | 2 +- .../transplant-chip-kernel-overview.md | 2 +- .../porting/transplant-chip-kernel-verify.md | 2 +- .../porting/transplant-chip-kernel.md | 9 + .../porting/transplant-chip-prepare-knows.md | 6 +- .../transplant-chip-prepare-process.md | 0 .../porting/transplant-chip-prepare.md | 4 +- zh-cn/device-dev/porting/transplant-chip.md | 11 + .../device-dev/porting/transplant-minichip.md | 11 + .../porting/transplant-smallchip-drive-des.md | 11 + .../porting/transplant-smallchip-drive-oom.md | 390 ++++++++ .../transplant-smallchip-drive-plat.md | 165 ++++ .../porting/transplant-smallchip-drive.md | 9 + .../porting/transplant-smallchip-kernel-a.md | 265 ++++++ .../transplant-smallchip-kernel-linux.md | 125 +++ .../porting/transplant-smallchip-kernel.md | 7 + .../transplant-smallchip-prepare-building.md | 142 +++ .../transplant-smallchip-prepare-needs.md | 98 ++ .../porting/transplant-smallchip-prepare.md | 7 + .../porting/transplant-smallchip.md | 9 + .../porting/transplant-thirdparty-cmake.md | 6 +- .../porting/transplant-thirdparty-makefile.md | 6 +- .../porting/transplant-thirdparty-overview.md | 0 .../porting/transplant-thirdparty.md | 9 + zh-cn/device-dev/porting/transplant.md | 9 + ...73\346\244\215\346\214\207\345\257\274.md" | 9 - ...73\346\244\215\346\214\207\345\257\274.md" | 11 - ...05\346\240\270\347\247\273\346\244\215.md" | 9 - ...73\347\273\237\347\247\273\346\244\215.md" | 15 - .../public_sys-resources/icon-caution.gif | Bin .../public_sys-resources/icon-danger.gif | Bin .../public_sys-resources/icon-note.gif | Bin .../public_sys-resources/icon-notice.gif | Bin .../public_sys-resources/icon-tip.gif | Bin .../public_sys-resources/icon-warning.gif | Bin ...16\345\274\200\345\217\221\346\235\277.md" | 11 - ...18\345\274\200\345\217\221\346\235\277.md" | 9 - ...61\345\274\200\345\217\221\346\235\277.md" | 11 - zh-cn/device-dev/quick-start/Readme-CN.md | 66 +- .../quick-start/{figures => figure}/1.png | Bin .../quick-start/{figures => figure}/10.png | Bin .../quick-start/{figures => figure}/2.png | Bin .../2021-01-27_170334-16.png} | Bin .../2021-01-27_170334-2.png | Bin .../2021-01-27_170334-5.png | Bin .../{figures => figure}/2021-01-27_170334.png | Bin .../quick-start/{figures => figure}/3-0.png | Bin .../quick-start/{figures => figure}/3.png | Bin .../figure/3516\346\255\243\351\235\242.png" | Bin .../figure/3861\346\255\243\351\235\242.png" | Bin .../quick-start/{figures => figure}/4.png | Bin .../quick-start/{figures => figure}/5-1.png | Bin .../quick-start/{figures => figure}/5.png | Bin .../quick-start/{figures => figure}/6.png | Bin ...2\345\244\226\350\247\202\345\233\276.png" | Bin ...8\346\255\243\350\203\214\351\235\242.png" | Bin ...\261\2023-0-4\344\273\245\344\270\212.png" | Bin ...3\346\230\276\347\244\272\345\233\276.png" | Bin .../{figures => figure}/changjian1-10.png | Bin .../{figures => figure}/changjian1.png | Bin .../{figures => figure}/chuankou1-6.png | Bin .../{figures => figure}/chuankou1.png | Bin .../quick-start/{figures => figure}/qi1.png | Bin .../zh-cn_image_0000001057335403.png | Bin .../zh-cn_image_0000001072468991.png | Bin .../zh-cn_image_0000001072757874.png | Bin .../zh-cn_image_0000001073840162.png | Bin .../zh-cn_image_0000001113969542.png | Bin .../zh-cn_image_0000001114129428.png | Bin .../zh-cn_image_0000001114129432.png | Bin .../zh-cn_image_0000001117463460.png | Bin .../zh-cn_image_0000001117621400.png | Bin .../zh-cn_image_0000001128311066.png | Bin .../zh-cn_image_0000001128311070.png | Bin .../zh-cn_image_0000001128311072.png | Bin .../zh-cn_image_0000001128311090.png | Bin .../zh-cn_image_0000001128311092.png | Bin .../zh-cn_image_0000001128311094.png | Bin .../zh-cn_image_0000001128311096.png | Bin .../zh-cn_image_0000001128311098.png | Bin .../zh-cn_image_0000001128311100.png | Bin .../zh-cn_image_0000001128311104.png | Bin .../zh-cn_image_0000001128311116.png | Bin .../zh-cn_image_0000001128311118.png | Bin .../zh-cn_image_0000001128470864.png | Bin .../zh-cn_image_0000001128470880.png | Bin .../zh-cn_image_0000001128470900.png | Bin .../zh-cn_image_0000001128470902.png | Bin .../zh-cn_image_0000001128470904.png | Bin .../zh-cn_image_0000001128470906.png | Bin .../zh-cn_image_0000001128470908.png | Bin .../zh-cn_image_0000001128470922.png | Bin .../zh-cn_image_0000001130278040.png | Bin .../zh-cn_image_0000001130584312.png | Bin .../zh-cn_image_0000001142794291.png | Bin .../zh-cn_image_0000001142802505.png | Bin .../zh-cn_image_0000001174270699.png | Bin .../zh-cn_image_0000001174270713.png | Bin .../zh-cn_image_0000001174270715.png | Bin .../zh-cn_image_0000001174270727.png | Bin .../zh-cn_image_0000001174270729.png | Bin .../zh-cn_image_0000001174270731.png | Bin .../zh-cn_image_0000001174270733.png | Bin .../zh-cn_image_0000001174270735.png | Bin .../zh-cn_image_0000001174270737.png | Bin .../zh-cn_image_0000001174270739.png | Bin .../zh-cn_image_0000001174270743.png | Bin .../zh-cn_image_0000001174270749.png | Bin .../zh-cn_image_0000001174270751.png | Bin .../zh-cn_image_0000001174350615.png | Bin .../zh-cn_image_0000001174350623.png | Bin .../zh-cn_image_0000001174350633.png | Bin .../zh-cn_image_0000001174350641.png | Bin .../zh-cn_image_0000001174350643.png | Bin .../zh-cn_image_0000001174350647.png | Bin .../zh-cn_image_0000001174350649.png | Bin .../zh-cn_image_0000001174350651.png | Bin .../zh-cn_image_0000001174350653.png | Bin .../zh-cn_image_0000001174350655.png | Bin .../zh-cn_image_0000001174350659.png | Bin .../zh-cn_image_0000001174350661.png | Bin .../zh-cn_image_0000001174350669.png | Bin .../zh-cn_image_0000001176317561.png | Bin ...51\227\256\347\275\221\347\273\234-15.png" | Bin ...7\351\227\256\347\275\221\347\273\234.png" | Bin ...345\217\243\347\273\210\347\253\257-9.png" | Bin ...2\345\217\243\347\273\210\347\253\257.png" | Bin ...0\347\250\213\345\272\217\345\233\276.png" | Bin ...0\347\250\213\345\272\217\345\233\276.png" | Bin .../figure/\346\210\252\345\233\276.png" | Bin ...345\244\261\350\264\245\345\233\276-7.png" | Bin ...3\345\244\261\350\264\245\345\233\276.png" | Bin ...45\272\224\347\224\250\345\233\276-14.png" | Bin ...e\345\272\224\347\224\250\345\233\276.png" | Bin ...347\232\204\347\273\210\347\253\257-8.png" | Bin ...3\347\232\204\347\273\210\347\253\257.png" | Bin ...5\275\242\345\244\207\344\273\275-292.png" | Bin ...350\277\236\347\272\277\345\233\276-3.png" | Bin ...6\350\277\236\347\272\277\345\233\276.png" | Bin ...46\226\207\344\273\266\345\233\276-11.png" | Bin ...6\346\226\207\344\273\266\345\233\276.png" | Bin ...50\256\276\347\275\256\345\233\276-12.png" | Bin ...1\350\256\276\347\275\256\345\233\276.png" | Bin ...347\275\256\345\233\276\344\276\213-4.png" | Bin ...6\347\275\256\345\233\276\344\276\213.png" | Bin ...47\225\214\351\235\242\345\233\276-13.png" | Bin ...4\347\225\214\351\235\242\345\233\276.png" | Bin .../3516\346\255\243\351\235\242-16.png" | Bin 420903 -> 0 bytes ...5\351\227\250\346\265\201\347\250\213.png" | Bin 19686 -> 0 bytes .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../quickstart-lite-env-setup-des.md | 0 .../quickstart-lite-env-setup-faqs.md | 0 .../quickstart-lite-env-setup-lin.md | 22 +- .../quickstart-lite-env-setup-win.md | 30 +- .../quick-start/quickstart-lite-env-setup.md | 11 + .../quickstart-lite-introduction-hi3516.md | 2 +- .../quickstart-lite-introduction-hi3518.md | 4 +- .../quickstart-lite-introduction-hi3861.md | 6 +- .../quickstart-lite-introduction.md | 9 + .../quick-start/quickstart-lite-overview.md | 0 .../quickstart-lite-steps-board3516-faqs.md | 32 +- ...quickstart-lite-steps-board3516-program.md | 22 +- ...quickstart-lite-steps-board3516-running.md | 40 +- ...quickstart-lite-steps-board3516-setting.md | 6 +- .../quickstart-lite-steps-board3516.md | 11 + .../quickstart-lite-steps-board3518-faqs.md | 32 +- ...quickstart-lite-steps-board3518-running.md | 40 +- ...quickstart-lite-steps-board3518-setting.md | 6 +- .../quickstart-lite-steps-board3518.md | 9 + ...ckstart-lite-steps-board3861-connection.md | 36 +- .../quickstart-lite-steps-board3861-faqs.md | 14 +- ...quickstart-lite-steps-board3861-running.md | 4 +- ...quickstart-lite-steps-board3861-setting.md | 14 +- .../quickstart-lite-steps-board3861.md | 11 + .../quick-start/quickstart-lite-steps.md | 9 + .../device-dev/quick-start/quickstart-lite.md | 11 + .../quick-start/quickstart-standard-burn.md | 20 +- .../quickstart-standard-docker-environment.md | 8 +- .../quick-start/quickstart-standard-faq.md | 0 ...quickstart-standard-package-environment.md | 8 +- ...quickstart-standard-windows-environment.md | 29 +- .../quick-start/quickstart-standard.md | 15 + zh-cn/device-dev/quick-start/quickstart.md | 7 + ...43\345\274\200\345\217\221\346\235\277.md" | 9 - ...45\351\227\250\344\273\213\347\273\215.md" | 54 -- ...00\345\217\221\346\255\245\351\252\244.md" | 9 - ...73\347\273\237\347\216\257\345\242\203.md" | 11 - ...73\347\273\237\345\205\245\351\227\250.md" | 15 - ...73\347\273\237\345\205\245\351\227\250.md" | 11 - zh-cn/device-dev/security/Readme-CN.md | 4 +- ...3\351\231\220\345\274\271\347\252\227.png" | Bin ...0\351\242\204\346\216\210\346\235\203.png" | Bin ...0\347\247\201\345\243\260\346\230\216.png" | Bin ...0\346\233\264\351\200\232\347\237\245.png" | Bin ...0\346\230\216\345\205\245\345\217\243.png" | Bin ...0\346\230\216\346\222\244\351\224\200.png" | Bin ...0\346\230\216\346\222\244\351\224\200.png" | Bin ...C\346\265\201\347\250\213\345\233\276.png" | Bin ...5\347\273\223\346\236\204\345\233\276.png" | Bin ...4\347\244\272\346\204\217\345\233\276.png" | Bin ...3\346\265\201\347\250\213\345\233\276.png" | Bin .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../safety-protection-privacyguide.md | 14 +- .../security/safety-safeguide-security.md | 44 +- zh-cn/device-dev/security/safety.md | 7 + zh-cn/device-dev/subsystems/DFX.md | 11 - zh-cn/device-dev/subsystems/Readme-CN.md | 172 ++-- .../Sensor\346\234\215\345\212\241.md" | 9 - .../20200721-223604(eSpace).gif | Bin ...4\345\205\263\347\263\273\345\233\276.png" | Bin ...7\346\241\206\346\236\266\345\233\276.png" | Bin ...5\345\212\241\345\220\257\345\212\250.png" | Bin ...6\346\200\247\350\276\223\345\207\272.png" | Bin ...6\346\200\247\350\276\223\345\207\272.png" | Bin ...1\345\207\273\346\225\210\346\236\234.gif" | Bin ...3\346\225\210\346\236\234\345\233\276.png" | Bin .../{figures => figure}/unnaming.png | Bin .../zh-cn_image_0000001051782526.png | Bin .../zh-cn_image_0000001052582522.png | Bin .../zh-cn_image_0000001052662559.png | Bin .../zh-cn_image_0000001052782555.png | Bin .../zh-cn_image_0000001052942531.png | Bin .../zh-cn_image_0000001053207924.gif | Bin .../zh-cn_image_0000001053247975.gif | Bin .../zh-cn_image_0000001054101094.png | Bin .../zh-cn_image_0000001054421113.png | Bin .../zh-cn_image_0000001059334449.png | Bin .../zh-cn_image_0000001060200050.png | Bin .../zh-cn_image_0000001061889268.png | Bin .../zh-cn_image_0000001062334618.png | Bin .../zh-cn_image_0000001062476933.png | Bin .../zh-cn_image_0000001062942690.png | Bin .../zh-cn_image_0000001063839940.png | Bin .../zh-cn_image_0000001077724150.png | Bin .../zh-cn_image_0000001077727032.png | Bin .../zh-cn_image_0000001119924146.gif | Bin .../zh-cn_image_0000001166643927.jpg | Bin ...0\346\225\210\346\236\234\345\233\276.gif" | Bin ...7\346\241\206\346\236\266\345\233\276.png" | Bin .../figure/\345\233\276\347\211\2071.png" | Bin ...0\345\255\220\347\263\273\347\273\237.png" | Bin ...7\346\225\210\346\236\234\345\233\276.png" | Bin ...7\345\212\250\346\265\201\347\250\213.png" | Bin ...4\273\266\344\276\235\350\265\226-(2).jpg" | Bin ...4\344\273\266\347\273\223\346\236\204.png" | Bin ...6\346\240\221\347\273\223\346\236\204.png" | Bin ...0\346\225\210\346\236\234\345\233\276.gif" | Bin ...3\345\217\260\346\236\266\346\236\204.png" | Bin ...0\350\241\214\346\227\266\345\272\217.png" | Bin ...4\347\244\272\346\204\217\345\233\276.png" | Bin ...4\345\273\272\346\265\201\347\250\213.jpg" | Bin ...7\346\225\210\346\236\234\345\233\276.png" | Bin ...3\350\241\214\345\270\203\345\261\200.png" | Bin .../subsystems/figures/RIL-Adapter.png | Bin 24049 -> 0 bytes .../figures/\345\216\273\347\224\265.png" | Bin 25300 -> 0 bytes .../figures/\346\235\245\347\224\265.png" | Bin 39328 -> 0 bytes ...70\350\247\201\351\227\256\351\242\230.md" | 39 - .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../subsys-aiframework-demo-conf.md | 0 .../subsys-aiframework-demo-plugin.md | 0 .../subsystems/subsys-aiframework-demo-sdk.md | 2 +- .../subsystems/subsys-aiframework-demo.md | 6 +- .../subsys-aiframework-devguide-conf.md | 0 .../subsys-aiframework-devguide-plugin.md | 0 .../subsys-aiframework-devguide-sdk.md | 4 +- .../subsystems/subsys-aiframework-devguide.md | 11 + .../subsystems/subsys-aiframework-envbuild.md | 2 +- .../subsystems/subsys-aiframework-guide.md | 2 +- .../subsys-aiframework-tech-codemanage.md | 2 +- .../subsys-aiframework-tech-interface.md | 0 .../subsys-aiframework-tech-name.md | 0 .../subsystems/subsys-aiframework-tech.md | 6 +- .../subsystems/subsys-aiframework.md | 10 +- .../subsys-application-framework-builden.md | 2 +- .../subsys-application-framework-demo.md | 0 .../subsys-application-framework-guide.md | 6 +- .../subsys-application-framework-overview.md | 14 +- .../subsys-application-framework.md | 11 + .../subsystems/subsys-boot-appspawn.md | 0 .../subsystems/subsys-boot-bootstrap.md | 0 .../device-dev/subsystems/subsys-boot-faqs.md | 4 +- .../device-dev/subsystems/subsys-boot-init.md | 0 .../subsystems/subsys-boot-overview.md | 2 +- .../device-dev/subsystems/subsys-boot-ref.md | 0 .../subsystems/subsys-boot-syspara.md | 0 zh-cn/device-dev/subsystems/subsys-boot.md | 17 + .../subsystems/subsys-build-mini-lite.md | 701 +++++++++++++- .../subsystems/subsys-build-mini.md | 6 +- .../subsystems/subsys-build-standard-large.md | 79 +- .../subsystems/subsys-build-standard.md | 4 +- zh-cn/device-dev/subsystems/subsys-build.md | 7 + .../subsystems/subsys-densor-demo.md | 0 .../subsystems/subsys-densor-guide.md | 4 +- .../subsystems/subsys-densor-overview.md | 2 +- zh-cn/device-dev/subsystems/subsys-densor.md | 9 + .../subsystems/subsys-dfx-hilog-lite.md | 0 .../subsystems/subsys-dfx-hilog-rich.md | 0 .../subsystems/subsys-dfx-hisysevent.md | 0 .../subsystems/subsys-dfx-hisyseventread.md | 103 +++ .../subsystems/subsys-dfx-overview.md | 0 zh-cn/device-dev/subsystems/subsys-dfx.md | 11 + .../subsys-graphics-animation-guide.md | 2 +- .../subsys-graphics-bundle-guide1.md | 8 +- .../subsys-graphics-bundle-guide2.md | 6 +- .../subsys-graphics-bundle-guide3.md | 20 +- .../subsystems/subsys-graphics-overview.md | 0 .../device-dev/subsystems/subsys-graphics.md | 13 + .../subsys-multimedia-camera-overview.md | 6 +- .../subsys-multimedia-camera-photo-guide.md | 1 + .../subsys-multimedia-camera-preview-guide.md | 0 .../subsys-multimedia-camera-record-guide.md | 0 .../subsystems/subsys-multimedia-camera.md | 11 + .../subsys-multimedia-video-overview.md | 0 .../subsys-multimedia-video-play-guide.md | 0 .../subsys-multimedia-video-record-guide.md | 0 .../subsystems/subsys-multimedia-video.md | 9 + .../subsystems/subsys-multimedia.md | 4 +- .../device-dev/subsystems/subsys-ota-guide.md | 6 +- .../subsystems/subsys-remote-start.md | 0 .../subsys-security-communicationverify.md | 0 .../subsystems/subsys-security-overview.md | 2 +- .../subsys-security-rightmanagement.md | 2 +- .../subsystems/subsys-security-sigverify.md | 2 +- .../device-dev/subsystems/subsys-security.md | 11 + .../subsystems/subsys-testguide-test.md | 18 +- .../subsys-toolchain-bytrace-guide.md | 12 +- .../subsystems/subsys-toolchain-hdc-guide.md | 99 +- .../device-dev/subsystems/subsys-toolchain.md | 6 + .../subsystems/subsys-utils-faqs.md | 0 .../subsystems/subsys-utils-guide.md | 6 +- .../subsystems/subsys-utils-overview.md | 0 zh-cn/device-dev/subsystems/subsys-utils.md | 9 + .../device-dev/subsystems/subsys-xts-guide.md | 71 +- zh-cn/device-dev/subsystems/subsys.md | 33 + ...54\345\205\261\345\237\272\347\241\200.md" | 9 - ...57\345\212\250\346\201\242\345\244\215.md" | 17 - ...76\345\275\242\345\233\276\345\203\217.md" | 13 - .../subsystems/\345\256\211\345\205\250.md" | 13 - ...\345\217\221\345\256\236\344\276\213-6.md" | 112 --- ...00\345\217\221\346\214\207\345\257\274.md" | 11 - ...13\345\272\217\346\241\206\346\236\266.md" | 11 - .../subsystems/\347\233\270\346\234\272.md" | 11 - ...21\345\267\245\345\205\267\351\223\276.md" | 9 - ...26\350\257\221\346\236\204\345\273\272.md" | 7 - ...77\347\224\250\346\214\207\345\257\274.md" | 431 --------- ...70\350\247\201\351\227\256\351\242\230.md" | 121 --- ...\345\273\272\346\246\202\350\277\260-0.md" | 58 -- .../\351\237\263\350\247\206\351\242\221.md" | 9 - .../device-dev/\345\257\274\350\257\273.md" | 28 +- zh-cn/readme.md | 62 +- 887 files changed, 8878 insertions(+), 8422 deletions(-) rename "zh-cn/device-dev/bundles/\346\223\215\344\275\234\345\256\236\344\276\213.md" => zh-cn/device-dev/bundles/bundles-demo-devsample.md (94%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\207\206\345\244\207.md" => zh-cn/device-dev/bundles/bundles-demo-environment.md (89%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/HPM\344\273\213\347\273\215.md" => zh-cn/device-dev/bundles/bundles-demo-hpmdescription.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\347\244\272\344\276\213.md" => zh-cn/device-dev/bundles/bundles-demo.md (30%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" => zh-cn/device-dev/bundles/bundles-guide-develop.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\346\246\202\350\277\260-0.md" => zh-cn/device-dev/bundles/bundles-guide-overview.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" => zh-cn/device-dev/bundles/bundles-guide-prepare.md (93%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" => zh-cn/device-dev/bundles/bundles-guide.md (31%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" => zh-cn/device-dev/bundles/bundles-standard-rules.md (51%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/bundles/bundles.md rename "zh-cn/device-dev/bundles/figures/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" => "zh-cn/device-dev/bundles/figure/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212-21.png" (100%) rename zh-cn/device-dev/bundles/{figures => figure}/zh-cn_image_0000001051452177.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/bundles/{figures => figure}/zh-cn_image_0000001051770876.png (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/bundles/figure/zh-cn_image_0000001173313501.png rename "zh-cn/device-dev/bundles/figures/\347\241\254\344\273\266\347\216\257\345\242\203\350\277\236\346\216\245\345\205\263\347\263\273.png" => "zh-cn/device-dev/bundles/figure/\347\241\254\344\273\266\347\216\257\345\242\203\350\277\236\346\216\245\345\205\263\347\263\273.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/bundles/figures/\347\273\204\344\273\2660924.png" => "zh-cn/device-dev/bundles/figure/\347\273\204\344\273\2660924.png" (100%) mode change 100755 => 100644 delete mode 100755 "zh-cn/device-dev/bundles/figures/\347\273\204\344\273\266\345\214\205\344\276\235\350\265\226\345\205\263\347\263\273\345\233\276.png" delete mode 100755 "zh-cn/device-dev/bundles/\345\217\221\350\241\214\347\211\210.md" delete mode 100755 "zh-cn/device-dev/bundles/\346\246\202\350\277\260.md" delete mode 100755 "zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\217\230\351\207\217\350\257\264\346\230\216.md" delete mode 100755 "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" delete mode 100755 "zh-cn/device-dev/bundles/\347\273\204\344\273\266\346\236\204\346\210\220.md" delete mode 100755 "zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\211\210\346\234\254.md" delete mode 100755 zh-cn/device-dev/driver/GPIO.md delete mode 100755 "zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/GPIO\346\246\202\350\277\260.md" delete mode 100755 "zh-cn/device-dev/driver/HDF\351\251\261\345\212\250\346\241\206\346\236\266.md" delete mode 100755 zh-cn/device-dev/driver/I2C.md delete mode 100755 "zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/I2C\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/LCD.md delete mode 100755 "zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/MIPI-DSI.md delete mode 100755 "zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/driver/MIPI-DSI\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/RTC.md delete mode 100755 "zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/RTC\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/SDIO.md delete mode 100755 "zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/SDIO\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/SENSOR.md delete mode 100755 zh-cn/device-dev/driver/SPI.md delete mode 100755 "zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/SPI\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/TOUCHSCREEN.md delete mode 100755 "zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/UART.md delete mode 100755 "zh-cn/device-dev/driver/UART\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/UART\346\246\202\350\277\260.md" delete mode 100755 zh-cn/device-dev/driver/WATCHDOG.md delete mode 100755 zh-cn/device-dev/driver/WLAN.md delete mode 100755 "zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\214\207\345\257\274.md" rename "zh-cn/device-dev/driver/\351\251\261\345\212\250\345\274\200\345\217\221.md" => zh-cn/device-dev/driver/drive-hdf-development.md (95%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/\351\205\215\347\275\256\347\256\241\347\220\206.md" => zh-cn/device-dev/driver/drive-hdf-manage.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/\351\251\261\345\212\250\346\266\210\346\201\257\346\234\272\345\210\266\347\256\241\347\220\206.md" => zh-cn/device-dev/driver/drive-hdf-news.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\346\246\202\350\277\260.md" => zh-cn/device-dev/driver/drive-hdf-overview.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\345\256\236\344\276\213.md" => zh-cn/device-dev/driver/drive-hdf-sample.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/\351\251\261\345\212\250\346\234\215\345\212\241\347\256\241\347\220\206.md" => zh-cn/device-dev/driver/drive-hdf-servicemanage.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\246\202\350\277\260.md" => zh-cn/device-dev/driver/drive-peripherals-external-des.md (55%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\345\256\236\344\276\213.md" => zh-cn/device-dev/driver/drive-peripherals-lcd-des.md (66%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\246\202\350\277\260.md" => zh-cn/device-dev/driver/drive-peripherals-sensor-des.md (46%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\345\256\236\344\276\213.md" => zh-cn/device-dev/driver/drive-peripherals-touch-des.md (58%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/driver/drive-peripherals.md rename "zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-gpio-des.md (70%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-i2c-des.md (42%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/driver/drive-platform-mipidsi-des.md rename "zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-rtc-des.md (76%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-sdio-des.md (66%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-spi-des.md (64%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/UART\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-uart-des.md (69%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/driver/drive-platform-watchdog-des.md (68%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/driver/drive-platform.md create mode 100644 zh-cn/device-dev/driver/drive.md rename "zh-cn/device-dev/driver/figures/DSI\345\217\221\351\200\201-\346\216\245\346\224\266\346\216\245\345\217\243.png" => "zh-cn/device-dev/driver/figure/DSI\345\217\221\351\200\201-\346\216\245\346\224\266\346\216\245\345\217\243.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/I2C\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" => "zh-cn/device-dev/driver/figure/I2C\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/MIPI-DSI\346\216\245\345\217\243.png" => "zh-cn/device-dev/driver/figure/MIPI-DSI\346\216\245\345\217\243.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/Sensor\351\251\261\345\212\250\346\250\241\345\236\213\345\233\276.png" => "zh-cn/device-dev/driver/figure/Sensor\351\251\261\345\212\250\346\250\241\345\236\213\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/TTL\346\216\245\345\217\243.png" => "zh-cn/device-dev/driver/figure/TTL\346\216\245\345\217\243.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/Touchscreen\345\231\250\344\273\266\345\270\270\347\224\250\347\256\241\350\204\232.png" => "zh-cn/device-dev/driver/figure/Touchscreen\345\231\250\344\273\266\345\270\270\347\224\250\347\256\241\350\204\232.png" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures => figure}/zh-cn_image_0000001053405727.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures => figure}/zh-cn_image_0000001054280608.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures => figure}/zh-cn_image_0000001054564784.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001057902344.png => figure/zh-cn_image_0000001123509750.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001072553354.png => figure/zh-cn_image_0000001123514210.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001054440624.png => figure/zh-cn_image_0000001123540984.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001054007499.png => figure/zh-cn_image_0000001123582482.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001054728498.png => figure/zh-cn_image_0000001123675706.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001054726248.png => figure/zh-cn_image_0000001123703482.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001054142582.png => figure/zh-cn_image_0000001123742254.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001057342245.png => figure/zh-cn_image_0000001170187071.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001054006983.png => figure/zh-cn_image_0000001170227689.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001057622716.png => figure/zh-cn_image_0000001170229891.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001053926237.png => figure/zh-cn_image_0000001170262141.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/driver/{figures/zh-cn_image_0000001055299108.png => figure/zh-cn_image_0000001170383063.png} (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204Display\351\251\261\345\212\250\346\250\241\345\236\213.png" => "zh-cn/device-dev/driver/figure/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204Display\351\251\261\345\212\250\346\250\241\345\236\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204input\351\251\261\345\212\250\346\250\241\345\236\213.png" => "zh-cn/device-dev/driver/figure/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204input\351\251\261\345\212\250\346\250\241\345\236\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/driver/figures/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" => "zh-cn/device-dev/driver/figure/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" (100%) mode change 100755 => 100644 delete mode 100755 zh-cn/device-dev/driver/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/driver/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/driver/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/driver/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/driver/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/driver/public_sys-resources/icon-warning.gif delete mode 100755 "zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\346\265\213\350\257\225\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/driver/\345\244\226\350\256\276.md" delete mode 100755 "zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\345\256\236\344\276\213.md" delete mode 100755 "zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\346\246\202\350\277\260.md" delete mode 100755 "zh-cn/device-dev/driver/\351\251\261\345\212\250\345\271\263\345\217\260.md" rename zh-cn/device-dev/get-code/{figures/3.png => figure/3-20.png} (100%) rename zh-cn/device-dev/get-code/{figures => figure}/zh-cn_image_0000001101413884.png (100%) rename zh-cn/device-dev/get-code/{figures => figure}/zh-cn_image_0000001119755646.png (100%) rename zh-cn/device-dev/get-code/{figures => figure}/zh-cn_image_0000001119915556.png (100%) rename zh-cn/device-dev/get-code/{figures => figure}/zh-cn_image_0000001166715379.png (100%) rename "zh-cn/device-dev/get-code/Docker\347\274\226\350\257\221\347\216\257\345\242\203.md" => zh-cn/device-dev/get-code/gettools-acquire.md (96%) rename zh-cn/device-dev/get-code/{IDE.md => gettools-ide.md} (98%) rename "zh-cn/device-dev/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" => zh-cn/device-dev/get-code/gettools.md (42%) mode change 100755 => 100644 delete mode 100755 zh-cn/device-dev/get-code/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/get-code/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/get-code/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/get-code/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/get-code/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/get-code/public_sys-resources/icon-warning.gif rename "zh-cn/device-dev/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" => zh-cn/device-dev/get-code/sourcecode-acquire.md (94%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/get-code/sourcecode.md rename "zh-cn/device-dev/glossary/\346\234\257\350\257\255.md" => zh-cn/device-dev/glossary/glossary.md (100%) mode change 100755 => 100644 delete mode 100755 zh-cn/device-dev/glossary/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/glossary/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/glossary/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/glossary/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/glossary/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/glossary/public_sys-resources/icon-warning.gif delete mode 100644 "zh-cn/device-dev/guide/Input\346\250\241\345\236\213\345\267\245\344\275\234\346\265\201\347\250\213\350\247\243\346\236\220.md" delete mode 100644 "zh-cn/device-dev/guide/Input\346\250\241\345\236\213\347\256\200\344\273\213.md" delete mode 100755 "zh-cn/device-dev/guide/LED\345\244\226\350\256\276\346\216\247\345\210\266.md" delete mode 100644 "zh-cn/device-dev/guide/TouchScreen\345\231\250\344\273\266\351\251\261\345\212\250\345\274\200\345\217\221.md" rename "zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274-3.md" => zh-cn/device-dev/guide/device-camera-control-demo-photoguide.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/guide/device-camera-control-demo-previewguide.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274-4.md" => zh-cn/device-dev/guide/device-camera-control-demo-videoguide.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/guide/device-camera-control-demo.md rename "zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213-5.md" => zh-cn/device-dev/guide/device-camera-control-example.md (79%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\346\246\202\350\277\260-1.md" => zh-cn/device-dev/guide/device-camera-control-overview.md (65%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\261\217\345\271\225\345\222\214\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" => zh-cn/device-dev/guide/device-camera-control.md (30%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\346\267\273\345\212\240\351\241\265\351\235\242.md" => zh-cn/device-dev/guide/device-camera-visual-addpage.md (82%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\350\260\203\350\257\225\346\211\223\345\214\205.md" => zh-cn/device-dev/guide/device-camera-visual-debug.md (50%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\274\200\345\217\221\350\257\246\346\203\205\351\241\265.md" => zh-cn/device-dev/guide/device-camera-visual-details.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230.md" => zh-cn/device-dev/guide/device-camera-visual-faqs.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\274\200\345\217\221\351\246\226\351\241\265.md" => zh-cn/device-dev/guide/device-camera-visual-first-page.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\346\246\202\350\277\260-6.md" => zh-cn/device-dev/guide/device-camera-visual-overview.md (94%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207.md" => zh-cn/device-dev/guide/device-camera-visual-prepare.md (96%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214.md" => zh-cn/device-dev/guide/device-camera-visual-run.md (70%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/guide/device-camera-visual.md rename "zh-cn/device-dev/guide/\345\270\246\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" => zh-cn/device-dev/guide/device-camera.md (38%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\274\200\345\217\221\346\255\245\351\252\244.md" => zh-cn/device-dev/guide/device-clock-guide.md (42%) rename "zh-cn/device-dev/guide/\345\274\200\345\217\221-11.md" => zh-cn/device-dev/guide/device-drive-demo.md (83%) rename "zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/guide/device-iotcamera-control-demo-photodevguide.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/guide/device-iotcamera-control-demo-videodevguide.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/guide/device-iotcamera-control-demo.md rename "zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213.md" => zh-cn/device-dev/guide/device-iotcamera-control-example.md (68%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\346\246\202\350\277\260-0.md" => zh-cn/device-dev/guide/device-iotcamera-control-overview.md (61%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/guide/device-iotcamera-control.md rename "zh-cn/device-dev/guide/\346\227\240\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" => zh-cn/device-dev/guide/device-iotcamera.md (56%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/guide/device-outerdrive-demo.md rename "zh-cn/device-dev/guide/\345\274\200\345\217\221.md" => zh-cn/device-dev/guide/device-wifi-led-outcontrol.md (64%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/\351\233\206\346\210\220\344\270\211\346\226\271SDK.md" => zh-cn/device-dev/guide/device-wifi-sdk.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/WLAN\350\277\236\346\216\245\347\261\273\344\272\247\345\223\201.md" => zh-cn/device-dev/guide/device-wifi.md (39%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/guide/device.md rename zh-cn/device-dev/guide/{figures => figure}/Clock.png (100%) rename "zh-cn/device-dev/guide/figures/LED\351\227\252\347\203\201\345\233\276.gif" => "zh-cn/device-dev/guide/figure/LED\351\227\252\347\203\201\345\233\276.gif" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/guide/{figures => figure}/Video_2020-07-25_173141.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/guide/{figures => figure}/zh-cn_image_0000001078563230.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/guide/{figures => figure}/zh-cn_image_0000001082434703.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/guide/{figures/zh-cn_image_0000001161922745.png => figure/zh-cn_image_0000001169991055.png} (100%) rename "zh-cn/device-dev/guide/figures/\345\220\257\345\212\250\347\244\272\344\276\213.png" => "zh-cn/device-dev/guide/figure/\345\220\257\345\212\250\347\244\272\344\276\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\345\256\214\346\225\264\345\267\245\347\250\213\347\233\256\345\275\225.png" => "zh-cn/device-dev/guide/figure/\345\256\214\346\225\264\345\267\245\347\250\213\347\233\256\345\275\225.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\345\267\245\347\250\213\347\233\256\345\275\225.png" => "zh-cn/device-dev/guide/figure/\345\267\245\347\250\213\347\233\256\345\275\225.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276.png" => "zh-cn/device-dev/guide/figure/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\346\240\207\351\242\230\346\240\217\345\222\214\344\277\241\346\201\257\346\240\217\346\225\210\346\236\234.png" => "zh-cn/device-dev/guide/figure/\346\240\207\351\242\230\346\240\217\345\222\214\344\277\241\346\201\257\346\240\217\346\225\210\346\236\234.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\346\240\207\351\242\230\346\240\217\346\225\210\346\236\234.png" => "zh-cn/device-dev/guide/figure/\346\240\207\351\242\230\346\240\217\346\225\210\346\236\234.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\346\241\214\351\235\242.png" => "zh-cn/device-dev/guide/figure/\346\241\214\351\235\242.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\346\267\273\345\212\240\351\241\265\351\235\242.png" => "zh-cn/device-dev/guide/figure/\346\267\273\345\212\240\351\241\265\351\235\242.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\347\273\230\345\233\2761.png" => "zh-cn/device-dev/guide/figure/\347\273\230\345\233\2761.png" (100%) rename "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" => "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" => "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\351\241\265\351\235\242\345\220\215\347\247\260.png" => "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\351\241\265\351\235\242\345\220\215\347\247\260.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" => "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" => "zh-cn/device-dev/guide/figure/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\351\241\265\351\235\242\344\275\215\347\275\256\346\214\207\347\244\272\345\231\250\346\225\210\346\236\234\345\233\276.png" => "zh-cn/device-dev/guide/figure/\351\241\265\351\235\242\344\275\215\347\275\256\346\214\207\347\244\272\345\231\250\346\225\210\346\236\234\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/guide/figures/\351\242\204\350\247\210\346\225\210\346\236\234.jpg" => "zh-cn/device-dev/guide/figure/\351\242\204\350\247\210\346\225\210\346\236\234.jpg" (100%) mode change 100755 => 100644 delete mode 100755 zh-cn/device-dev/guide/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/guide/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/guide/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/guide/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/guide/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/guide/public_sys-resources/icon-warning.gif delete mode 100644 "zh-cn/device-dev/guide/\345\205\254\345\205\261\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" delete mode 100644 "zh-cn/device-dev/guide/\345\205\267\344\275\223\350\260\203\347\224\250\351\200\273\350\276\221\344\270\262\350\201\224\345\207\275\346\225\260.md" delete mode 100644 "zh-cn/device-dev/guide/\345\231\250\344\273\266\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" delete mode 100644 "zh-cn/device-dev/guide/\345\244\226\350\256\276\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" delete mode 100644 "zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230-10.md" delete mode 100644 "zh-cn/device-dev/guide/\345\271\263\345\217\260\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" delete mode 100755 "zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207-8.md" delete mode 100644 "zh-cn/device-dev/guide/\345\274\200\346\234\272\346\227\245\345\277\227\345\210\206\346\236\220.md" delete mode 100755 "zh-cn/device-dev/guide/\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" delete mode 100644 "zh-cn/device-dev/guide/\346\227\266\351\222\237\345\272\224\347\224\250\345\274\200\345\217\221\347\244\272\344\276\213.md" delete mode 100644 "zh-cn/device-dev/guide/\346\246\202\350\277\260-10.md" delete mode 100644 "zh-cn/device-dev/guide/\346\246\202\350\277\260-12.md" delete mode 100755 "zh-cn/device-dev/guide/\346\246\202\350\277\260-7.md" delete mode 100755 "zh-cn/device-dev/guide/\346\246\202\350\277\260.md" delete mode 100644 "zh-cn/device-dev/guide/\347\216\257\345\242\203\345\207\206\345\244\207.md" delete mode 100644 "zh-cn/device-dev/guide/\347\216\257\345\242\203\346\220\255\345\273\272.md" delete mode 100644 "zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214-9.md" delete mode 100644 "zh-cn/device-dev/guide/\347\241\254\344\273\266\350\265\204\346\272\220\344\273\213\347\273\215.md" delete mode 100755 "zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221-2.md" delete mode 100755 "zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" delete mode 100644 "zh-cn/device-dev/guide/\347\247\201\346\234\211\351\205\215\347\275\256\344\277\241\346\201\257\350\247\243\346\236\220.md" delete mode 100644 "zh-cn/device-dev/guide/\347\255\276\345\220\215\346\211\223\345\214\205.md" delete mode 100644 "zh-cn/device-dev/guide/\347\256\241\347\220\206\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" delete mode 100644 "zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225-13.md" delete mode 100644 "zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225.md" delete mode 100755 "zh-cn/device-dev/guide/\350\247\206\350\247\211\345\272\224\347\224\250\345\274\200\345\217\221.md" delete mode 100644 "zh-cn/device-dev/guide/\350\260\203\350\257\225\351\252\214\350\257\201.md" delete mode 100644 "zh-cn/device-dev/guide/\351\200\202\351\205\215\345\231\250\344\273\266\347\247\201\346\234\211\351\251\261\345\212\250.md" delete mode 100644 "zh-cn/device-dev/guide/\351\205\215\347\275\256Touchscreen\345\231\250\344\273\266\344\277\241\346\201\257.md" delete mode 100644 "zh-cn/device-dev/guide/\351\205\215\347\275\256\350\256\276\345\244\207\346\217\217\350\277\260\344\277\241\346\201\257.md" delete mode 100755 "zh-cn/device-dev/guide/\351\252\214\350\257\201.md" delete mode 100644 "zh-cn/device-dev/kernel-contribution/OpenHarmony\345\206\205\346\240\270\346\226\207\346\241\243\345\205\261\345\273\272ToDo-List.md" delete mode 100644 "zh-cn/device-dev/kernel-contribution/template/\345\270\270\350\247\201\351\227\256\351\242\230.md" delete mode 100644 "zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\345\256\236\344\276\213.md" delete mode 100644 "zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100644 "zh-cn/device-dev/kernel-contribution/template/\346\220\255\345\273\272\347\216\257\345\242\203.md" delete mode 100644 "zh-cn/device-dev/kernel-contribution/template/\346\246\202\350\277\260.md" delete mode 100644 zh-cn/device-dev/kernel/IPC.md delete mode 100644 zh-cn/device-dev/kernel/LittleFS.md create mode 100644 "zh-cn/device-dev/kernel/figure/Cow\346\234\272\345\210\266\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/PID\344\270\2723\347\232\204\350\277\233\347\250\213\350\231\232\346\213\237\345\206\205\345\255\230\344\275\277\347\224\250\344\277\241\346\201\257.png" => "zh-cn/device-dev/kernel/figure/PID\344\270\2723\347\232\204\350\277\233\347\250\213\350\231\232\346\213\237\345\206\205\345\255\230\344\275\277\347\224\250\344\277\241\346\201\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/POSIX\346\216\245\345\217\243\346\241\206\346\236\266.png" => "zh-cn/device-dev/kernel/figure/POSIX\346\216\245\345\217\243\346\241\206\346\236\266.png" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures/Snipaste_2021-01-26_10-38-58-1.png => figure/Snipaste_2021-01-26_10-38-58-18.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures/Snipaste_2021-01-26_10-38-58-2.png => figure/Snipaste_2021-01-26_10-38-58-19.png} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/Snipaste_2021-01-26_10-38-58.png (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/VFS\345\222\214\345\220\204\344\270\252\346\226\207\344\273\266\347\263\273\347\273\237\347\232\204\345\205\263\347\263\273.png" => "zh-cn/device-dev/kernel/figure/VFS\345\222\214\345\220\204\344\270\252\346\226\207\344\273\266\347\263\273\347\273\237\347\232\204\345\205\263\347\263\273.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/dmesg\351\207\215\345\256\232\345\220\221\345\210\260\346\226\207\344\273\266.png" => "zh-cn/device-dev/kernel/figure/dmesg\351\207\215\345\256\232\345\220\221\345\210\260\346\226\207\344\273\266.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/lsfd\350\276\223\345\207\272\350\257\264\346\230\216.png" => "zh-cn/device-dev/kernel/figure/lsfd\350\276\223\345\207\272\350\257\264\346\230\216.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/statfs\350\276\223\345\207\272\350\257\264\346\230\216.png" => "zh-cn/device-dev/kernel/figure/statfs\350\276\223\345\207\272\350\257\264\346\230\216.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" => "zh-cn/device-dev/kernel/figure/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/watch-task-\347\273\223\346\236\234.png" => "zh-cn/device-dev/kernel/figure/watch-task-\347\273\223\346\236\234.png" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001051690323.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001052370303.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001052370305.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001052370307.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001052530298.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001052810300.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001052810304.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001053224218.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001053710680.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001053826366.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001054624363.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001121429646.png (100%) rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001124146302.png (100%) rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001124147160.png (100%) rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001124306828.png (100%) rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001124307264.png (100%) rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001124310992.png (100%) create mode 100644 zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132085260.png create mode 100644 zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132778524.png create mode 100644 zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132935054.png rename zh-cn/device-dev/kernel/{figures => figure}/zh-cn_image_0000001170790681.png (100%) rename "zh-cn/device-dev/kernel/figures/\344\272\213\344\273\266\350\277\220\344\275\234\345\216\237\347\220\206\345\233\276.png" => "zh-cn/device-dev/kernel/figure/\344\272\213\344\273\266\350\277\220\344\275\234\345\216\237\347\220\206\345\233\276.png" (100%) create mode 100644 "zh-cn/device-dev/kernel/figure/\344\272\222\346\226\245\351\224\201\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" => "zh-cn/device-dev/kernel/figure/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\344\273\273\345\212\241\347\212\266\346\200\201\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" => "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" => "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\351\207\217\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" => "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" => "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" => "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\345\205\203\346\225\260\346\215\256\345\255\230\345\202\250\347\244\272\346\204\217\345\233\276.png" create mode 100644 "zh-cn/device-dev/kernel/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\265\201\347\250\213.png" rename "zh-cn/device-dev/kernel/figures/\345\206\205\346\240\270\346\236\266\346\236\204\345\233\276.png" => "zh-cn/device-dev/kernel/figure/\345\206\205\346\240\270\346\236\266\346\236\204\345\233\276.png" (100%) rename "zh-cn/device-dev/kernel/figures/\345\207\272\347\216\260\345\206\205\345\255\230\350\266\212\347\225\214.png" => "zh-cn/device-dev/kernel/figure/\345\207\272\347\216\260\345\206\205\345\255\230\350\266\212\347\225\214.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\345\210\207\346\215\242\345\210\260\344\270\272uid\344\270\2721000-gid\344\270\2721000\347\232\204\347\224\250\346\210\267.png" => "zh-cn/device-dev/kernel/figure/\345\210\207\346\215\242\345\210\260\344\270\272uid\344\270\2721000-gid\344\270\2721000\347\232\204\347\224\250\346\210\267.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" => "zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" => "zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" => "zh-cn/device-dev/kernel/figure/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\345\212\250\346\200\201\345\206\205\345\255\230\346\240\270\345\277\203\347\256\227\346\263\225.png" create mode 100644 "zh-cn/device-dev/kernel/figure/\345\212\250\346\200\201\345\206\205\345\255\230\347\256\241\347\220\206\347\273\223\346\236\204\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" => "zh-cn/device-dev/kernel/figure/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\345\240\206\346\240\210\345\210\206\346\236\220\345\216\237\347\220\206\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/\345\275\223\345\211\215\346\262\241\346\234\211\345\206\205\345\255\230\350\266\212\347\225\214.png" => "zh-cn/device-dev/kernel/figure/\345\275\223\345\211\215\346\262\241\346\234\211\345\206\205\345\255\230\350\266\212\347\225\214.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\214\207\344\273\244\350\276\223\345\207\272\347\273\223\346\236\234.png" => "zh-cn/device-dev/kernel/figure/\346\214\207\344\273\244\350\276\223\345\207\272\347\273\223\346\236\234.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" => "zh-cn/device-dev/kernel/figure/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\226\207\344\273\266\347\263\273\347\273\237\346\240\221\345\275\242\347\273\223\346\236\204.png" => "zh-cn/device-dev/kernel/figure/\346\226\207\344\273\266\347\263\273\347\273\237\346\240\221\345\275\242\347\273\223\346\236\204.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\346\227\245\345\277\227\346\226\271\345\274\217\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/figures/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-0.png" => "zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-17.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213.png" => "zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\344\277\241\346\201\257.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\344\277\241\346\201\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\345\275\223\345\211\215\350\267\257\345\276\204.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\350\267\257\345\276\204.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\347\211\251\347\220\206\351\241\265\344\275\277\347\224\250\346\203\205\345\206\265.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\347\211\251\347\220\206\351\241\265\344\275\277\347\224\250\346\203\205\345\206\265.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\347\263\273\347\273\237\350\265\204\346\272\220\344\275\277\347\224\250\346\203\205\345\206\265.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\347\263\273\347\273\237\350\265\204\346\272\220\344\275\277\347\224\250\346\203\205\345\206\265.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\344\273\273\345\212\241\351\203\250\345\210\206\344\277\241\346\201\257.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\344\273\273\345\212\241\351\203\250\345\210\206\344\277\241\346\201\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\345\257\271\345\272\224-ID-\347\232\204\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\344\277\241\346\201\257.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\345\257\271\345\272\224-ID-\347\232\204\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\344\277\241\346\201\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\346\211\200\346\234\211\345\234\250\347\224\250\347\232\204\344\277\241\345\217\267\351\207\217\344\277\241\346\201\257.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\346\211\200\346\234\211\345\234\250\347\224\250\347\232\204\344\277\241\345\217\267\351\207\217\344\277\241\346\201\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\346\211\200\346\234\211\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\347\233\270\345\205\263\344\277\241\346\201\257.png" => "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\346\211\200\346\234\211\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\347\233\270\345\205\263\344\277\241\346\201\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" => "zh-cn/device-dev/kernel/figure/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" => "zh-cn/device-dev/kernel/figure/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\347\272\277\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" => "zh-cn/device-dev/kernel/figure/\347\272\277\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\350\276\223\345\205\245-telnet-on.png" => "zh-cn/device-dev/kernel/figure/\350\276\223\345\205\245-telnet-on.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/figures/\350\277\233\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" => "zh-cn/device-dev/kernel/figure/\350\277\233\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" (100%) mode change 100755 => 100644 create mode 100644 "zh-cn/device-dev/kernel/figure/\351\235\231\346\200\201\345\206\205\345\255\230\347\244\272\346\204\217\345\233\276.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\344\272\222\346\226\245\351\224\201\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\344\273\273\345\212\241\347\212\266\346\200\201\347\244\272\346\204\217\345\233\276.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\351\207\217\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\345\206\205\346\240\270\345\220\257\345\212\250\346\265\201\347\250\213.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\345\212\250\346\200\201\345\206\205\345\255\230\346\240\270\345\277\203\347\256\227\346\263\225.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\345\212\250\346\200\201\345\206\205\345\255\230\347\256\241\347\220\206\347\273\223\346\236\204\345\233\276.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\345\240\206\346\240\210\345\210\206\346\236\220\345\216\237\347\220\206\347\244\272\346\204\217\345\233\276.png" delete mode 100644 "zh-cn/device-dev/kernel/figures/\351\235\231\346\200\201\345\206\205\345\255\230\347\244\272\346\204\217\345\233\276.png" rename "zh-cn/device-dev/kernel/\346\227\266\351\227\264\347\256\241\347\220\206.md" => zh-cn/device-dev/kernel/kernel-lite-basic-mini-time.md (32%) rename "zh-cn/device-dev/kernel/\345\206\205\346\240\270\347\274\226\347\240\201\350\247\204\350\214\203.md" => zh-cn/device-dev/kernel/kernel-lite-mini-app-code.md (100%) rename "zh-cn/device-dev/kernel/\345\217\214\345\220\221\351\223\276\350\241\250.md" => zh-cn/device-dev/kernel/kernel-lite-mini-app-data-list.md (99%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\225\260\346\215\256\347\273\223\346\236\204.md" => zh-cn/device-dev/kernel/kernel-lite-mini-app-data.md (52%) rename "zh-cn/device-dev/kernel/CMSIS\346\224\257\346\214\201.md" => zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-cmsis.md (99%) rename "zh-cn/device-dev/kernel/POSIX\346\224\257\346\214\201.md" => zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-posix.md (100%) rename "zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223\346\224\257\346\214\201.md" => zh-cn/device-dev/kernel/kernel-lite-mini-app-lib.md (35%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-app.md rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-concept.md (100%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-guide.md (99%) rename "zh-cn/device-dev/kernel/\344\270\255\346\226\255\347\256\241\347\220\206.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt.md (31%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-6.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-basic.md (99%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-5.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-guide.md (97%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event.md rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-7.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-basic.md (95%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-8.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-guide.md (99%) rename "zh-cn/device-dev/kernel/\344\272\222\346\226\245\351\224\201.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex.md (30%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-9.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-basic.md (99%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-10.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-guide.md (99%) rename "zh-cn/device-dev/kernel/\346\266\210\346\201\257\351\230\237\345\210\227.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue.md (31%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-11.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-basic.md (97%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-12.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-guide.md (99%) rename "zh-cn/device-dev/kernel/\344\277\241\345\217\267\351\207\217.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem.md (30%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc.md rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-4.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-basic.md (100%) rename "zh-cn/device-dev/kernel/\345\212\250\346\200\201\345\206\205\345\255\230.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-dynamic.md (98%) rename "zh-cn/device-dev/kernel/\351\235\231\346\200\201\345\206\205\345\255\230.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-static.md (98%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory.md rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-15.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-basic.md (100%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-16.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-guide.md (99%) rename "zh-cn/device-dev/kernel/\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft.md (34%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-2.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-basic.md (98%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-guide.md (99%) rename "zh-cn/device-dev/kernel/\344\273\273\345\212\241\347\256\241\347\220\206.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-task.md (32%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-13.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-basic.md (100%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-14.md" => zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-guide.md (99%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-basic.md rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-17.md" => zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup-basic.md (100%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-18.md" => zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup-guide.md (100%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup.md rename zh-cn/device-dev/kernel/{FAT-20.md => kernel-lite-mini-extend-file-fat.md} (99%) rename "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-21.md" => zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-basic.md (60%) rename "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-22.md" => zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-guide.md (100%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit.md rename "zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237-19.md" => zh-cn/device-dev/kernel/kernel-lite-mini-extend-file.md (99%) rename "zh-cn/device-dev/kernel/C++\346\224\257\346\214\201.md" => zh-cn/device-dev/kernel/kernel-lite-mini-extend-support.md (98%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-extend.md rename "zh-cn/device-dev/kernel/\350\270\251\345\206\205\345\255\230\346\243\200\346\265\213.md" => zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-cet.md (98%) rename "zh-cn/device-dev/kernel/\345\206\205\345\255\230\346\263\204\346\274\217\346\243\200\346\265\213.md" => zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-det.md (98%) rename "zh-cn/device-dev/kernel/\345\206\205\345\255\230\344\277\241\346\201\257\347\273\237\350\256\241.md" => zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-mes.md (95%) rename "zh-cn/device-dev/kernel/\345\206\205\345\255\230\350\260\203\346\265\213.md" => zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug.md (70%) rename "zh-cn/device-dev/kernel/\345\274\202\345\270\270\350\260\203\346\265\213.md" => zh-cn/device-dev/kernel/kernel-lite-mini-inner-exception.md (99%) rename "zh-cn/device-dev/kernel/Trace\350\260\203\346\265\213.md" => zh-cn/device-dev/kernel/kernel-lite-mini-inner-trace.md (100%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini-inner.md rename "zh-cn/device-dev/kernel/\350\256\244\350\257\206LiteOS-M\345\206\205\346\240\270.md" => zh-cn/device-dev/kernel/kernel-lite-mini-m.md (96%) rename "zh-cn/device-dev/kernel/\345\277\253\351\200\237\345\205\245\351\227\250.md" => zh-cn/device-dev/kernel/kernel-lite-mini-start.md (77%) create mode 100644 zh-cn/device-dev/kernel/kernel-lite-mini.md create mode 100644 zh-cn/device-dev/kernel/kernel-lite-small-basic.md rename zh-cn/device-dev/kernel/{FAT.md => kernel-lite-small-file-fat.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{JFFS2.md => kernel-lite-small-file-jffs.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{NFS.md => kernel-lite-small-file-nfs.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{RAMFS.md => kernel-lite-small-file-ramfs.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{VFS.md => kernel-lite-small-file-vfs.md} (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237.md" => zh-cn/device-dev/kernel/kernel-lite-small-file.md (94%) rename "zh-cn/device-dev/kernel/\344\270\216Linux\346\240\207\345\207\206\345\272\223\347\232\204\345\267\256\345\274\202.md" => zh-cn/device-dev/kernel/kernel-lite-small-lib-differ.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223-0.md" => zh-cn/device-dev/kernel/kernel-lite-small-lib-standard.md (96%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223.md" => zh-cn/device-dev/kernel/kernel-lite-small-lib.md (31%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\345\206\205\345\255\230.md" => zh-cn/device-dev/kernel/kernel-lite-small-memory.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\347\275\221\347\273\234.md" => zh-cn/device-dev/kernel/kernel-lite-small-net.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\350\277\233\347\250\213.md" => zh-cn/device-dev/kernel/kernel-lite-small-process.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/\347\224\250\346\210\267\346\200\201\345\274\202\345\270\270\344\277\241\346\201\257\350\257\264\346\230\216.md" => zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-abn.md (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{cat.md => kernel-lite-small-shell-cmd-file-cat.md} (95%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{cd.md => kernel-lite-small-shell-cmd-file-cd.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{chgrp.md => kernel-lite-small-shell-cmd-file-chgrp.md} (95%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{chmod.md => kernel-lite-small-shell-cmd-file-chmod.md} (96%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{chown.md => kernel-lite-small-shell-cmd-file-chown.md} (96%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{cp.md => kernel-lite-small-shell-cmd-file-cp.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{format.md => kernel-lite-small-shell-cmd-file-format.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{ls.md => kernel-lite-small-shell-cmd-file-is.md} (95%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{lsfd.md => kernel-lite-small-shell-cmd-file-isfd.md} (93%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{mkdir.md => kernel-lite-small-shell-cmd-file-mkdir.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{mount.md => kernel-lite-small-shell-cmd-file-mount.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{partinfo.md => kernel-lite-small-shell-cmd-file-part.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{partition.md => kernel-lite-small-shell-cmd-file-partion.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{pwd.md => kernel-lite-small-shell-cmd-file-pwd.md} (94%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{rm.md => kernel-lite-small-shell-cmd-file-rm.md} (94%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{rmdir.md => kernel-lite-small-shell-cmd-file-rmdir.md} (96%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{statfs.md => kernel-lite-small-shell-cmd-file-sta.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{sync.md => kernel-lite-small-shell-cmd-file-sync.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{touch.md => kernel-lite-small-shell-cmd-file-touch.md} (94%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{umount.md => kernel-lite-small-shell-cmd-file-umount.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{writeproc.md => kernel-lite-small-shell-cmd-file-write.md} (96%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file.md rename "zh-cn/device-dev/kernel/\351\255\224\346\263\225\351\224\256\344\275\277\347\224\250\346\226\271\346\263\225.md" => zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md (94%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{arp.md => kernel-lite-small-shell-cmd-net-arp.md} (99%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{dhclient.md => kernel-lite-small-shell-cmd-net-dh.md} (99%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{dns.md => kernel-lite-small-shell-cmd-net-dns.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{ifconfig.md => kernel-lite-small-shell-cmd-net-ipc.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{ipdebug.md => kernel-lite-small-shell-cmd-net-ipd.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{netstat.md => kernel-lite-small-shell-cmd-net-net.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{ntpdate.md => kernel-lite-small-shell-cmd-net-ntp.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{ping.md => kernel-lite-small-shell-cmd-net-ping.md} (99%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{ping6.md => kernel-lite-small-shell-cmd-net-ping6.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{telnet.md => kernel-lite-small-shell-cmd-net-tel.md} (96%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{tftp.md => kernel-lite-small-shell-cmd-net-tftp.md} (98%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net.md rename zh-cn/device-dev/kernel/{cpup.md => kernel-lite-small-shell-cmd-sys-cpup.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{date.md => kernel-lite-small-shell-cmd-sys-date.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{dmesg.md => kernel-lite-small-shell-cmd-sys-demsg.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{exec.md => kernel-lite-small-shell-cmd-sys-exec.md} (97%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{free.md => kernel-lite-small-shell-cmd-sys-free.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{help.md => kernel-lite-small-shell-cmd-sys-help.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{hwi.md => kernel-lite-small-shell-cmd-sys-hwi.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{kill.md => kernel-lite-small-shell-cmd-sys-kill.md} (92%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{log.md => kernel-lite-small-shell-cmd-sys-log.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{memcheck.md => kernel-lite-small-shell-cmd-sys-mem.md} (89%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{oom.md => kernel-lite-small-shell-cmd-sys-oom.md} (99%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{pmm.md => kernel-lite-small-shell-cmd-sys-pmm.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{reset.md => kernel-lite-small-shell-cmd-sys-reset.md} (100%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{sem.md => kernel-lite-small-shell-cmd-sys-sem.md} (96%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{stack.md => kernel-lite-small-shell-cmd-sys-stack.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{su.md => kernel-lite-small-shell-cmd-sys-su.md} (96%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{swtmr.md => kernel-lite-small-shell-cmd-sys-swymr.md} (95%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{systeminfo.md => kernel-lite-small-shell-cmd-sys-sys.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{task.md => kernel-lite-small-shell-cmd-sys-task.md} (99%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{uname.md => kernel-lite-small-shell-cmd-sys-uname.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{vmm.md => kernel-lite-small-shell-cmd-sys-vmm.md} (98%) mode change 100755 => 100644 rename zh-cn/device-dev/kernel/{watch.md => kernel-lite-small-shell-cmd-sys-watch.md} (98%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md rename "zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\344\275\277\347\224\250\350\257\246\350\247\243.md" => zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd.md (31%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/Shell\344\273\213\347\273\215.md" => zh-cn/device-dev/kernel/kernel-lite-small-shell-des.md (92%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/kernel/kernel-lite-small-shell-guide.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\347\274\226\347\250\213\345\256\236\344\276\213.md" => zh-cn/device-dev/kernel/kernel-lite-small-shell-sample.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/kernel/kernel-lite-small-shell.md rename "zh-cn/device-dev/kernel/\347\272\277\347\250\213.md" => zh-cn/device-dev/kernel/kernel-lite-small-thread.md (99%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/kernel/kernel-lite-small.md rename "zh-cn/device-dev/kernel/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" => zh-cn/device-dev/kernel/kernel-lite.md (41%) rename "zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\257\274.md" => zh-cn/device-dev/kernel/kernel-standard-build.md (93%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\346\246\202\350\277\260.md" => zh-cn/device-dev/kernel/kernel-standard-des.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/kernel/OpenHarmony\345\274\200\345\217\221\346\235\277Patch\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/kernel/kernel-standard-patch.md (92%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/kernel/kernel-standard.md create mode 100644 zh-cn/device-dev/kernel/kernel.md delete mode 100755 zh-cn/device-dev/kernel/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/kernel/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/kernel/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/kernel/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/kernel/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/kernel/public_sys-resources/icon-warning.gif delete mode 100644 "zh-cn/device-dev/kernel/\344\272\213\344\273\266.md" delete mode 100644 "zh-cn/device-dev/kernel/\345\206\205\345\255\230\347\256\241\347\220\206.md" delete mode 100644 "zh-cn/device-dev/kernel/\345\206\205\346\240\270\350\260\203\346\265\213.md" delete mode 100644 "zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270-1.md" delete mode 100644 "zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270.md" delete mode 100644 "zh-cn/device-dev/kernel/\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" delete mode 100644 "zh-cn/device-dev/kernel/\346\211\251\345\261\225\347\273\204\344\273\266.md" delete mode 100755 "zh-cn/device-dev/kernel/\346\226\207\344\273\266\345\221\275\344\273\244.md" delete mode 100644 "zh-cn/device-dev/kernel/\346\240\207\345\207\206\347\263\273\347\273\237\345\206\205\346\240\270.md" delete mode 100755 "zh-cn/device-dev/kernel/\347\263\273\347\273\237\345\221\275\344\273\244.md" delete mode 100755 "zh-cn/device-dev/kernel/\347\275\221\347\273\234\345\221\275\344\273\244.md" delete mode 100755 "zh-cn/device-dev/kernel/\350\260\203\346\265\213.md" delete mode 100644 "zh-cn/device-dev/kernel/\350\275\273\351\207\217\347\263\273\347\273\237\345\206\205\346\240\270.md" delete mode 100644 "zh-cn/device-dev/kernel/\351\231\204\345\275\225.md" create mode 100644 zh-cn/device-dev/porting/figure/HDF_WIFI.png rename "zh-cn/device-dev/porting/figures/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" => "zh-cn/device-dev/porting/figure/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/porting/figure/init.jpg create mode 100644 zh-cn/device-dev/porting/figure/shell.jpg rename zh-cn/device-dev/porting/{figures => figure}/zh-cn_image_0000001072304191.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/porting/{figures => figure}/zh-cn_image_0000001073943511.png (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126198996.png create mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png create mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png create mode 100644 "zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" create mode 100644 "zh-cn/device-dev/porting/figure/\345\210\206\347\261\273.png" rename "zh-cn/device-dev/porting/figures/\345\215\225\346\235\277\351\251\261\345\212\250\351\200\202\351\205\215\346\265\201\347\250\213.png" => "zh-cn/device-dev/porting/figure/\345\215\225\346\235\277\351\251\261\345\212\250\351\200\202\351\205\215\346\265\201\347\250\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/figures/\350\212\257\347\211\207\347\247\273\346\244\215\345\205\263\351\224\256\346\255\245\351\252\244.png" => "zh-cn/device-dev/porting/figure/\350\212\257\347\211\207\347\247\273\346\244\215\345\205\263\351\224\256\346\255\245\351\252\244.png" (100%) mode change 100755 => 100644 delete mode 100755 zh-cn/device-dev/porting/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/porting/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/porting/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/porting/public_sys-resources/icon-warning.gif rename "zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" => zh-cn/device-dev/porting/transplant-chip-board-bundle.md (97%) rename "zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" => zh-cn/device-dev/porting/transplant-chip-board-component.md (91%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" => zh-cn/device-dev/porting/transplant-chip-board-drive.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" => zh-cn/device-dev/porting/transplant-chip-board-hal.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" => zh-cn/device-dev/porting/transplant-chip-board-overview.md (92%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" => zh-cn/device-dev/porting/transplant-chip-board-xts.md (94%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/porting/transplant-chip-board.md rename "zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" => zh-cn/device-dev/porting/transplant-chip-faqs.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" => zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" => zh-cn/device-dev/porting/transplant-chip-kernel-overview.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" => zh-cn/device-dev/porting/transplant-chip-kernel-verify.md (95%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/porting/transplant-chip-kernel.md rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" => zh-cn/device-dev/porting/transplant-chip-prepare-knows.md (93%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" => zh-cn/device-dev/porting/transplant-chip-prepare-process.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" => zh-cn/device-dev/porting/transplant-chip-prepare.md (31%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/porting/transplant-chip.md create mode 100644 zh-cn/device-dev/porting/transplant-minichip.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-des.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip.md rename "zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" => zh-cn/device-dev/porting/transplant-thirdparty-cmake.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" => zh-cn/device-dev/porting/transplant-thirdparty-makefile.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/porting/\346\246\202\350\277\260.md" => zh-cn/device-dev/porting/transplant-thirdparty-overview.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/porting/transplant-thirdparty.md create mode 100644 zh-cn/device-dev/porting/transplant.md delete mode 100755 "zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" delete mode 100755 "zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" rename zh-cn/device-dev/{bundles => }/public_sys-resources/icon-caution.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/{bundles => }/public_sys-resources/icon-danger.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/{bundles => }/public_sys-resources/icon-note.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/{bundles => }/public_sys-resources/icon-notice.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/{bundles => }/public_sys-resources/icon-tip.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/{bundles => }/public_sys-resources/icon-warning.gif (100%) mode change 100755 => 100644 delete mode 100755 "zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277.md" delete mode 100755 "zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277.md" delete mode 100755 "zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277.md" rename zh-cn/device-dev/quick-start/{figures => figure}/1.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/10.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/2.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures/2021-01-27_170334-17.png => figure/2021-01-27_170334-16.png} (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/2021-01-27_170334-2.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/2021-01-27_170334-5.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/2021-01-27_170334.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/3-0.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/3.png (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/3516\346\255\243\351\235\242.png" => "zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/3861\346\255\243\351\235\242.png" => "zh-cn/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/4.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/5-1.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/5.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/6.png (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/Hi3518EV300\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/Hi3518EV300\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/Hi3518\346\255\243\350\203\214\351\235\242.png" => "zh-cn/device-dev/quick-start/figure/Hi3518\346\255\243\350\203\214\351\235\242.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" => "zh-cn/device-dev/quick-start/figure/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272\345\233\276.png" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/changjian1-10.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/changjian1.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/chuankou1-6.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/chuankou1.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/qi1.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001057335403.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001072468991.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001072757874.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001073840162.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001113969542.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001114129428.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001114129432.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001117463460.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001117621400.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311066.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311070.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311072.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311090.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311092.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311094.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311096.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311098.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311100.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311104.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311116.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128311118.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470864.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470880.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470900.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470902.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470904.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470906.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470908.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001128470922.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001130278040.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001130584312.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001142794291.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001142802505.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270699.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270713.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270715.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270727.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270729.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270731.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270733.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270735.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270737.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270739.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270743.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270749.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174270751.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350615.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350623.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350633.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350641.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350643.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350647.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350649.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350651.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350653.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350655.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350659.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350661.png (100%) rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001174350669.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/quick-start/{figures => figure}/zh-cn_image_0000001176317561.png (100%) rename "zh-cn/device-dev/quick-start/figures/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" => "zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234.png" => "zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" => "zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257.png" => "zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\345\220\257\345\212\250\345\271\266\346\210\220\345\212\237\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250\345\271\266\346\210\220\345\212\237\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\345\220\257\345\212\250\346\210\220\345\212\237\345\271\266\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250\346\210\220\345\212\237\345\271\266\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\346\210\252\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\346\210\252\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" => "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" => "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" => "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257.png" => "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" => "zh-cn/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" => "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" => "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" => "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" => "zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\350\256\276\347\275\256\345\233\276\344\276\213.png" => "zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/figures/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" => "zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" (100%) rename "zh-cn/device-dev/quick-start/figures/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276.png" => "zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276.png" (100%) mode change 100755 => 100644 delete mode 100644 "zh-cn/device-dev/quick-start/figures/3516\346\255\243\351\235\242-16.png" delete mode 100644 "zh-cn/device-dev/quick-start/figures/\346\240\207\345\207\206\347\216\257\345\242\203\345\277\253\351\200\237\345\205\245\351\227\250\346\265\201\347\250\213.png" delete mode 100755 zh-cn/device-dev/quick-start/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/quick-start/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/quick-start/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/quick-start/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/quick-start/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/quick-start/public_sys-resources/icon-warning.gif rename "zh-cn/device-dev/quick-start/\346\246\202\350\277\260-0.md" => zh-cn/device-dev/quick-start/quickstart-lite-env-setup-des.md (100%) rename "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230.md" => zh-cn/device-dev/quick-start/quickstart-lite-env-setup-faqs.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/Ubuntu\347\274\226\350\257\221\347\216\257\345\242\203\345\207\206\345\244\207.md" => zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md (95%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207.md" => zh-cn/device-dev/quick-start/quickstart-lite-env-setup-win.md (93%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md rename "zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" => zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3516.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" => zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3518.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" => zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md (99%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite-introduction.md rename "zh-cn/device-dev/quick-start/\346\246\202\350\277\260.md" => zh-cn/device-dev/quick-start/quickstart-lite-overview.md (100%) rename "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md (77%) rename "zh-cn/device-dev/quick-start/\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md (95%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md (89%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-2.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md (97%) create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md rename "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-6.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md (78%) rename "zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS-5.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md (87%) rename "zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-4.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md (96%) create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md rename "zh-cn/device-dev/quick-start/WLAN\350\201\224\347\275\221.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md (85%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-1.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md (95%) rename "zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-World.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203.md" => zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md (97%) create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite-steps.md create mode 100644 zh-cn/device-dev/quick-start/quickstart-lite.md rename "zh-cn/device-dev/quick-start/\351\225\234\345\203\217\347\203\247\345\275\225.md" => zh-cn/device-dev/quick-start/quickstart-standard-burn.md (97%) rename "zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210Docker\346\226\271\345\274\217\357\274\211.md" => zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md (93%) rename "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-8.md" => zh-cn/device-dev/quick-start/quickstart-standard-faq.md (100%) rename "zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210\345\256\211\350\243\205\345\214\205\346\226\271\345\274\217\357\274\211.md" => zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md (93%) rename "zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207-7.md" => zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md (93%) create mode 100644 zh-cn/device-dev/quick-start/quickstart-standard.md create mode 100644 zh-cn/device-dev/quick-start/quickstart.md delete mode 100755 "zh-cn/device-dev/quick-start/\344\272\206\350\247\243\345\274\200\345\217\221\346\235\277.md" delete mode 100644 "zh-cn/device-dev/quick-start/\345\205\245\351\227\250\344\273\213\347\273\215.md" delete mode 100644 "zh-cn/device-dev/quick-start/\345\274\200\345\217\221\346\255\245\351\252\244.md" delete mode 100755 "zh-cn/device-dev/quick-start/\346\220\255\345\273\272\347\263\273\347\273\237\347\216\257\345\242\203.md" delete mode 100755 "zh-cn/device-dev/quick-start/\346\240\207\345\207\206\347\263\273\347\273\237\345\205\245\351\227\250.md" delete mode 100644 "zh-cn/device-dev/quick-start/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\205\245\351\227\250.md" rename "zh-cn/device-dev/security/figures/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" => "zh-cn/device-dev/security/figure/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" => "zh-cn/device-dev/security/figure/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" => "zh-cn/device-dev/security/figure/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" => "zh-cn/device-dev/security/figure/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" => "zh-cn/device-dev/security/figure/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" => "zh-cn/device-dev/security/figure/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" => "zh-cn/device-dev/security/figure/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/DAC\346\265\201\347\250\213\345\233\276.png" => "zh-cn/device-dev/security/figure/DAC\346\265\201\347\250\213\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/HUKS\345\212\237\350\203\275\347\273\223\346\236\204\345\233\276.png" => "zh-cn/device-dev/security/figure/HUKS\345\212\237\350\203\275\347\273\223\346\236\204\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/\345\256\211\345\205\250\344\277\235\351\232\234\347\244\272\346\204\217\345\233\276.png" => "zh-cn/device-dev/security/figure/\345\256\211\345\205\250\344\277\235\351\232\234\347\244\272\346\204\217\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/figures/\350\256\276\345\244\207\351\227\264\345\273\272\347\253\213\345\217\257\344\277\241\345\205\263\347\263\273\346\265\201\347\250\213\345\233\276.png" => "zh-cn/device-dev/security/figure/\350\256\276\345\244\207\351\227\264\345\273\272\347\253\213\345\217\257\344\277\241\345\205\263\347\263\273\346\265\201\347\250\213\345\233\276.png" (100%) mode change 100755 => 100644 delete mode 100755 zh-cn/device-dev/security/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/security/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/security/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/security/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/security/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/security/public_sys-resources/icon-warning.gif rename "zh-cn/device-dev/security/\351\232\220\347\247\201\344\277\235\346\212\244.md" => zh-cn/device-dev/security/safety-protection-privacyguide.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/security/\345\256\211\345\205\250\346\214\207\345\215\227.md" => zh-cn/device-dev/security/safety-safeguide-security.md (96%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/security/safety.md delete mode 100755 zh-cn/device-dev/subsystems/DFX.md delete mode 100755 "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241.md" rename zh-cn/device-dev/subsystems/{figures => figure}/20200721-223604(eSpace).gif (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/Ability\344\270\216AbilitySlice\347\232\204\345\205\263\347\263\273\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/Ability\344\270\216AbilitySlice\347\232\204\345\205\263\347\263\273\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/Ability\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/Ability\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/Ability\347\256\241\347\220\206\346\234\215\345\212\241\345\222\214\345\214\205\347\256\241\347\220\206\346\234\215\345\212\241\345\220\257\345\212\250.png" => "zh-cn/device-dev/subsystems/figure/Ability\347\256\241\347\220\206\346\234\215\345\212\241\345\222\214\345\214\205\347\256\241\347\220\206\346\234\215\345\212\241\345\220\257\345\212\250.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/LiteOS-A\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" => "zh-cn/device-dev/subsystems/figure/LiteOS-A\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/LiteOS-M\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" => "zh-cn/device-dev/subsystems/figure/LiteOS-M\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/UIButton\347\202\271\345\207\273\346\225\210\346\236\234.gif" => "zh-cn/device-dev/subsystems/figure/UIButton\347\202\271\345\207\273\346\225\210\346\236\234.gif" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/ViewGroup\346\267\273\345\212\240view\345\256\236\344\276\213\346\225\210\346\236\234\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/ViewGroup\346\267\273\345\212\240view\345\256\236\344\276\213\346\225\210\346\236\234\345\233\276.png" (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/unnaming.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001051782526.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001052582522.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001052662559.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001052782555.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001052942531.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001053207924.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001053247975.gif (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001054101094.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001054421113.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001059334449.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001060200050.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001061889268.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001062334618.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001062476933.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001062942690.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001063839940.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001077724150.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001077727032.png (100%) mode change 100755 => 100644 rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001119924146.gif (100%) rename zh-cn/device-dev/subsystems/{figures => figure}/zh-cn_image_0000001166643927.jpg (100%) rename "zh-cn/device-dev/subsystems/figures/\345\212\250\347\224\273\345\256\236\347\216\260\346\225\210\346\236\234\345\233\276.gif" => "zh-cn/device-dev/subsystems/figure/\345\212\250\347\224\273\345\256\236\347\216\260\346\225\210\346\236\234\345\233\276.gif" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\345\233\276\347\211\2071.png" => "zh-cn/device-dev/subsystems/figure/\345\233\276\347\211\2071.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" => "zh-cn/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\345\271\263\351\223\272\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/\345\271\263\351\223\272\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\345\272\224\347\224\250\345\220\257\345\212\250\346\265\201\347\250\213.png" => "zh-cn/device-dev/subsystems/figure/\345\272\224\347\224\250\345\220\257\345\212\250\346\265\201\347\250\213.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" => "zh-cn/device-dev/subsystems/figure/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\346\231\256\351\200\232\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\347\273\223\346\236\204.png" => "zh-cn/device-dev/subsystems/figure/\346\231\256\351\200\232\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\347\273\223\346\236\204.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\346\231\256\351\200\232\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204.png" => "zh-cn/device-dev/subsystems/figure/\346\231\256\351\200\232\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\346\260\264\345\271\263-\345\236\202\347\233\264\346\226\271\345\220\221\345\217\257\346\273\221\345\212\250\346\225\210\346\236\234\345\233\276.gif" => "zh-cn/device-dev/subsystems/figure/\346\260\264\345\271\263-\345\236\202\347\233\264\346\226\271\345\220\221\345\217\257\346\273\221\345\212\250\346\225\210\346\236\234\345\233\276.gif" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\346\265\213\350\257\225\345\271\263\345\217\260\346\236\266\346\236\204.png" => "zh-cn/device-dev/subsystems/figure/\346\265\213\350\257\225\345\271\263\345\217\260\346\236\266\346\236\204.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\346\265\213\350\257\225\345\271\263\345\217\260\350\277\220\350\241\214\346\227\266\345\272\217.png" => "zh-cn/device-dev/subsystems/figure/\346\265\213\350\257\225\345\271\263\345\217\260\350\277\220\350\241\214\346\227\266\345\272\217.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204\347\244\272\346\204\217\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204\347\244\272\346\204\217\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\347\274\226\350\257\221\346\236\204\345\273\272\346\265\201\347\250\213.jpg" => "zh-cn/device-dev/subsystems/figure/\347\274\226\350\257\221\346\236\204\345\273\272\346\265\201\347\250\213.jpg" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\350\207\252\351\200\202\345\272\224\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" => "zh-cn/device-dev/subsystems/figure/\350\207\252\351\200\202\345\272\224\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/figures/\350\256\276\347\275\2562-2\347\275\221\346\240\274\345\271\266\346\267\273\345\212\2404\344\270\252button\347\273\204\344\273\266\350\277\233\350\241\214\345\270\203\345\261\200.png" => "zh-cn/device-dev/subsystems/figure/\350\256\276\347\275\2562-2\347\275\221\346\240\274\345\271\266\346\267\273\345\212\2404\344\270\252button\347\273\204\344\273\266\350\277\233\350\241\214\345\270\203\345\261\200.png" (100%) mode change 100755 => 100644 delete mode 100644 zh-cn/device-dev/subsystems/figures/RIL-Adapter.png delete mode 100755 "zh-cn/device-dev/subsystems/figures/\345\216\273\347\224\265.png" delete mode 100644 "zh-cn/device-dev/subsystems/figures/\346\235\245\347\224\265.png" delete mode 100644 "zh-cn/device-dev/subsystems/hdc_std\345\270\270\350\247\201\351\227\256\351\242\230.md" delete mode 100755 zh-cn/device-dev/subsystems/public_sys-resources/icon-caution.gif delete mode 100755 zh-cn/device-dev/subsystems/public_sys-resources/icon-danger.gif delete mode 100755 zh-cn/device-dev/subsystems/public_sys-resources/icon-note.gif delete mode 100755 zh-cn/device-dev/subsystems/public_sys-resources/icon-notice.gif delete mode 100755 zh-cn/device-dev/subsystems/public_sys-resources/icon-tip.gif delete mode 100755 zh-cn/device-dev/subsystems/public_sys-resources/icon-warning.gif rename "zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253\351\205\215\347\275\256\346\226\207\344\273\266\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-demo-conf.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253\346\217\222\344\273\266\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-demo-plugin.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253SDK\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\347\244\272\344\276\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-demo.md (72%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\351\205\215\347\275\256\346\226\207\344\273\266\347\232\204\345\274\200\345\217\221\350\277\207\347\250\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-devguide-conf.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\217\222\344\273\266\347\232\204\345\274\200\345\217\221\350\277\207\347\250\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/SDK\345\274\200\345\217\221\350\277\207\347\250\213.md" => zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md (98%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-aiframework-devguide.md rename "zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203.md" => zh-cn/device-dev/subsystems/subsys-aiframework-envbuild.md (40%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/AI\345\274\225\346\223\216\346\241\206\346\236\266\345\274\200\345\217\221\346\214\207\345\215\227.md" => zh-cn/device-dev/subsystems/subsys-aiframework-guide.md (95%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\344\273\243\347\240\201\347\256\241\347\220\206\350\247\204\350\214\203.md" => zh-cn/device-dev/subsystems/subsys-aiframework-tech-codemanage.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\216\245\345\217\243\345\274\200\345\217\221\350\247\204\350\214\203.md" => zh-cn/device-dev/subsystems/subsys-aiframework-tech-interface.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\221\275\345\220\215\350\247\204\350\214\203.md" => zh-cn/device-dev/subsystems/subsys-aiframework-tech-name.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\212\200\346\234\257\350\247\204\350\214\203.md" => zh-cn/device-dev/subsystems/subsys-aiframework-tech.md (45%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/AI\346\241\206\346\236\266.md" => zh-cn/device-dev/subsystems/subsys-aiframework.md (32%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" => zh-cn/device-dev/subsystems/subsys-application-framework-builden.md (83%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213.md" => zh-cn/device-dev/subsystems/subsys-application-framework-demo.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" => zh-cn/device-dev/subsystems/subsys-application-framework-guide.md (99%) rename "zh-cn/device-dev/subsystems/\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-application-framework-overview.md (94%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-application-framework.md rename "zh-cn/device-dev/subsystems/appspawn\345\272\224\347\224\250\345\255\265\345\214\226\347\273\204\344\273\266.md" => zh-cn/device-dev/subsystems/subsys-boot-appspawn.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/bootstrap\346\234\215\345\212\241\345\220\257\345\212\250\347\273\204\344\273\266.md" => zh-cn/device-dev/subsystems/subsys-boot-bootstrap.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\270\270\350\247\201\351\227\256\351\242\230.md" => zh-cn/device-dev/subsystems/subsys-boot-faqs.md (94%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/init\345\220\257\345\212\250\345\274\225\345\257\274\347\273\204\344\273\266.md" => zh-cn/device-dev/subsystems/subsys-boot-init.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215\345\255\220\347\263\273\347\273\237\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-boot-overview.md (95%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\217\202\350\200\203.md" => zh-cn/device-dev/subsystems/subsys-boot-ref.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/syspara\347\263\273\347\273\237\345\261\236\346\200\247\347\273\204\344\273\266.md" => zh-cn/device-dev/subsystems/subsys-boot-syspara.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-boot.md rename "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-build-mini-lite.md (39%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-build-mini.md (31%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274-1.md" => zh-cn/device-dev/subsystems/subsys-build-standard-large.md (66%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\240\207\345\207\206\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-build-standard.md (38%) create mode 100644 zh-cn/device-dev/subsystems/subsys-build.md rename "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\345\256\236\344\276\213.md" => zh-cn/device-dev/subsystems/subsys-densor-demo.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-densor-guide.md (91%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-densor-overview.md (99%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-densor.md rename "zh-cn/device-dev/subsystems/HiLog_Lite\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-dfx-hilog-lite.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/HiLog\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-dfx-hilog-rich.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/HiSysEvent\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-dfx-hisysevent.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md rename "zh-cn/device-dev/subsystems/DFX\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-dfx-overview.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-dfx.md rename "zh-cn/device-dev/subsystems/\345\212\250\347\224\273\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-graphics-animation-guide.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide1.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\270\203\345\261\200\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide2.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\231\256\351\200\232\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide3.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-graphics-overview.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-graphics.md rename "zh-cn/device-dev/subsystems/\347\233\270\346\234\272\345\274\200\345\217\221\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md (97%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-multimedia-camera-preview-guide.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-multimedia-camera-record-guide.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-multimedia-camera.md rename "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\345\274\200\345\217\221\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-multimedia-video-overview.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\346\222\255\346\224\276\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-multimedia-video-play-guide.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\345\275\225\345\210\266\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-multimedia-video-record-guide.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-multimedia-video.md rename "zh-cn/device-dev/subsystems/\345\252\222\344\275\223.md" => zh-cn/device-dev/subsystems/subsys-multimedia.md (36%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/OTA\345\215\207\347\272\247.md" => zh-cn/device-dev/subsystems/subsys-ota-guide.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\210\206\345\270\203\345\274\217\350\277\234\347\250\213\345\220\257\345\212\250.md" => zh-cn/device-dev/subsystems/subsys-remote-start.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/IPC\351\200\232\344\277\241\351\211\264\346\235\203\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-security-communicationverify.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\346\246\202\350\277\260-7.md" => zh-cn/device-dev/subsystems/subsys-security-overview.md (95%) rename "zh-cn/device-dev/subsystems/\345\272\224\347\224\250\346\235\203\351\231\220\347\256\241\347\220\206\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-security-rightmanagement.md (99%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\272\224\347\224\250\351\252\214\347\255\276\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-security-sigverify.md (99%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-security.md rename "zh-cn/device-dev/subsystems/\346\265\213\350\257\225.md" => zh-cn/device-dev/subsystems/subsys-testguide-test.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/bytrace\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-toolchain-bytrace-guide.md (95%) rename "zh-cn/device-dev/subsystems/hdc_std-\344\275\277\347\224\250\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md (93%) create mode 100644 zh-cn/device-dev/subsystems/subsys-toolchain.md rename "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\270\270\350\247\201\351\227\256\351\242\230.md" => zh-cn/device-dev/subsystems/subsys-utils-faqs.md (100%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\274\200\345\217\221\346\214\207\345\257\274.md" => zh-cn/device-dev/subsystems/subsys-utils-guide.md (98%) mode change 100755 => 100644 rename "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\346\246\202\350\277\260.md" => zh-cn/device-dev/subsystems/subsys-utils-overview.md (100%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys-utils.md rename "zh-cn/device-dev/subsystems/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237\345\274\200\345\217\221\346\214\207\345\215\227.md" => zh-cn/device-dev/subsystems/subsys-xts-guide.md (94%) mode change 100755 => 100644 create mode 100644 zh-cn/device-dev/subsystems/subsys.md delete mode 100755 "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200.md" delete mode 100755 "zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215.md" delete mode 100755 "zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217.md" delete mode 100755 "zh-cn/device-dev/subsystems/\345\256\211\345\205\250.md" delete mode 100755 "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213-6.md" delete mode 100755 "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/subsystems/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266.md" delete mode 100755 "zh-cn/device-dev/subsystems/\347\233\270\346\234\272.md" delete mode 100644 "zh-cn/device-dev/subsystems/\347\240\224\345\217\221\345\267\245\345\205\267\351\223\276.md" delete mode 100755 "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272.md" delete mode 100755 "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274.md" delete mode 100755 "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\345\270\270\350\247\201\351\227\256\351\242\230.md" delete mode 100755 "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260-0.md" delete mode 100755 "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221.md" diff --git a/zh-cn/device-dev/bundles/Readme-CN.md b/zh-cn/device-dev/bundles/Readme-CN.md index 6b1ae76002f..7233ea64d42 100755 --- a/zh-cn/device-dev/bundles/Readme-CN.md +++ b/zh-cn/device-dev/bundles/Readme-CN.md @@ -1,20 +1,12 @@ -# 组件开发 - -- [组件开发规范](组件开发规范.md) - - [概述](概述.md) - - [组件构成](组件构成.md) - - [组件管理](组件管理.md) - - [组件版本](组件版本.md) - - [发行版](发行版.md) - - [环境变量说明](环境变量说明.md) - -- [组件开发指南](组件开发指南.md) - - [概述](概述-0.md) - - [准备工作](准备工作.md) - - [组件开发](组件开发.md) - -- [组件开发示例](组件开发示例.md) - - [HPM介绍](HPM介绍.md) - - [环境准备](环境准备.md) - - [操作实例](操作实例.md) +# 组件开发指南 + +- [组件开发规范](bundles-standard-rules.md) +- [组件开发指南](bundles-guide.md) + - [组件开发指南](bundles-guide-overview.md) + - [准备工作](bundles-guide-prepare.md) + - [组件开发](bundles-guide-develop.md) +- [组件开发示例](bundles-demo.md) + - [HPM介绍](bundles-demo-hpmdescription.md) + - [环境准备](bundles-demo-environment.md) + - [操作实例](bundles-demo-devsample.md) diff --git "a/zh-cn/device-dev/bundles/\346\223\215\344\275\234\345\256\236\344\276\213.md" b/zh-cn/device-dev/bundles/bundles-demo-devsample.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/bundles/\346\223\215\344\275\234\345\256\236\344\276\213.md" rename to zh-cn/device-dev/bundles/bundles-demo-devsample.md index d49c4267cc6..1de6091e005 --- "a/zh-cn/device-dev/bundles/\346\223\215\344\275\234\345\256\236\344\276\213.md" +++ b/zh-cn/device-dev/bundles/bundles-demo-devsample.md @@ -28,7 +28,7 @@ Installed. ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >Hi3516平台采用下述命令: >``` >hpm install @ohos/ip_camera_hi3516dv300 diff --git "a/zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\207\206\345\244\207.md" b/zh-cn/device-dev/bundles/bundles-demo-environment.md old mode 100755 new mode 100644 similarity index 89% rename from "zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\207\206\345\244\207.md" rename to zh-cn/device-dev/bundles/bundles-demo-environment.md index d4d5662f297..1a05b2a302a --- "a/zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\207\206\345\244\207.md" +++ b/zh-cn/device-dev/bundles/bundles-demo-environment.md @@ -25,7 +25,7 @@ ln -s bash /bin/sh ## 安装Node.js ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果配置的源的nodejs版本太低,可以执行以下语句后再执行apt-get install: >``` >curl -L https://deb.nodesource.com/setup_12.x | bash @@ -68,7 +68,7 @@ http_proxy = http://your-proxy-server:port # 配置HTTP代理 https_proxy = http://your-proxy-server:port # 配置HTTPS代理 ``` -hpm-cli的命令介绍可以参考:[hpm操作命令](组件管理.md) +hpm-cli的命令介绍可以参考:[hpm操作命令](bundles-standard-rules.md) ## 安装python环境 @@ -81,7 +81,7 @@ sudo pip3 install setuptools sudo pip3 install kconfiglib # 建议安装kconfiglib 13.2.0+版本 ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >上述方式适用Hi3518和Hi3516两种平台,针对Hi3861平台采用以下方式安装python环境: >``` >sudo apt-get install python3.8 @@ -112,7 +112,7 @@ which mcopy # 如果没找到,执行以下命令安装 sudo apt-get install mtools ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >Hi3518和Hi3516两种平台需要安装打包工具,Hi3861平台不需要。 ## 安装SCons @@ -131,9 +131,9 @@ sudo apt-get install mtools ``` **图 1** SCons安装成功界面,版本要求3.0.4以上 - ![](figures/SCons安装成功界面-版本要求3-0-4以上.png "SCons安装成功界面-版本要求3-0-4以上") + ![](figure/SCons安装成功界面-版本要求3-0-4以上-21.png "SCons安装成功界面-版本要求3-0-4以上-21") ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >Hi3861平台需要安装SCons,Hi3518和Hi3516两种平台不需要。 diff --git "a/zh-cn/device-dev/bundles/HPM\344\273\213\347\273\215.md" b/zh-cn/device-dev/bundles/bundles-demo-hpmdescription.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/bundles/HPM\344\273\213\347\273\215.md" rename to zh-cn/device-dev/bundles/bundles-demo-hpmdescription.md diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\347\244\272\344\276\213.md" b/zh-cn/device-dev/bundles/bundles-demo.md old mode 100755 new mode 100644 similarity index 30% rename from "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\347\244\272\344\276\213.md" rename to zh-cn/device-dev/bundles/bundles-demo.md index d3e13752118..bcdc877e6dd --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ b/zh-cn/device-dev/bundles/bundles-demo.md @@ -1,9 +1,9 @@ # 组件开发示例 -- **[HPM介绍](HPM介绍.md)** +- **[HPM介绍](bundles-demo-hpmdescription.md)** -- **[环境准备](环境准备.md)** +- **[环境准备](bundles-demo-environment.md)** -- **[操作实例](操作实例.md)** +- **[操作实例](bundles-demo-devsample.md)** diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" b/zh-cn/device-dev/bundles/bundles-guide-develop.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" rename to zh-cn/device-dev/bundles/bundles-guide-develop.md index 292c88d6d2c..bc462fd12dc --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" +++ b/zh-cn/device-dev/bundles/bundles-guide-develop.md @@ -19,7 +19,6 @@ - 从头开发一个全新的组件。 - 将一个现有的非组件的代码改造成组件。 - - hpm提供了一些组件模板方便快速创建组件。 ## 新建组件 @@ -109,7 +108,7 @@ hpm 除了提供了默认模板 default和simple两个简单的模板之外, 可以使用命令hpm search -t template 从服务器端搜索模板。 -![](figures/zh-cn_image_0000001051452177.png) +![](figure/zh-cn_image_0000001051452177.png) 根据description简要中的描述,找到适合的模板,基于模板可以快速创建一个组件的脚手架,执行如下初始化命令(指定-t -d 参数)。 @@ -159,7 +158,7 @@ executable("hello_world") { } ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- “executable”是gn内置模板,可以用“gn help executable ”查看使用方法。 >- “sources ”是源码路径,“include\_dirs ”是头文件路径。 @@ -173,7 +172,7 @@ hpm build 在完成一系列的编译动作后,显示build succeed。检查编译的输出结果: -![](figures/zh-cn_image_0000001051770876.png) +![](figure/zh-cn_image_0000001051770876.png) ## 定义发行版 diff --git "a/zh-cn/device-dev/bundles/\346\246\202\350\277\260-0.md" b/zh-cn/device-dev/bundles/bundles-guide-overview.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/bundles/\346\246\202\350\277\260-0.md" rename to zh-cn/device-dev/bundles/bundles-guide-overview.md index 758ec2fb9fd..332a8fc0078 --- "a/zh-cn/device-dev/bundles/\346\246\202\350\277\260-0.md" +++ b/zh-cn/device-dev/bundles/bundles-guide-overview.md @@ -50,5 +50,5 @@ **图 1** 组件和发行版的构成 -![](figures/组件0924.png) +![](figure/组件0924.png) diff --git "a/zh-cn/device-dev/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" b/zh-cn/device-dev/bundles/bundles-guide-prepare.md old mode 100755 new mode 100644 similarity index 93% rename from "zh-cn/device-dev/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" rename to zh-cn/device-dev/bundles/bundles-guide-prepare.md index 981e7e299a8..4068e7d7bee --- "a/zh-cn/device-dev/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" +++ b/zh-cn/device-dev/bundles/bundles-guide-prepare.md @@ -13,7 +13,7 @@ - Linux服务器 **图 1** 硬件环境连接关系 -![](figures/硬件环境连接关系.png "硬件环境连接关系") +![](figure/硬件环境连接关系.png "硬件环境连接关系") ## 安装Node.js和hpm命令行工具 @@ -62,11 +62,11 @@ http_proxy = http://your-proxy-server:port # 配置HTTP https_proxy = http://your-proxy-server:port # 配置HTTPS代理 ``` -hpm-cli的命令介绍可以参考:[hpm操作命令](组件管理.md) +hpm-cli的命令介绍可以参考:[hpm操作命令](bundles-guide-overview.md) ## 下载OpenHarmony代码 -参考[《源码获取》](../get-code/源码获取.md) +参考[《源码获取》](../get-code/sourcecode-acquire.md)。 ## 安装开发依赖的组件 diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" b/zh-cn/device-dev/bundles/bundles-guide.md old mode 100755 new mode 100644 similarity index 31% rename from "zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" rename to zh-cn/device-dev/bundles/bundles-guide.md index cb1868b0b44..ca5ee5824be --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" +++ b/zh-cn/device-dev/bundles/bundles-guide.md @@ -1,9 +1,9 @@ # 组件开发指南 -- **[概述](概述-0.md)** +- **[概述](bundles-guide-overview.md)** -- **[准备工作](准备工作.md)** +- **[准备工作](bundles-guide-prepare.md)** -- **[组件开发](组件开发.md)** +- **[组件开发](bundles-guide-develop.md)** diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" b/zh-cn/device-dev/bundles/bundles-standard-rules.md old mode 100755 new mode 100644 similarity index 51% rename from "zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" rename to zh-cn/device-dev/bundles/bundles-standard-rules.md index 852d9929b09..350c2f80db6 --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" +++ b/zh-cn/device-dev/bundles/bundles-standard-rules.md @@ -1,9 +1,162 @@ -# 组件管理 +# 组件开发规范 -- [依赖关系](#section12657593129) -- [hpm操作命令参考](#section1258849181312) +- [概述](#section1725818533344) + - [定义](#section4821219183514) + - [组件划分原则](#section1089794263513) + - [组件依赖](#section25701647163710) -## 依赖关系 +- [组件构成](#section185538333914) + - [代码文件](#section8431268393) + - [说明文件](#section168121548173914) + - [元数据描述文件](#section7107181819406) + +- [组件管理](#section32061634104110) + - [依赖关系](#section791115242423) + - [hpm操作命令参考](#section1183205411429) + +- [组件版本](#section12612142864316) + - [版本号命名规范](#section1487612416432) + - [版本发布](#section1548171014440) + +- [发行版](#section1264139114413) +- [环境变量说明](#section15352105174512) + +## 概述 + +本文档将介绍组件的基本概念以及如何按照规范定义组件。 + +### 定义 + +OpenHarmony软件以组件\(bundle\)作为基本单元,从系统角度看,凡是运行在OpenHarmony上的软件都可以定义为组件;一般来讲,根据组件的应用范围,可以分为: + +- 板级组件:如board、arch、mcu这些与设备硬件相关的组件。 +- 系统组件:一组独立功能的集合,如内核、文件系统、框架等。 +- 应用组件:直接面向用户提供服务的应用\(如wifi\_iot,ip\_camera\)。 + +从形式上看,组件是为复用而生,一切可以复用的模块都可以定义为组件,可以分为: + +- 源代码 +- 二进制 +- 代码片段 +- 发行版 + +### 组件划分原则 + +原则上应尽可能划分为细颗粒度的组件,以满足最大限度的复用。主要考虑以下几点: + +- 独立性:组件的功能应该相对独立,支持独立编译,可以单独对外提供接口和服务; +- 耦合性:如果组件必须依赖其他的组件,才能对外提供服务,应考虑和被依赖的组件合并为一个组件。 +- 相关性:如果一组组件共同完成一项功能,且没有被其他组件依赖,未来也没有被依赖的可能,则可以考虑合并为一个组件。 + +### 组件依赖 + +组件的依赖关系分为两种:必选依赖和可选依赖。 + +- 必选依赖:是指组件A在完成某个功能时,必须引入组件B,调用B的接口或服务配合才能完成。称B为A的必选依赖。 +- 可选依赖:是在组件A在完成某个功能时,可以引入组件C,也可以引入组件D。C和D可以相互替换,称C和D为A的可选依赖。 + +## 组件构成 + +一个组件包一般包含如下内容: + +- 组件包的代码或库(src目录下的代码文件) +- ohos\_bundles文件夹(存放依赖的组件,安装组件时自动生成,无需提交到代码库) +- 组件包的说明文件\(README.md\) +- 组件包元数据声明文件\(bundle.json\) +- 开源许可文件\(LICENSE\) + + ``` + my-bundle + |_ohos_bundles + |_src + |_bundle.json + |_README.md + |_LICENSE + ``` + + +### 代码文件 + +组件的代码文件和普通的代码目录没有差异。但要注意的是,组件中对外暴露的接口(头文件),会被其他组件所引用,需要单独在bundle.json的dirs中声明。 + +### 说明文件 + +README.md,为markdown格式的描述关于组件自述说明文件。([语法参考](https://www.markdownguide.org/getting-started/)\) + +为了帮助他人在hpm上找到该组件,并更方便的使用它,在组件的根目录中包含一个README文件。 + +README文件可能包括如何安装,配置和使用组件包中的实例代码说明,以及可能会对用户有所帮助的任何其他信息。 + +每个组件的自述文件将显示在hpm系统的组件详情页面的描述中。 + +### 元数据描述文件 + +bundle.json文件是对当前组件的元数据描述,每个组件中必须包含一个bundle.json文件。 + +``` +{ + "name": "@myorg/demo-bundle", + "version": "1.0.0", + "license": "MIT", + "description": "bundle description", + "keywords": ["hos"], + "tags": ["applications", "drivers"], + "author": {"name":"","email":"","url":""}, + "contributors":[{"name":"","email":"","url":""},{"name":"","email":"","url":""}], + "homepage": "http://www.foo.bar.com", + "repository": "https://git@gitee.com:foo/bar.git", + "publishAs": "code-segment", + "segment":{ + "destPath":"/the/dest/path" + }, + "dirs": { + "src": ["src/**/*.c"], + "headers": ["headers/**/*.h"], + "bin": ["bin/**/*.o"] + }, + "scripts": { + "build": "make" + }, + "envs": {}, + "ohos": { + "os": "2.0.0", + "board": "hi3516", + "kernel": "liteos-a" + }, + "rom": "10240", + "ram": "1024", + "dependencies": { + "@myorg/net":"1.0.0" + } +} +``` + +bundle.json文件具有如下功能: + +- name:定义组件的名称,放到组织下, 以@开头,/分割,如:@myorg/mybundle + +- version:定义组件版本号,如1.0.0,需满足semver的标准。 + +- description:一句话对组件进行简要的描述。 +- dependencies:定义组件的依赖组件。 + +- envs: 定义组件编译时所需要的参数,包括全局参数以及依赖所需的参数。 + +- scripts:定义在当前组件下能够执行的命令(如编译,构建,测试,烧录等)。 + +- publishAs:定义组件的发布类型(source:源码,binary:二进制,distribution:发行版,code-segment:代码片段)。 + +- segment: 仅针对code-segment类型的组件,定义组件的目标路径(即安装后,组件包中包含的文件复制到的目标路径) +- dirs:定义发布时打包的目录结构(如头文件)。 + +- ram&rom:统计相关信息:预计占用ROM和RAM信息。 +- ohos:描述OpenHarmony系统版本、开发板及内核的匹配关系(多个请用英文逗号的“,”分割)。 +- 定义其他扩展信息:作者,主页,代码仓库,许可协议,标签,关键字。 +- 对于发行版类型,还有个base,可以定义继承自的发行版。 + +## 组件管理 + +### 依赖关系 生成基础bundle.json以后,需要继续添加组件依赖来实现更复杂的功能。此时需要知道所依赖组件的名称和版本号,并且把它们定义在bundle.json里面的dependencies字段中。 @@ -41,20 +194,20 @@ $ hpm list | | +--@demo/dist_tools@4.0.0 ``` -还可以使用图的形式,来查看当前组件的依赖关系,执行如下命令: +还可以使用可视化的形式,来查看当前组件的依赖关系,执行如下命令: ``` -hpm dependencies +hpm ui ``` -在当前目录下会生成deps\_visual文件夹,里面包含两个文件,deps.html 和 deps-data.js。在浏览器中打开 deps.html 文件,就可以看到依赖关系的图形化展示\(如下图\)。 - -根据不同的依赖类型,图形结点呈现出不同的颜色。鼠标悬浮在结点上,可以查看当前结点的状态。 +会在本地启动一个web服务(默认会打开浏览器并进入项目页),点击侧边栏的项目依赖图标,打开页面,可以看到项目的依赖组件列表,点击右侧按钮切换到树状视图,就可以看到依赖关系的图形化展示\(如下图\)。 **图 1** 组件包依赖关系图 -![](figures/组件包依赖关系图.png "组件包依赖关系图") -## hpm操作命令参考 + +![](figure/zh-cn_image_0000001173313501.png) + +### hpm操作命令参考 组件的全生命周期管理,可以通过hpm命令工具进行操作,hpm的操作命令如下(详细帮助可以执行 hpm -h学习): @@ -137,7 +290,7 @@ hpm dependencies

hpm dependencies

-

生成当前组件/发行版依赖关系图(html格式)。

+

生成当前组件/发行版依赖关系数据(在hpm ui也集成了该命令的调用,可以图形化的展示)

搜索

@@ -182,7 +335,7 @@ hpm dependencies

hpm dist

-

发行版打包(依赖bundle.json的scripts中的dist脚本)。

+

针对发行版(distribution),发行版编译构建(依赖bundle.json的scripts中的dist脚本)。

打包

@@ -213,6 +366,41 @@ hpm dependencies

执行bundle.json文件中定义的scripts脚本命令,支持多个命令可用 && 连接。

+

解压包

+ +

hpm extract

+ +

解压文件. 支持格式'zip','tar','tgz' 和'.tar.gz'

+ + +

启动图形化界面

+ +

hpm ui

+ +

本地启动HPM UI,可通过-p参数指定端口,Windows平台下会启动默认的浏览器打开

+ + +

多语言切换

+ +

hpm lang

+ +

切换中英文操作界面(同时支持命令行和UI)

+ + +

转换为hpm包格式

+ +

hpm x2h

+ +

将一个maven格式或npm格式包转换成hpm的包格式,并发布到HPM

+ + +

代码段还原或清理

+ +

hpm code clean|restore

+ +

针对依赖的代码段(code-segment)组件,执行清理或还原操作(即根据segment.destPath执行拷贝/删除操作)

+ +

生成秘钥

hpm gen-keys

@@ -230,8 +418,132 @@ hpm dependencies - - - -
+## 组件版本 + +### 版本号命名规范 + +名称需要为全小写字母,中间可以使用中划线或者下划线分隔。比如 "bundle", "my\_bundle"。 + +版本号的格式为 "主版本号.次版本号.修订号" 或 "主版本号.次版本号.修订号-先行版本号",比如 "1.0.0", "1.0.0-beta",详细规格可以参考 [https://semver.org](https://semver.org/)。 + +### 版本发布 + +为了使组件能被其他开发者使用,组件需要上传到远端仓库。组件上传使用如下命令: + +``` +hpm publish +``` + +命令执行以后,系统会对的整个依赖关系进行检查,下载缺失依赖组件。依赖检查完成后,如果发布类型为binary,系统会对整个组件进行编译,生成二进制文件,然后打包上传。如果使其他上传类型,则直接根据定义的打包规则进行打包,然后上传。 + +注意:发布组件需要用户账号登录,需要先拥有hpm的系统账号后,并注册组织,申请组织认证通过后,才拥有发布的权限。 + +## 发行版 + +发行版通常是将一系列组件组合起来,成为编译可以运行的OpenHarmony解决方案镜像,里面包含了多个依赖的组件,以及脚本,用于描述如何完整编译、链接这些组件。 + +发行版本身通常不需要包含功能实现代码,仅包含bundle.json描述(设置publishAs为distribution)和一些编译脚本组成。 + +因为发行版编译的过程需要系统提供环境变量,所以发行版使用scripts脚本中内置的dist命令: + +``` +{ + "publishAs":"distribution", + "scripts": { + "dist": "script compile command" + } +} +``` + +编译执行使用如下命令: + +``` +hpm dist +``` + +重新定义一个发行版所具有的功能是一个复杂的过程,所以系统允许对发行版进行继承,从而在现有功能的基础上进行定制。继承发行版需要在bundle.json中定义base字段。 + +``` +{ + "base": { + "name": "dist_wifi_iot", + "version": "1.0.0" + } +} +``` + +上述定义表明当前组件继承自发行版组件dist-wifi-iot 1.0.0。 + +发行版由很多的依赖组件组成,通过bundle.json中的dependencies段来描述,有些依赖是必须的,有些依赖则是根据可以需求增加或删除的。bundle.json中名称前带有?的依赖表示可选依赖,继承它的发行版,可以移除掉该可选组件,再增加别的组件进行替换。 + +``` +{ + "dependencies": { + "?my_bundle": "1.0.0" + } +} +``` + +上述声明表示my\_bundle依赖可以被移除。如果想要移除my\_bundle,在上层依赖方需要使用excludes关键字来进行定义 + +``` +{ + "excludes": [ "my_bundle" ] +} +``` + +依赖被移除后,就不会参入组件的构建过程。只有标记为可选的依赖才能够被移除,强行移除未被标记的依赖会出现错误提示。 + +## 环境变量说明 + +组件在编译的过程中需要依赖系统提供的环境变量来自定义输出,链接所需二进制文件等等。这里提出的环境变量均指根据需求把所需变量注入脚本执行的上下文中。所以在脚本中可以直接获取到变量的值。下面介绍当前系统存在的几种环境变量。 + +全局变量由bundle.json中的envs属性来定义。整个组件中的依赖都可以获取到全局变量定义的值。 + +``` +{ + "envs": { + "compileEnv": "arm" + } +} +``` + +不同组件在引入依赖的过程中可以传入不同的参数,从而使依赖的编译可以满足当前组件的需求。依赖中定义的参数可以在对应依赖脚本执行的上下文中获取到。 + +``` +{ + "dependencies": { + "my-bundle": { + "version": "1.0.0", + "mode": "debug" + } + } +} +``` + +组件在链接二进制文件的时候,需要知道二进制文件在依赖中的路径,所以依赖的路径会作为环境变量传入编译组件中。 + +传入的环境变量的格式为DEP\_BundleName,BundleName为依赖的名称,例如 DEP\_first\_bundle。 + +依赖中可以定义标签,对引入的依赖进行分组。在脚本中可以根据标签,获得这一组依赖的路径。定义的标签以\#开头,具体定义的方式为: + +``` +{ + "dependencies": { + "#tool": { + "first-bundle": "1.0.0", + "second-bundle": "1.0.0" + }, + "#drivers": { + "xx-bundle": "1.0.0", + "yy-bundle": "1.0.0" + } + } +} +``` + +系统中存在两个固定环境变量: + +- DEP\_OHOS\_BUNDLES:表示ohos\_bundles文件夹所在的路径。 +- DEP\_BUNDLE\_BASE:表示最外层组件的路径。 diff --git a/zh-cn/device-dev/bundles/bundles.md b/zh-cn/device-dev/bundles/bundles.md new file mode 100644 index 00000000000..9c560fca9d5 --- /dev/null +++ b/zh-cn/device-dev/bundles/bundles.md @@ -0,0 +1,9 @@ +# 组件开发指南 + +- **[组件开发规范](bundles-standard-rules.md)** + +- **[组件开发指南](bundles-guide.md)** + +- **[组件开发示例](bundles-demo.md)** + + diff --git "a/zh-cn/device-dev/bundles/figures/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" "b/zh-cn/device-dev/bundles/figure/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212-21.png" similarity index 100% rename from "zh-cn/device-dev/bundles/figures/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" rename to "zh-cn/device-dev/bundles/figure/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212-21.png" diff --git a/zh-cn/device-dev/bundles/figures/zh-cn_image_0000001051452177.png b/zh-cn/device-dev/bundles/figure/zh-cn_image_0000001051452177.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/figures/zh-cn_image_0000001051452177.png rename to zh-cn/device-dev/bundles/figure/zh-cn_image_0000001051452177.png diff --git a/zh-cn/device-dev/bundles/figures/zh-cn_image_0000001051770876.png b/zh-cn/device-dev/bundles/figure/zh-cn_image_0000001051770876.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/figures/zh-cn_image_0000001051770876.png rename to zh-cn/device-dev/bundles/figure/zh-cn_image_0000001051770876.png diff --git a/zh-cn/device-dev/bundles/figure/zh-cn_image_0000001173313501.png b/zh-cn/device-dev/bundles/figure/zh-cn_image_0000001173313501.png new file mode 100644 index 0000000000000000000000000000000000000000..bc682a3dbd7e3de6a83a7292d9c6942c43909c98 GIT binary patch literal 397077 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 z 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

6xRa1*=Uctfa7xCvG&Cf6Mh0Hl5QwIJC6jv>9vE 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 Y-$mh#Bf3y370&?=dMr3_CZedRLp+ zy?wPLen)X(|MT|In^U-Pzc!OOBblDaaIf;#*H`1ui*SW99!QYYPy zJe=3BVZBCTNHa=~CxFehm_Tt17?P}t!y%h35#DwZDF1g~ZE44QpQmH|`|LfJYtNxT z^F|8M2b2HAq3IcS)^Yn6&Ph`PrT*jp=6K+}UoK+^_{1oFTFR%SU)sRj1x9bC3sZ3? zT2*-+_H!kOKQ4Vf!~A%jM9Ug&V0kPlKC^~WJFCpI>JlAVNy`d!QfXVrefwA5oS(d zH?GNs7+Z!+^3E0-?=_`!{Rc;{n|09TNe{VTxc3p~aXoFcq4oMx26rtN*Cr`V!*|u{ zhz=I_!+UPUJ86Iw1tmwn4_d6*ib^PxeuJ%;D2bEPLQYpwC+G_C z5a~nG=-fZtCB8vViZv(RLdb*d%;!r(%w zyu+RyZ8r88-XFA74BwPvhrJv|J%`o!vw14bFR=a(;A%Upr0Q)*{W;$CegT+w26fzn z2i?{lZ)VZ(m(MfW(jivK64}(ws>)sG8Zj`h5g52Zq>_p1whQ>^h1|D#Lw%J4Q8{>Y|DN+RlxB#gO36DB(PPGrX(1! z!;>tQeyk1T&H+stg{##%=$}K$)ho;qoQwa>MBLnC2{Jf=T&)Fn<{stjxGg`wX}}TW4~ZA`OQMHn*#oC zM9$C;Hse&&Uv~AE8QUr1(26_~QL1;EZeD%5<>U*&O_I_k_YU|2Bh;wlF#Z(#twsnn z#~UYyGITU1Th|~wFH^3zudxH-5yH0>Eo5XZO-u~igxjmyT8l(fwo?2q@{df%F?QoFW z!D$Ni5nrCU69D5VowKa_%SAT%H8pjml@a{_Ofo*MWbJ|Csrf#ERmV`cAjoP-H%_X; zW1THu)$<^f+AUvr>HJ;_Zp^fbK%6ux68b0rHa~^kklL2{)lMykgsI3TT9@wxpb|$sNJ*7!31{Ur`1N?_$dxb&!?_p+aJW z9m0W@nkp=5Doi9!Dy$omV1$$jejEi|!8xY2ydR;?)|A_7_zy*IYzEA&v=qxI@*n}_ z7S{RXW*hSSU#07$1eKuJQbGY38RLe)>qZ26a-RVS^?R1bG;RzbnjxYnrF)Jq+UZ;t z+=D?=(9~9@;xw{MU=%DpTa3u3$+@g@DTi{A!e8NSB`31?q9HHII^nOLYElcvMT1EQ zrP=ogRORJa?duqMT`U^IDLIXo)ai>H=U%_|GNJJPrqGt>wwAa`o+V)F-=>Km-hJLD z<2cT}*--A-Quu2g0{F)5DVo-_9O09gWN{vyHEoVFY$YT68bv9GEsg-9h?-)iD)T-Z zMrF?`I@CyDDt~9d0^{jG8@pM{N@4z-E<|c(n$h5Tn#~1?7A4b`>Qc=&9b!u`_Aht} z(LHM&m4-nvqgmJS>zRIr?B)^s2sPl`PucVa?42I52|wLcxGJQ7d24R?LZIS9Pt-N- zwd&(<&fP`cn4GV*Z-4*u4h>klrYfqvr>wXDQPh9BA#NBoM3i zHjxic|Dj2V6@kKzcaDHX*)1AbF5tghErEZVVL4CzI^n+z!+%4d@b{wH8<|8+i$L(| z|6YL(uOxzFP;~`8VZb5_-#gO%ss|MxrO{y&++amDBXEzuWg literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/bundles/figures/\347\241\254\344\273\266\347\216\257\345\242\203\350\277\236\346\216\245\345\205\263\347\263\273.png" "b/zh-cn/device-dev/bundles/figure/\347\241\254\344\273\266\347\216\257\345\242\203\350\277\236\346\216\245\345\205\263\347\263\273.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/bundles/figures/\347\241\254\344\273\266\347\216\257\345\242\203\350\277\236\346\216\245\345\205\263\347\263\273.png" rename to "zh-cn/device-dev/bundles/figure/\347\241\254\344\273\266\347\216\257\345\242\203\350\277\236\346\216\245\345\205\263\347\263\273.png" diff --git "a/zh-cn/device-dev/bundles/figures/\347\273\204\344\273\2660924.png" "b/zh-cn/device-dev/bundles/figure/\347\273\204\344\273\2660924.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/bundles/figures/\347\273\204\344\273\2660924.png" rename to "zh-cn/device-dev/bundles/figure/\347\273\204\344\273\2660924.png" diff --git "a/zh-cn/device-dev/bundles/figures/\347\273\204\344\273\266\345\214\205\344\276\235\350\265\226\345\205\263\347\263\273\345\233\276.png" "b/zh-cn/device-dev/bundles/figures/\347\273\204\344\273\266\345\214\205\344\276\235\350\265\226\345\205\263\347\263\273\345\233\276.png" deleted file mode 100755 index 1b936a2cbc95d3f9d7ddab0187305c3d0c486b0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359473 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 z 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

  • !iS|UkW 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ⅇMIH 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
    pYa54~EAUi>+ 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 - -发行版通常是将一系列组件组合起来,成为编译可以运行的OpenHarmony解决方案镜像,里面包含了多个依赖的组件,以及脚本,用于描述如何完整编译、链接这些组件。 - -发行版本身通常不需要包含功能实现代码,仅包含bundle.json描述(设置publishAs为distribution)和一些编译脚本组成。 - -因为发行版编译的过程需要系统提供环境变量,所以发行版使用scripts脚本中内置的dist命令: - -``` -{ - "publishAs":"distribution", - "scripts": { - "dist": "script compile command" - } -} -``` - -编译执行使用如下命令: - -``` -hpm dist -``` - -重新定义一个发行版所具有的功能是一个复杂的过程,所以系统允许对发行版进行继承,从而在现有功能的基础上进行定制。继承发行版需要在bundle.json中定义base字段。 - -``` -{ - "base": { - "name": "dist_wifi_iot", - "version": "1.0.0" - } -} -``` - -上述定义表明当前组件继承自发行版组件dist-wifi-iot 1.0.0。 - -发行版由很多的依赖组件组成,通过bundle.json中的dependencies段来描述,有些依赖是必须的,有些依赖则是根据可以需求增加或删除的。bundle.json中名称前带有?的依赖表示可选依赖,继承它的发行版,可以移除掉该可选组件,再增加别的组件进行替换。 - -``` -{ - "dependencies": { - "?my_bundle": "1.0.0" - } -} -``` - -上述声明表示my\_bundle依赖可以被移除。如果想要移除my\_bundle,在上层依赖方需要使用excludes关键字来进行定义 - -``` -{ - "excludes": [ "my_bundle" ] -} -``` - -依赖被移除后,就不会参入组件的构建过程。只有标记为可选的依赖才能够被移除,强行移除未被标记的依赖会出现错误提示。 - diff --git "a/zh-cn/device-dev/bundles/\346\246\202\350\277\260.md" "b/zh-cn/device-dev/bundles/\346\246\202\350\277\260.md" deleted file mode 100755 index 2eea128f92a..00000000000 --- "a/zh-cn/device-dev/bundles/\346\246\202\350\277\260.md" +++ /dev/null @@ -1,38 +0,0 @@ -# 概述 - -- [定义](#section177563344911) -- [组件划分原则](#section2487162541016) -- [组件依赖](#section185955409107) - -本文档将介绍组件的基本概念以及如何按照规范定义组件。 - -## 定义 - -OpenHarmony软件以组件\(bundle\)作为基本单元,从系统角度看,凡是运行在OpenHarmony上的软件都可以定义为组件;一般来讲,根据组件的应用范围,可以分为: - -- 板级组件:如board、arch、mcu这些与设备硬件相关的组件。 -- 系统组件:一组独立功能的集合,如内核、文件系统、框架等。 -- 应用组件:直接面向用户提供服务的应用\(如wifi\_iot,ip\_camera\)。 - -从形式上看,组件是为复用而生,一切可以复用的模块都可以定义为组件,可以分为: - -- 源代码 -- 二进制 -- 代码片段 -- 发行版 - -## 组件划分原则 - -原则上应尽可能划分为细颗粒度的组件,以满足最大限度的复用。主要考虑以下几点: - -- 独立性:组件的功能应该相对独立,支持独立编译,可以单独对外提供接口和服务; -- 耦合性:如果组件必须依赖其他的组件,才能对外提供服务,应考虑和被依赖的组件合并为一个组件。 -- 相关性:如果一组组件共同完成一项功能,且没有被其他组件依赖,未来也没有被依赖的可能,则可以考虑合并为一个组件。 - -## 组件依赖 - -组件的依赖关系分为两种:必选依赖和可选依赖。 - -- 必选依赖:是指组件A在完成某个功能时,必须引入组件B,调用B的接口或服务配合才能完成。称B为A的必选依赖。 -- 可选依赖:是在组件A在完成某个功能时,可以引入组件C,也可以引入组件D。C和D可以相互替换,称C和D为A的可选依赖。 - diff --git "a/zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\217\230\351\207\217\350\257\264\346\230\216.md" "b/zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\217\230\351\207\217\350\257\264\346\230\216.md" deleted file mode 100755 index 1ebf8fb99e3..00000000000 --- "a/zh-cn/device-dev/bundles/\347\216\257\345\242\203\345\217\230\351\207\217\350\257\264\346\230\216.md" +++ /dev/null @@ -1,53 +0,0 @@ -# 环境变量说明 - -组件在编译的过程中需要依赖系统提供的环境变量来自定义输出,链接所需二进制文件等等。这里提出的环境变量均指根据需求把所需变量注入脚本执行的上下文中。所以在脚本中可以直接获取到变量的值。下面介绍当前系统存在的几种环境变量。全局变量 - -全局变量由bundle.json中的envs属性来定义。整个组件中的依赖都可以获取到全局变量定义的值。 - -``` -{ - "envs": { - "compileEnv": "arm" - } -} -``` - -不同组件在引入依赖的过程中可以传入不同的参数,从而使依赖的编译可以满足当前组件的需求。依赖中定义的参数可以在对应依赖脚本执行的上下文中获取到。 - -``` -{ - "dependencies": { - "my-bundle": { - "version": "1.0.0", - "mode": "debug" - } - } -} -``` - -组件在链接二进制文件的时候,需要知道二进制文件在依赖中的路径,所以依赖的路径会作为环境变量传入编译组件中。 - -传入的环境变量的格式为DEP\_BundleName,BundleName为依赖的名称,例如 DEP\_first\_bundle。 - -依赖中可以定义标签,对引入的依赖进行分组。在脚本中可以根据标签,获得这一组依赖的路径。定义的标签以\#开头,具体定义的方式为: - -``` -{ - "dependencies": { - "#tool": { - "first-bundle": "1.0.0", - "second-bundle": "1.0.0" - }, - "#drivers": { - "xx-bundle": "1.0.0", - "yy-bundle": "1.0.0" - } - } -} -``` - -系统中存在两个固定环境变量: - -- DEP\_OHOS\_BUNDLES:表示ohos\_bundles文件夹所在的路径。 -- DEP\_BUNDLE\_BASE:表示最外层组件的路径。 - diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" "b/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" deleted file mode 100755 index 4205b8d5383..00000000000 --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 组件开发规范 - -- **[概述](概述.md)** - -- **[组件构成](组件构成.md)** - -- **[组件管理](组件管理.md)** - -- **[组件版本](组件版本.md)** - -- **[发行版](发行版.md)** - -- **[环境变量说明](环境变量说明.md)** - - diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\346\236\204\346\210\220.md" "b/zh-cn/device-dev/bundles/\347\273\204\344\273\266\346\236\204\346\210\220.md" deleted file mode 100755 index 98e4e2dd608..00000000000 --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\346\236\204\346\210\220.md" +++ /dev/null @@ -1,99 +0,0 @@ -# 组件构成 - -- [代码文件](#section101483489110) -- [说明文件](#section10519101221211) -- [元数据描述文件](#section45511827111211) - -一个组件包一般包含如下内容: - -- 组件包的代码或库(src目录下的代码文件) -- ohos\_bundles文件夹(存放依赖的组件,安装组件时自动生成,无需提交到代码库) -- 组件包的说明文件\(README.md\) -- 组件包元数据声明文件\(bundle.json\) -- 开源许可文件\(LICENSE\) - - ``` - my-bundle - |_ohos_bundles - |_src - |_bundle.json - |_README.md - |_LICENSE - ``` - - -## 代码文件 - -组件的代码文件和普通的代码目录没有差异。但要注意的是,组件中对外暴露的接口(头文件),会被其他组件所引用,需要单独在bundle.json的dirs中声明。 - -## 说明文件 - -README.md,为markdown格式的描述关于组件自述说明文件。([语法参考](https://www.markdownguide.org/getting-started/)\) - -为了帮助他人在hpm上找到该组件,并更方便的使用它,在组件的根目录中包含一个README文件。 - -README文件可能包括如何安装,配置和使用组件包中的实例代码说明,以及可能会对用户有所帮助的任何其他信息。 - -每个组件的自述文件将显示在hpm系统的组件详情页面的描述中。 - -## 元数据描述文件 - -bundle.json文件是对当前组件的元数据描述,每个组件中必须包含一个bundle.json文件。 - -``` -{ - "name": "@myorg/demo-bundle", - "version": "1.0.0", - "license": "MIT", - "description": "bundle description", - "keywords": ["hos"], - "tags": ["applications", "drivers"], - "author": {"name":"","email":"","url":""}, - "contributors":[{"name":"","email":"","url":""},{"name":"","email":"","url":""}], - "homepage": "http://www.foo.bar.com", - "repository": "https://git@gitee.com:foo/bar.git", - "publishAs": "source", - "dirs": { - "src": ["src/**/*.c"], - "headers": ["headers/**/*.h"], - "bin": ["bin/**/*.o"] - }, - "scripts": { - "build": "make" - }, - "envs": {}, - "ohos": { - "os": "2.0.0", - "board": "hi3516", - "kernel": "liteos-a" - }, - "rom": "10240", - "ram": "1024", - "dependencies": { - "@myorg/net":"1.0.0" - } -} -``` - -bundle.json文件具有如下功能: - -- name:定义组件的名称,放到组织下, 以@开头,/分割,如:@myorg/mybundle - -- version:定义组件版本号,如1.0.0,需满足semver的标准。 - -- description:一句话对组件进行简要的描述。 -- dependencies:定义组件的依赖组件。 - -- envs: 定义组件编译时所需要的参数,包括全局参数以及依赖所需的参数。 - -- scripts:定义在当前组件下能够执行的命令(如编译,构建,测试,烧录等)。 - -- publishAs:定义组件的发布类型(source:源码,binary:二进制,distribution:发行版,code-segment:代码片段)。 - -- dirs:定义发布时打包的目录结构(如头文件)。 - -- ram&rom:统计相关信息:预计占用ROM和RAM信息。 -- ohos:描述OpenHarmony系统版本、开发板及内核的匹配关系(多个请用英文逗号的“,”分割)。 -- 定义其他扩展信息:作者,主页,代码仓库,许可协议,标签,关键字。 -- 对于发行版类型,还有个base,可以定义继承自的发行版。 - diff --git "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\211\210\346\234\254.md" "b/zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\211\210\346\234\254.md" deleted file mode 100755 index 55647fdcb70..00000000000 --- "a/zh-cn/device-dev/bundles/\347\273\204\344\273\266\347\211\210\346\234\254.md" +++ /dev/null @@ -1,23 +0,0 @@ -# 组件版本 - -- [版本号命名规范](#section16893854141310) -- [版本发布](#section43401320171420) - -## 版本号命名规范 - -名称需要为全小写字母,中间可以使用中划线或者下划线分隔。比如 "bundle", "my\_bundle"。 - -版本号的格式为 "主版本号.次版本号.修订号" 或 "主版本号.次版本号.修订号-先行版本号",比如 "1.0.0", "1.0.0-beta",详细规格可以参考 [https://semver.org](https://semver.org/)。 - -## 版本发布 - -为了使组件能被其他开发者使用,组件需要上传到远端仓库。组件上传使用如下命令: - -``` -hpm publish -``` - -命令执行以后,系统会对的整个依赖关系进行检查,下载缺失依赖组件。依赖检查完成后,如果发布类型为binary,系统会对整个组件进行编译,生成二进制文件,然后打包上传。如果使其他上传类型,则直接根据定义的打包规则进行打包,然后上传。 - -注意:发布组件需要用户账号登录,需要先拥有hpm的系统账号后,并注册组织,申请组织认证通过后,才拥有发布的权限。 - diff --git a/zh-cn/device-dev/driver/GPIO.md b/zh-cn/device-dev/driver/GPIO.md deleted file mode 100755 index afffef57ab6..00000000000 --- a/zh-cn/device-dev/driver/GPIO.md +++ /dev/null @@ -1,9 +0,0 @@ -# GPIO - -- **[GPIO概述](GPIO概述.md)** - -- **[GPIO使用指导](GPIO使用指导.md)** - -- **[GPIO使用实例](GPIO使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index 86231b7af28..00000000000 --- "a/zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,79 +0,0 @@ -# GPIO使用实例 - -本实例程序中,我们将测试一个GPIO管脚的中断触发:为管脚设置中断服务函数,触发方式为边沿触发,然后通过交替写高低电平到管脚,产生电平波动,制造触发条件,观察中断服务函数的执行。 - -首先需要选取一个空闲的GPIO管脚,本例程基于Hi3516DV300某开发板,GPIO管脚选择GPIO10\_3,换算成GPIO号为83。 - -读者可以根据自己使用的开发板,参考其原理图,选择一个空闲的GPIO管脚即可。 - -``` -#include "gpio_if.h" -#include "hdf_log.h" -#include "osal_irq.h" -#include "osal_time.h" - -static uint32_t g_irqCnt; - -/* 中断服务函数*/ -static int32_t TestCaseGpioIrqHandler(uint16_t gpio, void *data) -{ - HDF_LOGE("%s: irq triggered! on gpio:%u, data=%p", __func__, gpio, data); - g_irqCnt++; /* 如果中断服务函数触发执行,则将全局中断计数加1 */ - return GpioDisableIrq(gpio); -} - -/* 测试用例函数 */ -static int32_t TestCaseGpioIrqEdge(void) -{ - int32_t ret; - uint16_t valRead; - uint16_t mode; - uint16_t gpio = 83; /* 待测试的GPIO管脚号 */ - uint32_t timeout; - - /* 将管脚方向设置为输出 */ - ret = GpioSetDir(gpio, GPIO_DIR_OUT); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set dir fail! ret:%d\n", __func__, ret); - return ret; - } - - /* 先禁止该管脚中断 */ - ret = GpioDisableIrq(gpio); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: disable irq fail! ret:%d\n", __func__, ret); - return ret; - } - - /* 为管脚设置中断服务函数,触发模式为上升沿和下降沿共同触发 */ - mode = OSAL_IRQF_TRIGGER_RISING | OSAL_IRQF_TRIGGER_FALLING; - HDF_LOGE("%s: mode:%0x\n", __func__, mode); - ret = GpioSetIrq(gpio, mode, TestCaseGpioIrqHandler, NULL); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set irq fail! ret:%d\n", __func__, ret); - return ret; - } - - /* 使能此管脚中断 */ - ret = GpioEnableIrq(gpio); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: enable irq fail! ret:%d\n", __func__, ret); - (void)GpioUnSetIrq(gpio); - return ret; - } - - g_irqCnt = 0; /* 清除全局计数器 */ - timeout = 0; /* 等待时间清零 */ - /* 等待此管脚中断服务函数触发,等待超时时间为1000毫秒 */ - while (g_irqCnt <= 0 && timeout < 1000) { - (void)GpioRead(gpio, &valRead); - (void)GpioWrite(gpio, (valRead == GPIO_VAL_LOW) ? GPIO_VAL_HIGH : GPIO_VAL_LOW); - HDF_LOGE("%s: wait irq timeout:%u\n", __func__, timeout); - OsalMDelay(200); /* wait for irq trigger */ - timeout += 200; - } - (void)GpioUnSetIrq(gpio); - return (g_irqCnt > 0) ? HDF_SUCCESS : HDF_FAILURE; -} -``` - diff --git "a/zh-cn/device-dev/driver/GPIO\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/GPIO\346\246\202\350\277\260.md" deleted file mode 100755 index 1c4bcfc9c06..00000000000 --- "a/zh-cn/device-dev/driver/GPIO\346\246\202\350\277\260.md" +++ /dev/null @@ -1,82 +0,0 @@ -# GPIO概述 - -- [简介](#section15318165672215) -- [接口说明](#section18977142162418) - -## 简介 - -GPIO(General-purpose input/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。 - -GPIO接口定义了操作GPIO管脚的标准方法集合,包括: - -- 设置管脚方向: 方向可以是输入或者输出\(暂不支持高阻态\) - -- 读写管脚电平值: 电平值可以是低电平或高电平 -- 设置管脚中断服务函数:设置一个管脚的中断响应函数,以及中断触发方式 -- 使能和禁止管脚中断:禁止或使能管脚中断 - -## 接口说明 - -**表 1** GPIO驱动API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    GPIO读写

    -

    GpioRead

    -

    读管脚电平值

    -

    GpioWrite

    -

    写管脚电平值

    -

    GPIO配置

    -

    GpioSetDir

    -

    设置管脚方向

    -

    GpioGetDir

    -

    获取管脚方向

    -

    GPIO中断设置

    -

    GpioSetIrq

    -

    设置管脚对应的中断服务函数

    -

    GpioUnSetIrq

    -

    取消管脚对应的中断服务函数

    -

    GpioEnableIrq

    -

    使能管脚中断

    -

    GpioDisableIrq

    -

    禁止管脚中断

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 - diff --git "a/zh-cn/device-dev/driver/HDF\351\251\261\345\212\250\346\241\206\346\236\266.md" "b/zh-cn/device-dev/driver/HDF\351\251\261\345\212\250\346\241\206\346\236\266.md" deleted file mode 100755 index fb6f985a6e5..00000000000 --- "a/zh-cn/device-dev/driver/HDF\351\251\261\345\212\250\346\241\206\346\236\266.md" +++ /dev/null @@ -1,15 +0,0 @@ -# HDF驱动框架 - -- **[HDF开发概述](HDF开发概述.md)** - -- **[驱动开发](驱动开发.md)** - -- **[驱动服务管理](驱动服务管理.md)** - -- **[驱动消息机制管理](驱动消息机制管理.md)** - -- **[配置管理](配置管理.md)** - -- **[HDF开发实例](HDF开发实例.md)** - - diff --git a/zh-cn/device-dev/driver/I2C.md b/zh-cn/device-dev/driver/I2C.md deleted file mode 100755 index 5bc8c5bf3ce..00000000000 --- a/zh-cn/device-dev/driver/I2C.md +++ /dev/null @@ -1,9 +0,0 @@ -# I2C - -- **[I2C概述](I2C概述.md)** - -- **[I2C使用指导](I2C使用指导.md)** - -- **[I2C使用实例](I2C使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index a75da59b1b8..00000000000 --- "a/zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,192 +0,0 @@ -# I2C使用实例 - -本例程以操作开发板上的I2C设备为例,详细展示I2C接口的完整使用流程。 - -本例拟对Hi3516DV300某开发板上TouchPad设备进行简单的寄存器读写访问,基本硬件信息如下: - -- SOC:hi3516dv300。 - -- Touch IC:I2C地址为0x38, IC内部寄存器位宽为1字节。 - -- 原理图信息:TouchPad设备挂接在3号I2C控制器下;IC的复位管脚为3号GPIO。 - -本例程首先对Touch IC进行复位操作(开发板上电默认会给TouchIC供电,本例程不考虑供电),然后对其内部寄存器进行随机读写,测试I2C通路是否正常。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->本例程重点在于展示I2C设备访问流程,并验证I2C通路,所以对于设备寄存器读写值不做关注,读写寄存器导致的行为由设备自身决定。 - -示例如下: - -``` -#include "i2c_if.h" /* I2C标准接口头文件 */ -#include "gpio_if.h" /* GPIO标准接口头文件 */ -#include "hdf_log.h" /* 标准日志打印头文件 */ -#include "osal_io.h" /* 标准IO读写接口头文件 */ -#include "osal_time.h" /* 标准延迟&睡眠接口头文件 */ - -/* 定义一个表示TP设备的结构体,存储i2c及gpio相关硬件信息 */ -struct TpI2cDevice { - uint16_t rstGpio; /* 复位管脚 */ - uint16_t busId; /* I2C总线号 */ - uint16_t addr; /* I2C设备地址 */ - uint16_t regLen; /* 寄存器字节宽度 */ - DevHandle i2cHandle; /* I2C控制器句柄 */ -}; - -/* I2C管脚io配置,需要查阅SOC寄存器手册 */ -#define I2C3_DATA_REG_ADDR 0x112f008c /* 3号I2C控制器SDA管脚配置寄存器地址 */ -#define I2C3_CLK_REG_ADDR 0x112f0090 /* 3号I2C控制器SCL管脚配置寄存器地址 */ -#define I2C_REG_CFG 0x5f1 /* 3号I2C控制器SDA及SCL管脚配置值 */ - -static void TpSocIoCfg(void) -{ - /* 将3号I2C控制器对应两个管脚的IO功能设置为I2C */ - OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_DATA_REG_ADDR)); - OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_CLK_REG_ADDR)); -} - -/* 对TP的复位管脚进行初始化, 拉高维持20ms, 再拉底维持50ms,最后再拉高维持20ms, 完成复位动作 */ -static int32_t TestCaseGpioInit(struct TpI2cDevice *tpDevice) -{ - int32_t ret; - - /* 设置复位管脚方向为输出 */ - ret = GpioSetDir(tpDevice->rstGpio, GPIO_DIR_OUT); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst dir fail!:%d", __func__, ret); - return ret; - } - - ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst hight fail!:%d", __func__, ret); - return ret; - } - OsalMSleep(20); - - ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_LOW); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst low fail!:%d", __func__, ret); - return ret; - } - OsalMSleep(50); - - ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst high fail!:%d", __func__, ret); - return ret; - } - OsalMSleep(20); - - return HDF_SUCCESS; -} - -/* 基于I2cTransfer方法封装一个寄存器读写的辅助函数, 通过flag表示读或写 */ -static int TpI2cReadWrite(struct TpI2cDevice *tpDevice, unsigned int regAddr, - unsigned char *regData, unsigned int dataLen, uint8_t flag) -{ - int index = 0; - unsigned char regBuf[4] = {0}; - struct I2cMsg msgs[2] = {0}; - - /* 单双字节寄存器长度适配 */ - if (tpDevice->regLen == 1) { - regBuf[index++] = regAddr & 0xFF; - } else { - regBuf[index++] = (regAddr >> 8) & 0xFF; - regBuf[index++] = regAddr & 0xFF; - } - - /* 填充I2cMsg消息结构 */ - msgs[0].addr = tpDevice->addr; - msgs[0].flags = 0; /* 标记为0,表示写入 */ - msgs[0].len = tpDevice->regLen; - msgs[0].buf = regBuf; - - msgs[1].addr = tpDevice->addr; - msgs[1].flags = (flag == 1) ? I2C_FLAG_READ : 0; /* 添加读标记位,表示读取 */ - msgs[1].len = dataLen; - msgs[1].buf = regData; - - if (I2cTransfer(tpDevice->i2cHandle, msgs, 2) != 2) { - HDF_LOGE("%s: i2c read err", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -/* TP寄存器读函数 */ -static inline int TpI2cReadReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, - unsigned char *regData, unsigned int dataLen) -{ - return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 1); -} - -/* TP寄存器写函数 */ -static inline int TpI2cWriteReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, - unsigned char *regData, unsigned int dataLen) -{ - return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 0); -} - -/* I2C例程总入口 */ -static int32_t TestCaseI2c(void) -{ - int32_t i; - int32_t ret; - unsigned char bufWrite[7] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xA, 0xB, 0xC }; - unsigned char bufRead[7] = {0}; - static struct TpI2cDevice tpDevice; - - /* IO管脚功能配置 */ - TpSocIoCfg(); - - /* TP设备信息初始化 */ - tpDevice.rstGpio = 3; - tpDevice.busId = 3; - tpDevice.addr = 0x38; - tpDevice.regLen = 1; - tpDevice.i2cHandle = NULL; - - /* GPIO管脚初始化 */ - ret = TestCaseGpioInit(&tpDevice); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: gpio init fail!:%d", __func__, ret); - return ret; - } - - /* 打开I2C控制器 */ - tpDevice.i2cHandle = I2cOpen(tpDevice.busId); - if (tpDevice.i2cHandle == NULL) { - HDF_LOGE("%s: Open I2c:%u fail!", __func__, tpDevice.busId); - return -1; - } - - /* 向TP-IC的0xD5寄存器连续写7字节数据 */ - ret = TpI2cWriteReg(&tpDevice, 0xD5, bufWrite, 7); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: tp i2c write reg fail!:%d", __func__, ret); - I2cClose(tpDevice.i2cHandle); - return -1; - } - OsalMSleep(10); - - /* 从TP-IC的0xDO寄存器连续读7字节数据 */ - ret = TpI2cReadReg(&tpDevice, 0xD5, bufRead, 7); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: tp i2c read reg fail!:%d", __func__, ret); - I2cClose(tpDevice.i2cHandle); - return -1; - } - - HDF_LOGE("%s: tp i2c write&read reg success!", __func__); - for (i = 0; i < 7; i++) { - HDF_LOGE("%s: bufRead[%d] = 0x%x", __func__, i, bufRead[i]); - } - - /* 访问完毕关闭I2C控制器 */ - I2cClose(tpDevice.i2cHandle); - return ret; -} -``` - diff --git "a/zh-cn/device-dev/driver/I2C\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/I2C\346\246\202\350\277\260.md" deleted file mode 100755 index 7961b58a828..00000000000 --- "a/zh-cn/device-dev/driver/I2C\346\246\202\350\277\260.md" +++ /dev/null @@ -1,60 +0,0 @@ -# I2C概述 - -- [简介](#section5361140416) -- [接口说明](#section7606310210) - -## 简介 - -- I2C\(Inter Integrated Circuit\)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。 -- I2C以主从方式工作,通常有一个主设备和一个或者多个从设备,主从设备通过SDA\(SerialData\)串行数据线以及SCL\(SerialClock\)串行时钟线两根线相连,如[图1 ](#fig1135561232714)所示。 - -- I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。数据传输以字节为单位,高位在前,逐个bit进行传输。 -- I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址,当主设备需要和某一个从设备通信时,通过广播的方式,将从设备地址写到总线上,如果某个从设备符合此地址,将会发出应答信号,建立传输。 - -- I2C接口定义了完成I2C传输的通用方法集合,包括: - - - I2C控制器管理: 打开或关闭I2C控制器 - - I2C消息传输:通过消息传输结构体数组进行自定义传输 - - **图 1** I2C物理连线示意图 - ![](figures/I2C物理连线示意图.png "I2C物理连线示意图") - - -## 接口说明 - -**表 1** I2C驱动API接口功能介绍 - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    I2C控制器管理接口

    -

    I2cOpen

    -

    打开I2C控制器

    -

    I2cClose

    -

    关闭I2C控制器

    -

    I2c消息传输接口

    -

    I2cTransfer

    -

    自定义传输

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 - diff --git a/zh-cn/device-dev/driver/LCD.md b/zh-cn/device-dev/driver/LCD.md deleted file mode 100755 index b6352ca8331..00000000000 --- a/zh-cn/device-dev/driver/LCD.md +++ /dev/null @@ -1,9 +0,0 @@ -# LCD - -- **[LCD开发概述](LCD开发概述.md)** - -- **[LCD开发指导](LCD开发指导.md)** - -- **[LCD开发实例](LCD开发实例.md)** - - diff --git "a/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\214\207\345\257\274.md" deleted file mode 100755 index 12161e4cef9..00000000000 --- "a/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ /dev/null @@ -1,23 +0,0 @@ -# LCD开发指导 - -- [开发步骤](#section3904154911218) - -Display驱动模型基于HDF驱动框架、Platform接口及OSAL接口开发,可以做到不区分OS(LiteOS、Linux)和芯片平台(Hi35xx、Hi38xx、V3S等),为LCD器件提供统一的驱动模型。 - -## 开发步骤 - -1. 添加LCD驱动相关的设备描述配置。 -2. 在SOC平台驱动适配层中适配对应的芯片平台驱动。 -3. 添加器件驱动,并在驱动入口函数Init中注册Panel驱动数据,驱动数据接口主要包括如下接口: - - LCD上下电 - - 根据LCD硬件连接,使用Platform接口层提供的GPIO操作接口操作对应LCD管脚,例如复位管脚、IOVCC管脚,上电时序参考LCD供应商提供的SPEC。 - - - 发送初始化序列 - - 根据LCD硬件接口,使用Platform接口层提供的I2C、SPI、MIPI等接口,下载LCD初始化序列,初始化参数序列可以参考LCD供应商提供的SPEC。 - - -4. 根据需求实现HDF框架其他接口,比如Release接口。 -5. 根据需求使用HDF框架可创建其他设备节点,用于业务逻辑或者调试功能。 - diff --git "a/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\246\202\350\277\260.md" deleted file mode 100755 index ab5e824934e..00000000000 --- "a/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\346\246\202\350\277\260.md" +++ /dev/null @@ -1,46 +0,0 @@ -# LCD开发概述 - -- [简介](#section3781515122118) -- [接口说明](#section20280192712120) - -## 简介 - -LCD(Liquid Crystal Display)液晶显示驱动,对LCD进行上电,并通过接口初始化LCD内部寄存器,使LCD正常工作。Display驱动模型基于HDF( Hardware Driver Foundation)[驱动框架](HDF开发概述.md)开发,实现跨OS、跨平台,为LCD硬件提供上下电功能、发送初始化序列功能,使LCD进入正常的工作模式,显示芯片平台侧的图像数据,基于HDF驱动框架的Display驱动模型如[图1](#fig69138814229)。 - -**图 1** 基于HDF驱动框架的Display驱动模型 -![](figures/基于HDF驱动框架的Display驱动模型.png "基于HDF驱动框架的Display驱动模型") - -- **Display驱动模型介绍** - - Display驱动模型主要由平台驱动层、芯片平台适配层、LCD器件驱动层三部分组成。驱动模型基于HDF驱动框架开发,通过Platform层和OSAL层提供的接口,屏蔽内核形态的差异,使得器件驱动可以便利的迁移到不同OS及芯片平台。模型向上对接Display公共hal层,支撑HDI接口的实现,通过Display-HDI(Hardware Display Interface)对图形服务提供各类驱动能力接口。 - - (1)Display平台驱动层:通过HDF提供的IOService数据通道,与公共Hal层对接,集中接收并处理各类上层调用指令; - - (2)SOC平台驱动适配层:借助此SOC适配层,实现Display驱动和SOC侧驱动解耦,主要完成芯片平台相关的参数配置,并传递平台驱动层的调用到器件驱动层; - - (3)LCD器件驱动层:在器件驱动层中,主要实现和器件自身强相关的驱动适配接口,例如发送初始化序列、上下电、背光设置等。 - - 基于Display驱动模型开发LCD驱动,可以借助平台提供的各种能力及接口,较大程度的降低器件驱动的开发周期和难度,提升开发效率。 - - -## 接口说明 - -LCD接口通常可分为MIPI DSI接口、TTL接口和LVDS接口,常用的是MIPI DSI接口和TTL接口,下面对常用的MIPI DSI接口和TTL接口作简要介绍。 - -- MIPI DSI接口 - - **图 2** MIPI DSI接口 - ![](figures/MIPI-DSI接口.png "MIPI-DSI接口") - - MIPI DSI接口是MIPI(移动行业处理器接口)联盟定义的显示接口,主要用于移动终端显示屏接口,接口数据传输遵循MIPI协议,MIPI DSI接口为数据接口,传输图像数据,通常情况下MIPI DSI接口的控制信息以MIPI包形式通过MIPI DSI接口发送到对端IC,不需要额外的外设接口。 - -- TTL接口 - - **图 3** TTL接口 - ![](figures/TTL接口.png "TTL接口") - - TTL(Transistor Transistor Logic)即晶体管-晶体管逻辑,TTL电平信号由TTL器件产生,TTL器件是数字集成电路的一大门类,它采用双极型工艺制造,具有高速度、低功耗和品种多等特点。 - - TTL接口是并行方式传输数据的接口,有数据信号、时钟信号和控制信号(行同步、帧同步、数据有效信号等),在控制信号控制下完成数据传输。通常TTL接口的LCD,内部寄存器读写需要额外的外设接口,比如SPI接口、I2C接口等。 - - diff --git a/zh-cn/device-dev/driver/MIPI-DSI.md b/zh-cn/device-dev/driver/MIPI-DSI.md deleted file mode 100755 index 2dcbddcdd05..00000000000 --- a/zh-cn/device-dev/driver/MIPI-DSI.md +++ /dev/null @@ -1,9 +0,0 @@ -# MIPI DSI - -- **[MIPI DSI概述](MIPI-DSI概述.md)** - -- **[MIPI DSI使用指导](MIPI-DSI使用指导.md)** - -- **[MIPI DSI使用实例](MIPI-DSI使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index 77e9242f30b..00000000000 --- "a/zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,98 +0,0 @@ -# MIPI DSI使用实例 - -MIPI-DSI完整的使用示例如下所示: - -``` -#include "hdf.h" -#include "mipi_dsi_if.h" - -void PalMipiDsiTestSample(void) -{ - uint8_t chnId; - int32_t ret; - DevHandle handle = NULL; - - /* 设备通道编号 */ - chnId = 0; - /* 获取操作句柄 */ - handle = MipiDsiOpen(chnId); - if (handle == NULL) { - HDF_LOGE("MipiDsiOpen: failed!\n"); - return; - } - /* 配置相应参数 */ - struct MipiCfg cfg = {0}; - cfg.lane = DSI_4_LANES; - cfg.mode = DSI_CMD_MODE; - cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; - cfg.format = FORMAT_RGB_24_BIT; - cfg.pixelClk = 174; - cfg.phyDataRate = 384; - cfg.timingInfo.hsaPixels = 50; - cfg.timingInfo.hbpPixels = 55; - cfg.timingInfo.hlinePixels = 1200; - cfg.timingInfo.yResLines = 1800; - cfg.timingInfo.vbpLines = 33; - cfg.timingInfo.vsaLines = 76; - cfg.timingInfo.vfpLines = 120; - cfg.timingInfo.xResPixels = 1342; - /* 写入配置数据 */ - ret = MipiDsiSetCfg(g_handle, &cfg); - if (ret != 0) { - HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); - return; - } - /* 发送PANEL初始化指令 */ - struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); - if (cmd == NULL) { - return; - } - cmd->dtype = DTYPE_DCS_WRITE; - cmd->dlen = 1; - cmd->payload = OsalMemCalloc(sizeof(uint8_t)); - if (cmd->payload == NULL) { - HdfFree(cmd); - return; - } - *(cmd->payload) = DTYPE_GEN_LWRITE; - MipiDsiSetLpMode(mipiHandle); - ret = MipiDsiTx(mipiHandle, cmd); - MipiDsiSetHsMode(mipiHandle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: MipiDsiTx fail! ret=%d\n", __func__, ret); - HdfFree(cmd->payload); - HdfFree(cmd); - return; - } - HdfFree(cmd->payload); - HdfFree(cmd); - /* 回读panel状态寄存器 */ - uint8_t readVal = 0; - struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); - if (cmdRead == NULL) { - return; - } - cmdRead->dtype = DTYPE_DCS_READ; - cmdRead->dlen = 1; - cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); - if (cmdRead->payload == NULL) { - HdfFree(cmdRead); - return; - } - *(cmdRead->payload) = DDIC_REG_STATUS; - MipiDsiSetLpMode(g_handle); - ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); - MipiDsiSetHsMode(g_handle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); - HdfFree(cmdRead->payload); - HdfFree(cmdRead); - return; - } - HdfFree(cmdRead->payload); - HdfFree(cmdRead); - /* 释放MIPI DSI设备句柄 */ - MipiDsiClose(handle); -} -``` - diff --git "a/zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\346\214\207\345\257\274.md" "b/zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\346\214\207\345\257\274.md" deleted file mode 100755 index 58603da99a1..00000000000 --- "a/zh-cn/device-dev/driver/MIPI-DSI\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ /dev/null @@ -1,365 +0,0 @@ -# MIPI DSI使用指导 - -- [使用流程](#section8982671284) -- [获取MIPI-DSI操作句柄](#section57982569176) -- [MIPI-DSI相应配置](#section5935410201815) -- [发送/回读控制指令](#section611661316194) -- [释放MIPI-DSI操作句柄](#section217313211199) - -## 使用流程 - -使用MIPI-DSI的一般流程如[图1](#fig99821771782)所示。 - -**图 1** MIPI-DSI使用流程图 - - -![](figures/zh-cn_image_0000001072553354.png) - -## 获取MIPI-DSI操作句柄 - -在进行MIPI-DSI进行通信前,首先要调用MipiDsiOpen获取操作句柄,该函数会返回指定通道ID的操作句柄。 - -DevHandle MipiDsiOpen\(uint8\_t id\); - -**表 1** MipiDsiOpen的参数和返回值描述 - - - - - - - - - - - - - - - - - - -

    参数

    -

    参数描述

    -

    id

    -

    MIPI DSI通道ID

    -

    返回值

    -

    返回值描述

    -

    NULL

    -

    获取失败

    -

    设备句柄

    -

    获取到指令通道的操作句柄, 类型为DevHandle

    -
    - -假设系统中的MIPI-DSI通道为0,获取该通道操作句柄的示例如下: - -``` -DevHandle mipiDsiHandle = NULL; /* 设备句柄 */ -chnId = 0; /* MIPI-DSI通道ID */ - -/* 获取操作句柄 */ -mipiDsiHandle = MipiDsiOpen(chnId); -if (mipiDsiHandle == NULL) { - HDF_LOGE("MipiDsiOpen: failed\n"); - return; -} -``` - -## MIPI-DSI相应配置 - -- 写入MIPI-DSI配置 - -int32\_t MipiDsiSetCfg\(DevHandle handle, struct MipiCfg \*cfg\); - -**表 2** MipiDsiSetCfg的参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

    参数

    -

    参数描述

    -

    handle

    -

    操作句柄

    -

    cfg

    -

    MIPI-DSI相应配置buf 指针

    -

    返回值

    -

    返回值描述

    -

    0

    -

    设置成功

    -

    负数

    -

    设置失败

    -
    - -``` -int32_t ret; -struct MipiCfg cfg = {0}; - -/* 当前对接的屏幕配置如下 */ -cfg.lane = DSI_4_LANES; -cfg.mode = DSI_CMD_MODE; -cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; -cfg.format = FORMAT_RGB_24_BIT; -cfg.pixelClk = 174; -cfg.phyDataRate = 384; -cfg.timingInfo.hsaPixels = 50; -cfg.timingInfo.hbpPixels = 55; -cfg.timingInfo.hlinePixels = 1200; -cfg.timingInfo.yResLines = 1800; -cfg.timingInfo.vbpLines = 33; -cfg.timingInfo.vsaLines = 76; -cfg.timingInfo.vfpLines = 120; -cfg.timingInfo.xResPixels = 1342; -/* 写入配置数据 */ -ret = MipiDsiSetCfg(g_handle, &cfg); -if (ret != 0) { - HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); - return -1; -} -``` - -- 获取当前MIPI-DSI的配置 - -int32\_t MipiDsiGetCfg\(DevHandle handle, struct MipiCfg \*cfg\); - -**表 3** MipiDsiGetCfg的参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

    参数

    -

    参数描述

    -

    handle

    -

    操作句柄

    -

    cfg

    -

    MIPI-DSI相应配置buf 指针

    -

    返回值

    -

    返回值描述

    -

    0

    -

    获取成功

    -

    负数

    -

    获取失败

    -
    - -``` -int32_t ret; -struct MipiCfg cfg; -memset(&cfg, 0, sizeof(struct MipiCfg)); -ret = MipiDsiGetCfg(g_handle, &cfg); -if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: GetMipiCfg fail!\n", __func__); - return HDF_FAILURE; -} -``` - -## 发送/回读控制指令 - -- 发送指令 - -int32\_t MipiDsiTx\(PalHandle handle, struct DsiCmdDesc \*cmd\); - -**表 4** MipiDsiTx的参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

    参数

    -

    参数描述

    -

    handle

    -

    操作句柄

    -

    cmd

    -

    需要发送的指令数据指针

    -

    返回值

    -

    返回值描述

    -

    0

    -

    发送成功

    -

    负数

    -

    发送失败

    -
    - -``` -int32_t ret; -struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); -if (cmd == NULL) { - return HDF_FAILURE; -} -cmd->dtype = DTYPE_DCS_WRITE; -cmd->dlen = 1; -cmd->payload = OsalMemCalloc(sizeof(uint8_t)); -if (cmd->payload == NULL) { - HdfFree(cmd); - return HDF_FAILURE; -} -*(cmd->payload) = DTYPE_GEN_LWRITE; -MipiDsiSetLpMode(mipiHandle); -ret = MipiDsiTx(mipiHandle, cmd); -MipiDsiSetHsMode(mipiHandle); -if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: PalMipiDsiTx fail! ret=%d\n", __func__, ret); - HdfFree(cmd->payload); - HdfFree(cmd); - return HDF_FAILURE; -} -HdfFree(cmd->payload); -HdfFree(cmd); -``` - -- 回读指令 - -int32\_t MipiDsiRx\(DevHandle handle, struct DsiCmdDesc \*cmd, uint32\_t readLen, uint8\_t \*out\); - -**表 5** MipiDsiRx的参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    参数

    -

    参数描述

    -

    handle

    -

    操作句柄

    -

    cmd

    -

    需要回读的指令数据指针

    -

    readLen

    -

    期望回读的数据长度

    -

    out

    -

    回读的数据buf指针

    -

    返回值

    -

    返回值描述

    -

    0

    -

    获取成功

    -

    负数

    -

    获取失败

    -
    - -``` -int32_t ret; -uint8_t readVal = 0; - -struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); -if (cmdRead == NULL) { - return HDF_FAILURE; -} -cmdRead->dtype = DTYPE_DCS_READ; -cmdRead->dlen = 1; -cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); -if (cmdRead->payload == NULL) { - HdfFree(cmdRead); - return HDF_FAILURE; -} -*(cmdRead->payload) = DDIC_REG_STATUS; -MipiDsiSetLpMode(g_handle); -ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); -MipiDsiSetHsMode(g_handle); -if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); - HdfFree(cmdRead->payload); - HdfFree(cmdRead); - return HDF_FAILURE; -} -HdfFree(cmdRead->payload); -HdfFree(cmdRead); -``` - -## 释放MIPI-DSI操作句柄 - -MIPI-DSI使用完成之后,需要释放操作句柄,释放句柄的函数如下所示: - -void MipiDsiClose\(DevHandle handle\); - -该函数会释放掉由MipiDsiOpen申请的资源。 - -**表 6** MipiDsiClose的参数和返回值描述 - - - - - - - - - - -

    参数

    -

    参数描述

    -

    handle

    -

    MIPI-DSI操作句柄

    -
    - -``` -MipiDsiClose(mipiHandle); /* 释放掉MIPI-DSI操作句柄 */ -``` - diff --git "a/zh-cn/device-dev/driver/MIPI-DSI\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/MIPI-DSI\346\246\202\350\277\260.md" deleted file mode 100755 index 5af73287eb9..00000000000 --- "a/zh-cn/device-dev/driver/MIPI-DSI\346\246\202\350\277\260.md" +++ /dev/null @@ -1,84 +0,0 @@ -# MIPI DSI概述 - -- [简介](#section1369320102013) -- [接口说明](#section6577545192317) - -## 简介 - -- DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface \(MIPI\) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设\(通常是LCD或者类似的显示设备\),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信协议。 - -- MIPI-DSI具备高速模式和低速模式两种工作模式,全部数据通道都可以用于单向的高速传输,但只有第一个数据通道才可用于低速双向传输,从属端的状态信息、像素等是通过该数据通道返回。时钟通道专用于在高速传输数据的过程中传输同步时钟信号。 - - 图1显示了简化的DSI接口。从概念上看,符合DSI的接口与基于DBI-2和DPI-2标准的接口具有相同的功能。它向外围设备传输像素或命令数据,并且可以从外围设备读取状态或像素信息。主要区别在于,DSI对所有像素数据、命令和事件进行序列化,而在传统接口中,这些像素数据、命令和事件通常需要附加控制信号才能在并行数据总线上传输。 - - **图 1** DSI发送、接收接口 - ![](figures/DSI发送-接收接口.png "DSI发送-接收接口") - - - -## 接口说明 - -**表 1** MIPI-DSI API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    设置/获取当前MIPI-DSI相关配置

    -

    MipiDsiSetCfg

    -

    设置MIPI-DSI相关配置

    -

    MipiDsiGetCfg

    -

    获取当前MIPI-DSI相关配置

    -

    获取/释放MIPI-DSI操作句柄

    -

    MipiDsiOpen

    -

    获取MIPI-DSI操作句柄

    -

    MipiDsiClose

    -

    释放MIPI-DSI操作句柄

    -

    设置MIPI-DSI进入Low power模式/High speed模式

    -

    MipiDsiSetLpMode

    -

    设置MIPI-DSI进入Low power模式

    -

    MipiDsiSetHsMode

    -

    设置MIPI-DSI进入High speed模式

    -

    MIPI-DSI发送/回读指令

    -

    MipiDsiTx

    -

    MIPI-DSI发送相应指令的接口

    -

    MipiDsiRx

    -

    MIPI-DSI按期望长度回读的接口

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,仅限内核态使用,不支持在用户态使用 - diff --git a/zh-cn/device-dev/driver/RTC.md b/zh-cn/device-dev/driver/RTC.md deleted file mode 100755 index de745a39f9b..00000000000 --- a/zh-cn/device-dev/driver/RTC.md +++ /dev/null @@ -1,9 +0,0 @@ -# RTC - -- **[RTC概述](RTC概述.md)** - -- **[RTC使用指导](RTC使用指导.md)** - -- **[RTC使用实例](RTC使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index d413efda41b..00000000000 --- "a/zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,97 +0,0 @@ -# RTC使用实例 - -本实例提供RTC接口的完整使用流程: - -1. 系统启动,驱动管理模块会识别系统当前的RTC器件; -2. 驱动管理模块完成RTC设备的初始化和设备创建; -3. 用户通过不同API,对该RTC设备进行对应的操作; -4. 关闭RTC设备,释放设备资源。 - -示例如下: - -``` -#include "rtc_if.h" -int32_t RtcAlarmACallback(enum RtcAlarmIndex alarmIndex) -{ - if (alarmIndex == RTC_ALARM_INDEX_A) { - /* 报警A的处理 */ - printf("RTC Alarm A callback function\n\r"); - } else if (alarmIndex == RTC_ALARM_INDEX_B) { - /* 报警B的处理 */ - printf("RTC Alarm B callback function\n\r"); - } else { - /* 错误处理 */ - } - return 0; -} - -void RtcTestSample(void) -{ - int32_t ret; - struct RtcTime tm; - struct RtcTime alarmTime; - uint32_t freq; - DevHandle handle = NULL; - - /* 获取RTC设备句柄 */ - handle = RtcOpen(); - if (handle == NULL) { - /* 错误处理 */ - } - /* 注册报警A的定时回调函数 */ - ret = RtcRegisterAlarmCallback(handle, RTC_ALARM_INDEX_A, RtcAlarmACallback); - if (ret != 0) { - /* 错误处理 */ - } - /* 设置RTC外接晶体振荡频率,注意按照器件手册要求配置RTC外频 */ - freq = 32768; /* 32768 Hz */ - ret = RtcSetFreq(handle, freq); - if (ret != 0) { - /* 错误处理 */ - } - /* 设置RTC报警中断使能 */ - ret = RtcAlarmInterruptEnable(handle, RTC_ALARM_INDEX_A, 1); - if (ret != 0) { - /* 错误处理 */ - } - /* 设置RTC时间为2020/01/01 00:00:10 .990 */ - tm.year = 2020; - tm.month = 01; - tm.day = 01; - tm.hour= 0; - tm.minute = 0; - tm.second = 10; - tm.millisecond = 990; - /* 写RTC时间信息 */ - ret = RtcWriteTime(handle, &tm); - if (ret != 0) { - /* 错误处理 */ - } - /* 设置RTC报警时间为2020/01/01 00:00:30 .100 */ - alarmTime.year = 2020; - alarmTime.month = 01; - alarmTime.day = 01; - alarmTime.hour = 0; - alarmTime.minute = 0; - alarmTime.second = 30; - alarmTime.millisecond = 100; - /* 设置RTC_ALARM_INDEX_A索引定时报警时间信息, 定时时间到后会打印"RTC Alarm A callback function" */ - ret = RtcWriteAlarm(handle, RTC_ALARM_INDEX_A, &alarmTime); - if (ret != 0) { - /* 错误处理 */ - } - - /* 读取RTC实时时间 */ - ret = RtcReadTime(handle, &tm); - if (ret != 0) { - /* 错误处理 */ - } - sleep(5) - printf("RTC read time:\n\r"); - printf("year-month-date-weekday hour:minute:second .millisecond %04u-%02u-%02u-%u %02u:%02u:%02u .%03u", - tm.year, tm.month, tm.day, tm.weekday, tm.hour, tm.minute, tm.second, tm.millisecond); - /* 销毁RTC设备句柄 */ - RtcClose(handle); -} -``` - diff --git "a/zh-cn/device-dev/driver/RTC\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/RTC\346\246\202\350\277\260.md" deleted file mode 100755 index 19b903394cd..00000000000 --- "a/zh-cn/device-dev/driver/RTC\346\246\202\350\277\260.md" +++ /dev/null @@ -1,103 +0,0 @@ -# RTC概述 - -- [简介](#section104842041574) -- [接口说明](#section16892932155715) - -## 简介 - -RTC\(real-time clock\)为操作系统中的实时时钟设备,为操作系统提供精准的实时时间和定时报警功能。当设备下电后,通过外置电池供电,RTC继续记录操作系统时间;设备上电后,RTC提供实时时钟给操作系统,确保断电后系统时间的连续性。 - -## 接口说明 - -**表 1** RTC设备API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    RTC句柄操作

    -

    RtcOpen

    -

    获取RTC设备驱动句柄

    -

    RtcClose

    -

    释放RTC设备驱动句柄

    -

    RTC时间操作接口

    -

    RtcReadTime

    -

    读RTC时间信息,包括年、月、星期、日、时、分、秒、毫秒

    -

    RtcWriteTime

    -

    写RTC时间信息,包括年、月、星期、日、时、分、秒、毫秒

    -

    RTC报警操作接口

    -

    RtcReadAlarm

    -

    读RTC报警时间信息

    -

    RtcWriteAlarm

    -

    写RTC报警时间信息

    -

    RtcRegisterAlarmCallback

    -

    注册报警超时回调函数

    -

    RtcAlarmInterruptEnable

    -

    使能/去使能RTC报警中断

    -

    RTC配置操作

    -

    RtcGetFreq

    -

    读RTC外接晶振频率

    -

    RtcSetFreq

    -

    配置RTC外接晶振频率

    -

    RtcReset

    -

    RTC复位

    -

    读写用户定义寄存器

    -

    RtcReadReg

    -

    读用户自定义寄存器

    -

    RtcWriteReg

    -

    写用户自定义寄存器

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 - diff --git a/zh-cn/device-dev/driver/Readme-CN.md b/zh-cn/device-dev/driver/Readme-CN.md index f86ff0362eb..39991f33cab 100755 --- a/zh-cn/device-dev/driver/Readme-CN.md +++ b/zh-cn/device-dev/driver/Readme-CN.md @@ -1,73 +1,24 @@ -# 驱动 - -- [HDF驱动框架](HDF驱动框架.md) - - [HDF开发概述](HDF开发概述.md) - - [驱动开发](驱动开发.md) - - [驱动服务管理](驱动服务管理.md) - - [驱动消息机制管理](驱动消息机制管理.md) - - [配置管理](配置管理.md) - - [HDF开发实例](HDF开发实例.md) - -- [驱动平台](驱动平台.md) - - [GPIO](GPIO.md) - - [GPIO概述](GPIO概述.md) - - [GPIO使用指导](GPIO使用指导.md) - - [GPIO使用实例](GPIO使用实例.md) - - - [I2C](I2C.md) - - [I2C概述](I2C概述.md) - - [I2C使用指导](I2C使用指导.md) - - [I2C使用实例](I2C使用实例.md) - - - [RTC](RTC.md) - - [RTC概述](RTC概述.md) - - [RTC使用指导](RTC使用指导.md) - - [RTC使用实例](RTC使用实例.md) - - - [SDIO](SDIO.md) - - [SDIO概述](SDIO概述.md) - - [SDIO使用指导](SDIO使用指导.md) - - [SDIO使用实例](SDIO使用实例.md) - - - [SPI](SPI.md) - - [SPI概述](SPI概述.md) - - [SPI使用指导](SPI使用指导.md) - - [SPI使用实例](SPI使用实例.md) - - - [UART](UART.md) - - [UART概述](UART概述.md) - - [UART使用指导](UART使用指导.md) - - [UART使用实例](UART使用实例.md) - - - [WATCHDOG](WATCHDOG.md) - - [看门狗概述](看门狗概述.md) - - [看门狗使用指导](看门狗使用指导.md) - - [看门狗使用实例](看门狗使用实例.md) - - - [MIPI DSI](MIPI-DSI.md) - - [MIPI DSI概述](MIPI-DSI概述.md) - - [MIPI DSI使用指导](MIPI-DSI使用指导.md) - - [MIPI DSI使用实例](MIPI-DSI使用实例.md) - -- [外设](外设.md) - - [LCD](LCD.md) - - [LCD开发概述](LCD开发概述.md) - - [LCD开发指导](LCD开发指导.md) - - [LCD开发实例](LCD开发实例.md) - - - [TOUCHSCREEN](TOUCHSCREEN.md) - - [Touchscreen开发概述](Touchscreen开发概述.md) - - [Touchscreen开发指导](Touchscreen开发指导.md) - - [Touchscreen开发实例](Touchscreen开发实例.md) - - - [SENSOR](SENSOR.md) - - [传感器驱动开发概述](传感器驱动开发概述.md) - - [传感器驱动开发指导](传感器驱动开发指导.md) - - [传感器驱动开发实例](传感器驱动开发实例.md) - - [传感器驱动测试指导](传感器驱动测试指导.md) - - - [WLAN](WLAN.md) - - [WLAN开发概述](WLAN开发概述.md) - - [WLAN开发指导](WLAN开发指导.md) - - [WLAN开发实例](WLAN开发实例.md) +# 驱动使用指南 + +- [HDF驱动框架](drive.md) + - [HDF开发概述](drive-hdf-overview.md) + - [驱动开发](drive-hdf-development.md) + - [驱动服务管理](drive-hdf-servicemanage.md) + - [驱动消息机制管理](drive-hdf-news.md) + - [配置管理](drive-hdf-manage.md) + - [HDF开发实例](drive-hdf-sample.md) +- [平台驱动](drive-platform.md) + - [GPIO](drive-platform-gpio-des.md) + - [I2C](drive-platform-i2c-des.md) + - [RTC](drive-platform-rtc-des.md) + - [SDIO](drive-platform-sdio-des.md) + - [SPI](drive-platform-spi-des.md) + - [UART](drive-platform-uart-des.md) + - [WATCHDOG](drive-platform-watchdog-des.md) + - [MIPI DSI](drive-platform-mipidsi-des.md) +- [外设](drive-peripherals.md) + - [LCD](drive-peripherals-lcd-des.md) + - [TOUCHSCREEN](drive-peripherals-touch-des.md) + - [SENSOR](drive-peripherals-sensor-des.md) + - [WLAN](drive-peripherals-external-des.md) diff --git a/zh-cn/device-dev/driver/SDIO.md b/zh-cn/device-dev/driver/SDIO.md deleted file mode 100755 index 192dd216b5d..00000000000 --- a/zh-cn/device-dev/driver/SDIO.md +++ /dev/null @@ -1,9 +0,0 @@ -# SDIO - -- **[SDIO概述](SDIO概述.md)** - -- **[SDIO使用指导](SDIO使用指导.md)** - -- **[SDIO使用实例](SDIO使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index 18ddb74593b..00000000000 --- "a/zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,129 +0,0 @@ -# SDIO使用实例 - -SDIO设备完整的使用示例如下所示,首先打开总线号为1的SDIO控制器,然后独占HOST、使能设备、注册中断,接着进行SDIO通信(读写等),通信完成之后,释放中断、去使能设备、释放HOST,最后关闭SDIO控制器。 - -``` -#include "hdf_log.h" -#include "sdio_if.h" - -#define TEST_FUNC_NUM 1 /* 本测试用例中,使用编号为1的I/O function */ -#define TEST_FBR_BASE_ADDR 0x100 /* 编号为1的I/O function的FBR基地址 */ -#define TEST_ADDR_OFFSET 9 /* 本测试用例中,需要读写的寄存器的地址偏移 */ -#define TEST_DATA_LEN 3 /* 本测试用例中,读写数据的长度 */ -#define TEST_BLOCKSIZE 2 /* 本测试用例中,数据块的大小,单位字节 */ - -/* 中断服务函数,需要根据各自平台的情况去实现 */ -static void SdioIrqFunc(void *data) -{ - if (data == NULL) { - HDF_LOGE("SdioIrqFunc: data is NULL.\n"); - return; - } - /* 需要开发者自行添加具体的实现 */ -} - -void SdioTestSample(void) -{ - int32_t ret; - DevHandle handle = NULL; - uint8_t data[TEST_DATA_LEN] = {0}; - struct SdioFunctionConfig config = {1, 0x123, 0x456}; - uint8_t val; - uint32_t addr; - - /* 打开总线号为1的SDIO设备 */ - handle = SdioOpen(1, &config); - if (handle == NULL) { - HDF_LOGE("SdioOpen: failed!\n"); - return; - } - /* 独占HOST */ - SdioClaimHost(handle); - /* 使能SDIO设备 */ - ret = SdioEnableFunc(handle); - if (ret != 0) { - HDF_LOGE("SdioEnableFunc: failed, ret %d\n", ret); - goto ENABLE_ERR; - } - /* 注册中断 */ - ret = SdioClaimIrq(handle, SdioIrqFunc); - if (ret != 0) { - HDF_LOGE("SdioClaimIrq: failed, ret %d\n", ret); - goto CLAIM_IRQ_ERR; - } - /* 设置块大小为2字节 */ - ret = SdioSetBlockSize(handle, TEST_BLOCKSIZE); - if (ret != 0) { - HDF_LOGE("SdioSetBlockSize: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 从SDIO设备增量地址读取3字节的数据 */ - addr = TEST_FBR_BASE_ADDR * TEST_FUNC_NUM + TEST_ADDR_OFFSET; - ret = SdioReadBytes(handle, data, addr, TEST_DATA_LEN); - if (ret != 0) { - HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 向SDIO设备增量地址写入3字节的数据 */ - ret = SdioWriteBytes(handle, data, addr, TEST_DATA_LEN); - if (ret != 0) { - HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 从SDIO设备读取1字节的数据 */ - ret = SdioReadBytes(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 向SDIO设备写入1字节的数据 */ - ret = SdioWriteBytes(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 从SDIO设备固定地址读取3字节的数据 */ - ret = SdioReadBytesFromFixedAddr(handle, data, addr, TEST_DATA_LEN, 0); - if (ret != 0) { - HDF_LOGE("SdioReadBytesFromFixedAddr: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 向SDIO设备固定地址写入1字节的数据 */ - ret = SdioWriteBytesToFixedAddr(handle, data, addr, 1, 0); - if (ret != 0) { - HDF_LOGE("SdioWriteBytesToFixedAddr: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 从SDIO function 0读取1字节的数据 */ - addr = 0x02; - ret = SdioReadBytesFromFunc0(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioReadBytesFromFunc0: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* 向SDIO function 0写入1字节的数据 */ - ret = SdioWriteBytesToFunc0(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioWriteBytesToFunc0: failed, ret %d\n", ret); - goto COMM_ERR; - } -COMM_ERR: - /* 释放中断 */ - ret = SdioReleaseIrq(handle); - if (ret != 0) { - HDF_LOGE("SdioReleaseIrq: failed, ret %d\n", ret); - } -CLAIM_IRQ_ERR: - /* 去使能SDIO设备 */ - ret = SdioDisableFunc(handle); - if (ret != 0) { - HDF_LOGE("SdioDisableFunc: failed, ret %d\n", ret); - } -ENABLE_ERR: - /* 释放HOST */ - SdioReleaseHost(handle); - /* 关闭SDIO设备 */ - SdioClose(handle); -} -``` - diff --git "a/zh-cn/device-dev/driver/SDIO\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/SDIO\346\246\202\350\277\260.md" deleted file mode 100755 index 69b74874472..00000000000 --- "a/zh-cn/device-dev/driver/SDIO\346\246\202\350\277\260.md" +++ /dev/null @@ -1,149 +0,0 @@ -# SDIO概述 - -- [简介](#section1155271783811) -- [接口说明](#section10204143763819) - -## 简介 - -- SDIO是安全数字输入输出接口(Secure Digital Input and Output)的缩写,是从SD内存卡接口的基础上演化出来的一种外设接口。SDIO接口兼容以前的SD内存卡,并且可以连接支持SDIO接口的设备。 -- SDIO的应用比较广泛,目前,有许多手机都支持SDIO功能,并且很多SDIO外设也被开发出来,使得手机外接外设更加容易。常见的SDIO外设有WLAN、GPS、CAMERA、蓝牙等。 -- SDIO总线有两端,其中一端是主机端(HOST),另一端是设备端(DEVICE)。所有的通信都是由HOST端发出命令开始的,在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了。SDIO的HOST可以连接多个DEVICE,如下图所示: - - - CLK信号:HOST给DEVICE的时钟信号。 - - VDD信号:电源信号。 - - VSS信号:Ground信号。 - - D0-3信号:4条数据线,其中,DAT1信号线复用为中断线,在1BIT模式下DAT0用来传输数据,在4BIT模式下DAT0-DAT3用来传输数据。 - - CMD信号:用于HOST发送命令和DEVICE回复响应。 - - **图 1** SDIO的HOST-DEVICE连接示意图 - - - ![](figures/zh-cn_image_0000001054280608.png) - -- SDIO接口定义了操作SDIO的通用方法集合,包括打开/关闭SDIO控制器、独占/释放HOST、使能/去使能设备、申请/释放中断、读写、获取/设置公共信息等。 - -## 接口说明 - -**表 1** SDIO驱动API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    SDIO设备打开/关闭接口

    -

    SdioOpen

    -

    打开指定总线号的SDIO控制器

    -

    SdioClose

    -

    关闭SDIO控制器

    -

    SDIO读写接口

    -

    SdioReadBytes

    -

    从指定地址开始,增量读取指定长度的数据

    -

    SdioWriteBytes

    -

    从指定地址开始,增量写入指定长度的数据

    -

    SdioReadBytesFromFixedAddr

    -

    从固定地址读取指定长度的数据

    -

    SdioWriteBytesToFixedAddr

    -

    向固定地址写入指定长度的数据

    -

    SdioReadBytesFromFunc0

    -

    从SDIO function 0的指定地址空间读取指定长度的数据

    -

    SdioWriteBytesToFunc0

    -

    向SDIO function 0的指定地址空间写入指定长度的数据

    -

    SDIO设置块大小接口

    -

    SdioSetBlockSize

    -

    设置块的大小

    -

    SDIO获取/设置公共信息接口

    -

    SdioGetCommonInfo

    -

    获取公共信息

    -

    SdioSetCommonInfo

    -

    设置公共信息

    -

    SDIO刷新数据接口

    -

    SdioFlushData

    -

    刷新数据

    -

    SDIO独占/释放HOST接口

    -

    SdioClaimHost

    -

    独占Host

    -

    SdioReleaseHost

    -

    释放Host

    -

    SDIO使能/去使能功能设备接口

    -

    SdioEnableFunc

    -

    使能SDIO功能设备

    -

    SdioDisableFunc

    -

    去使能SDIO功能设备

    -

    SDIO申请/释放中断接口

    -

    SdioClaimIrq

    -

    申请中断

    -

    SdioReleaseIrq

    -

    释放中断

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,目前只支持在内核态使用,不支持在用户态使用。 - diff --git a/zh-cn/device-dev/driver/SENSOR.md b/zh-cn/device-dev/driver/SENSOR.md deleted file mode 100755 index 5907809028c..00000000000 --- a/zh-cn/device-dev/driver/SENSOR.md +++ /dev/null @@ -1,11 +0,0 @@ -# SENSOR - -- **[传感器驱动开发概述](传感器驱动开发概述.md)** - -- **[传感器驱动开发指导](传感器驱动开发指导.md)** - -- **[传感器驱动开发实例](传感器驱动开发实例.md)** - -- **[传感器驱动测试指导](传感器驱动测试指导.md)** - - diff --git a/zh-cn/device-dev/driver/SPI.md b/zh-cn/device-dev/driver/SPI.md deleted file mode 100755 index 394692a7839..00000000000 --- a/zh-cn/device-dev/driver/SPI.md +++ /dev/null @@ -1,9 +0,0 @@ -# SPI - -- **[SPI概述](SPI概述.md)** - -- **[SPI使用指导](SPI使用指导.md)** - -- **[SPI使用实例](SPI使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index 4c3a6280301..00000000000 --- "a/zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,70 +0,0 @@ -# SPI使用实例 - -SPI设备完整的使用示例如下所示,首先获取SPI设备句柄,然后配置SPI设备属性,接着调用读写接口进行数据传输,最后销毁SPI设备句柄。 - -``` -#include "hdf_log.h" -#include "spi_if.h" - -void SpiTestSample(void) -{ - int32_t ret; - struct SpiCfg cfg; /* SPI配置信息 */ - struct SpiDevInfo spiDevinfo; /* SPI设备描述符 */ - DevHandle spiHandle = NULL; /* SPI设备句柄 */ - struct SpiMsg msg; /* 自定义传输的消息 */ - uint8_t rbuff[4] = { 0 }; - uint8_t wbuff[4] = { 0x12, 0x34, 0x56, 0x78 }; - uint8_t wbuff2[4] = { 0xa1, 0xb2, 0xc3, 0xd4 }; - - spiDevinfo.busNum = 0; /* SPI设备总线号 */ - spiDevinfo.csNum = 0; /* SPI设备片选号 */ - spiHandle = SpiOpen(&spiDevinfo); /* 根据spiDevinfo获取SPI设备句柄 */ - if (spiHandle == NULL) { - HDF_LOGE("SpiOpen: failed\n"); - return; - } - /* 获取SPI设备属性 */ - ret = SpiGetCfg(spiHandle, &cfg); - if (ret != 0) { - HDF_LOGE("SpiGetCfg: failed, ret %d\n", ret); - goto err; - } - cfg.maxSpeedHz = 115200; /* 将最大时钟频率改为115200 */ - cfg.bitsPerWord = 8; /* 传输位宽改为8比特 */ - /* 配置SPI设备属性 */ - ret = SpiSetCfg(spiHandle, &cfg); - if (ret != 0) { - HDF_LOGE("SpiSetCfg: failed, ret %d\n", ret); - goto err; - } - /* 向SPI设备写入指定长度的数据 */ - ret = SpiWrite(spiHandle, wbuff, 4); - if (ret != 0) { - HDF_LOGE("SpiWrite: failed, ret %d\n", ret); - goto err; - } - /* 从SPI设备读取指定长度的数据 */ - ret = SpiRead(spiHandle, rbuff, 4); - if (ret != 0) { - HDF_LOGE("SpiRead: failed, ret %d\n", ret); - goto err; - } - msg.wbuf = wbuff2; /* 写入的数据 */ - msg.rbuf = rbuff; /* 读取的数据 */ - msg.len = 4; /* 读取写入数据的长度为4 */ - msg.csChange = 1; /* 进行下一次传输前关闭片选 */ - msg.delayUs = 0; /* 进行下一次传输前不进行延时 */ - msg.speed = 115200; /* 本次传输的速度 */ - /* 进行一次自定义传输,传输的msg个数为1 */ - ret = SpiTransfer(spiHandle, &msg, 1); - if (ret != 0) { - HDF_LOGE("SpiTransfer: failed, ret %d\n", ret); - goto err; - } -err: - /* 销毁SPI设备句柄 */ - SpiClose(spiHandle); -} -``` - diff --git "a/zh-cn/device-dev/driver/SPI\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/SPI\346\246\202\350\277\260.md" deleted file mode 100755 index 3d3567489af..00000000000 --- "a/zh-cn/device-dev/driver/SPI\346\246\202\350\277\260.md" +++ /dev/null @@ -1,107 +0,0 @@ -# SPI概述 - -- [简介](#section9202632114011) -- [接口说明](#section1859594134119) - -## 简介 - -- SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线。 -- SPI是由Motorola公司开发,用于在主设备和从设备之间进行通信,常用于与闪存、实时时钟、传感器以及模数转换器等进行通信。 -- SPI以主从方式工作,通常有一个主设备和一个或者多个从设备。主设备和从设备之间一般用4根线相连,它们分别是: - - SCLK – 时钟信号,由主设备产生; - - MOSI – 主设备数据输出,从设备数据输入; - - MISO – 主设备数据输入,从设备数据输出; - - CS – 片选,从设备使能信号,由主设备控制。 - - -- 一个主设备和两个从设备的连接示意图如[图1](#fig15227181812587)所示,Device A和Device B共享主设备的SCLK、MISO和MOSI三根引脚,Device A的片选CS0连接主设备的CS0,Device B的片选CS1连接主设备的CS1。 - -**图 1** SPI主从设备连接示意图。 - - -![](figures/zh-cn_image_0000001054142582.png) - -- SPI通信通常由主设备发起,通过以下步骤完成一次通信: - -1. 通过CS选中要通信的从设备,在任意时刻,一个主设备上最多只能有一个从设备被选中。 -2. 通过SCLK给选中的从设备提供时钟信号。 -3. 基于SCLK时钟信号,主设备数据通过MOSI发送给从设备,同时通过MISO接收从设备发送的数据,完成通信。 - -- 根据SCLK时钟信号的CPOL(Clock Polarity,时钟极性)和CPHA(Clock Phase,时钟相位)的不同组合,SPI有以下四种工作模式: - - CPOL=0,CPHA=0 时钟信号idle状态为低电平,第一个时钟边沿采样数据。 - - CPOL=0,CPHA=1 时钟信号idle状态为低电平,第二个时钟边沿采样数据。 - - CPOL=1,CPHA=0 时钟信号idle状态为高电平,第一个时钟边沿采样数据。 - - CPOL=1,CPHA=1 时钟信号idle状态为高电平,第二个时钟边沿采样数据。 - - -- SPI接口定义了操作SPI设备的通用方法集合,包括: - - SPI设备句柄获取和释放。 - - SPI读写: 从SPI设备读取或写入指定长度数据。 - - SPI自定义传输:通过消息传输结构体执行任意读写组合过程。 - - SPI设备配置:获取和设置SPI设备属性。 - - ->![](public_sys-resources/icon-note.gif) **说明:** ->当前只支持主机模式,不支持从机模式。 - -## 接口说明 - -**表 1** SPI驱动API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    SPI设备句柄获取释放接口

    -

    SpiOpen

    -

    获取SPI设备句柄

    -

    SpiClose

    -

    释放SPI设备句柄

    -

    SPI读写接口

    -

    SpiRead

    -

    读取指定长度的数据

    -

    SpiWrite

    -

    写入指定长度的数据

    -

    SpiTransfer

    -

    SPI数据传输接口

    -

    SPI设备配置接口

    -

    -

    SpiSetCfg

    -

    根据指定参数,配置SPI设备

    -

    SpiGetCfg

    -

    获取SPI设备配置参数

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 - diff --git a/zh-cn/device-dev/driver/TOUCHSCREEN.md b/zh-cn/device-dev/driver/TOUCHSCREEN.md deleted file mode 100755 index ce5156c848c..00000000000 --- a/zh-cn/device-dev/driver/TOUCHSCREEN.md +++ /dev/null @@ -1,9 +0,0 @@ -# TOUCHSCREEN - -- **[Touchscreen开发概述](Touchscreen开发概述.md)** - -- **[Touchscreen开发指导](Touchscreen开发指导.md)** - -- **[Touchscreen开发实例](Touchscreen开发实例.md)** - - diff --git "a/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\214\207\345\257\274.md" deleted file mode 100755 index 09dc518533e..00000000000 --- "a/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ /dev/null @@ -1,36 +0,0 @@ -# Touchscreen开发指导 - -- [开发步骤](#section1255740132616) - -Input驱动模型是基于HDF框架、Platform接口和OSAL接口开发,不区分操作系统和芯片平台,为touchscreen等输入器件提供统一的驱动开发架构。 - -- 如下以touchscreen器件驱动为例,说明input驱动模型的完整加载流程: - - (1)设备描述配置:由开发者参考已有模板进行设备描述配置,包括驱动加载顺序、板级硬件信息、器件私有数据信息等。 - - (2)加载input设备管理驱动:input设备管理驱动由HDF驱动加载,完成设备manager的创建并对其初始化。 - - (3)加载平台驱动:平台驱动由HDF框架加载,主要完成板级配置解析及硬件初始化,并提供器件注册接口。 - - (4)加载器件驱动:器件驱动也由HDF框架加载,完成器件设备的实例化,包括器件私有配置解析和平台预留的差异化接口适配。 - - (5)器件设备向平台驱动注册:将实例化的器件设备向平台驱动注册,实现设备和驱动的绑定,并完成中断注册、上下电等器件初始化工作。 - - (6)input设备注册:在器件初始化完成后,实例化input设备,并将其注册到input manager进行管理。 - - -## 开发步骤 - -1. 设备描述配置 - - 目前Input驱动基于HDF驱动框架编写,驱动的加载启动由HDF驱动管理框架统一处理。首先需要在对应的配置文件中,将驱动信息注册进去,如是否加载、加载优先级,此后HDF驱动框架会逐一启动注册过的驱动模块。驱动的相关配置请参考[HDF驱动框架配置指导](驱动开发.md#section1969312275533)。 - -2. 板级配置及Touchscreen器件私有配置 - - 配置对应的IO管脚功能,例如对单板上为touchscreen设计预留的I2C Pin脚,需设置对应的寄存器,使其选择I2C的通信功能。 - -3. 实现器件差异化适配接口 - - 根据硬件单板设计的通信接口,使用Platform接口层提供的管脚操作接口配置对应的复位管脚、中断管脚以及电源操作,对于GPIO的操作,可参考[GPIO操作接口指导](GPIO使用指导.md) - - diff --git "a/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\246\202\350\277\260.md" deleted file mode 100755 index b6456936b01..00000000000 --- "a/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\346\246\202\350\277\260.md" +++ /dev/null @@ -1,71 +0,0 @@ -# Touchscreen开发概述 - -- [简介](#section124332411260) -- [接口说明](#section10542625172618) - -## 简介 - -- **Touchscreen驱动主要任务** - - Touchscreen驱动用于驱动触摸屏使其正常工作,该驱动主要完成如下工作:对触摸屏驱动IC进行上电、配置硬件管脚并初始化其状态、注册中断、配置通信接口(I2C或SPI)、设定input相关配置、下载及更新固件等操作。 - - -- **Touchscreen驱动层次说明** - - 本节主要介绍基于input驱动模型开发touchscreen器件驱动,其整体的框架模型如[图1](#fig6251184817261)。 - - Input驱动模型基于HDF驱动框架、PLATFORM接口、OSAL接口进行开发,向上对接规范化的驱动接口HDI(Hardware Driver Interface)层,通过Input-HDI层对外提供硬件能力,即上层input service可以通过HDI接口层获取相应的驱动能力,进而操控touchscreen等输入设备。 - - -**图 1** 基于HDF驱动框架的input驱动模型 -![](figures/基于HDF驱动框架的input驱动模型.png "基于HDF驱动框架的input驱动模型") - -- **Input驱动模型介绍** - - Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动层组成。器件产生的数据借助平台数据通道能力从内核传递到用户态,驱动模型通过配置文件适配不同器件及硬件平台,提高开发者的器件驱动开发效率。如下部分为模型各部分的说明: - - (1)input设备管理:为各类输入设备驱动提供input设备的注册、注销接口,同时统一管理input设备列表; - - (2)input平台驱动:指各类input设备的公共抽象驱动(例如触摸屏的公共驱动),负责对板级硬件进行初始化、硬件中断处理、向manager注册input设备等; - - (3)input器件驱动:指各器件厂家的差异化驱动,通过适配平台驱动预留的差异化接口,实现器件驱动开发量最小化; - - (4)input数据通道:提供一套通用的数据上报通道,各类别的input设备驱动均可用此通道上报input事件; - - (5)input配置解析:负责对input设备的板级配置及器件私有配置进行解析及管理。 - - -- **基于HDF驱动框架开发器件驱动的优势** - - 在HDF(Hardware Driver Foundation)[驱动管理框架](驱动开发.md)的基础上,input驱动模型调用OSAL接口层和Platfom接口层提供的基础接口进行开发,包括bus通信接口、操作系统原生接口(memory、lock、thread、timer等)。由于OSAL接口和Platform接口屏蔽了芯片平台差异,所以基于input驱动模型实现的touchscreen驱动可以进行跨平台、跨OS迁移,以便逐步实现驱动的一次开发,多端部署。 - - -## 接口说明 - -Touchscreen器件的硬件接口相对简单,根据PIN脚的属性,可以简单分为如下三类: - -- 电源接口 -- IO控制接口 -- 通信接口 - -**图 2** Touchscreen器件常用管脚 -![](figures/Touchscreen器件常用管脚.png "Touchscreen器件常用管脚") - -如上图所示的三类接口,分别做简要说明如下: - -1. **电源接口** - - LDO\_1P8:1.8v数字电路 - - LDO\_3P3:3.3v模拟电路 - - 通常情况下,touchscreen驱动IC和LCD驱动IC是相互分离的,这种情况下,touchscreen驱动IC一般同时需要1.8v和3.3v两路供电。随着芯片演进,业内已有touchscreen驱动IC和LCD驱动IC集成在一颗IC中的芯片案例,对touchscreen而言,只需要关注1.8v供电即可,其内部需要的3.3v电源,会在驱动IC内部从LCD的VSP电源(典型值5.5V)中分出来。 - - -2. **IO控制接口** - - Reset:reset管脚,用于在系统休眠、唤醒时,由主机侧对驱动IC进行复位操作。 - - INT:中断管脚,需要在驱动初始化时,配置为输入上拉状态。在驱动IC检测到外部触摸信号后,通过操作中断管脚来触发中断,器件驱动则会在中断处理函数中进行报点数据读取等操作。 - -3. **通信接口** - - I2C:由于touchscreen的报点数据量相对较少,所以一般选用I2C方式传输数据。I2C的具体协议及对应操作接口,可以参考Platform接口层中的[“I2C”使用指南](I2C使用指导.md)。 - - SPI:部分厂商,由于需要传递的数据不止报点坐标,而是需要获取基础容值,数据量较大,所以会选用SPI通信方式。SPI的具体协议及对应操作接口,可以参考Platform接口层中的[“SPI” 使用指南](SPI使用指导.md)。 - - diff --git a/zh-cn/device-dev/driver/UART.md b/zh-cn/device-dev/driver/UART.md deleted file mode 100755 index 5d81f12e15f..00000000000 --- a/zh-cn/device-dev/driver/UART.md +++ /dev/null @@ -1,9 +0,0 @@ -# UART - -- **[UART概述](UART概述.md)** - -- **[UART使用指导](UART使用指导.md)** - -- **[UART使用实例](UART使用实例.md)** - - diff --git "a/zh-cn/device-dev/driver/UART\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/UART\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index d049e3d0218..00000000000 --- "a/zh-cn/device-dev/driver/UART\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,67 +0,0 @@ -# UART使用实例 - -UART设备完整的使用示例如下所示,首先获取UART设备句柄,接着设置波特率、设备属性和传输模式,之后进行UART通信,最后销毁UART设备句柄。 - -``` -#include "hdf_log.h" -#include "uart_if.h" - -void UartTestSample(void) -{ - int32_t ret; - uint32_t port; - DevHandle handle = NULL; - uint8_t wbuff[5] = { 1, 2, 3, 4, 5 }; - uint8_t rbuff[5] = { 0 }; - struct UartAttribute attribute; - attribute.dataBits = UART_ATTR_DATABIT_7; /* UART传输数据位宽,一次传输7个bit */ - attribute.parity = UART_ATTR_PARITY_NONE; /* UART传输数据无校检 */ - attribute.stopBits = UART_ATTR_STOPBIT_1; /* UART传输数据停止位为1位 */ - attribute.rts = UART_ATTR_RTS_DIS; /* UART禁用RTS */ - attribute.cts = UART_ATTR_CTS_DIS; /* UART禁用CTS */ - attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; /* UART使能RX FIFO */ - attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN; /* UART使能TX FIFO */ - /* UART设备端口号,要填写实际平台上的端口号 */ - port = 1; - /* 获取UART设备句柄 */ - handle = UartOpen(port); - if (handle == NULL) { - HDF_LOGE("UartOpen: failed!\n"); - return; - } - /* 设置UART波特率为9600 */ - ret = UartSetBaud(handle, 9600); - if (ret != 0) { - HDF_LOGE("UartSetBaud: failed, ret %d\n", ret); - goto _ERR; - } - /* 设置UART设备属性 */ - ret = UartSetAttribute(handle, &attribute); - if (ret != 0) { - HDF_LOGE("UartSetAttribute: failed, ret %d\n", ret); - goto _ERR; - } - /* 设置UART传输模式为非阻塞模式 */ - ret = UartSetTransMode(handle, UART_MODE_RD_NONBLOCK); - if (ret != 0) { - HDF_LOGE("UartSetTransMode: failed, ret %d\n", ret); - goto _ERR; - } - /* 向UART设备写入5字节的数据 */ - ret = UartWrite(handle, wbuff, 5); - if (ret != 0) { - HDF_LOGE("UartWrite: failed, ret %d\n", ret); - goto _ERR; - } - /* 从UART设备读取5字节的数据 */ - ret = UartRead(handle, rbuff, 5); - if (ret < 0) { - HDF_LOGE("UartRead: failed, ret %d\n", ret); - goto _ERR; - } -_ERR: - /* 销毁UART设备句柄 */ - UartClose(handle); -} -``` - diff --git "a/zh-cn/device-dev/driver/UART\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/UART\346\246\202\350\277\260.md" deleted file mode 100755 index 2f295bddd98..00000000000 --- "a/zh-cn/device-dev/driver/UART\346\246\202\350\277\260.md" +++ /dev/null @@ -1,106 +0,0 @@ -# UART概述 - -- [简介](#section14770623164917) -- [接口说明](#section149505462492) - -## 简介 - -- UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的缩写,是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输。 -- UART应用比较广泛,常用于输出打印信息,也可以外接各种模块,如GPS、蓝牙等。 -- 两个UART设备的连接示意图如下,UART与其他模块一般用2线(图1)或4线(图2)相连,它们分别是: - - TX:发送数据端,和对端的RX相连; - - RX:接收数据端,和对端的TX相连; - - RTS:发送请求信号,用于指示本设备是否准备好,可接受数据,和对端CTS相连; - - CTS:允许发送信号,用于判断是否可以向对端发送数据,和对端RTS相连; - - **图 1** 2线UART设备连接示意图 - - - ![](figures/zh-cn_image_0000001053926237.png) - - **图 2** 4线UART设备连接示意图 - - - ![](figures/zh-cn_image_0000001054007499.png) - - -- UART通信之前,收发双方需要约定好一些参数:波特率、数据格式(起始位、数据位、校验位、停止位)等。通信过程中,UART通过TX发送给对端数据,通过RX接收对端发送的数据。当UART接收缓存达到预定的门限值时,RTS变为不可发送数据,对端的CTS检测到不可发送数据,则停止发送数据。 -- UART接口定义了操作UART端口的通用方法集合,包括获取、释放设备句柄、读写数据、获取和设置波特率、获取和设置设备属性。 - -## 接口说明 - -**表 1** UART驱动API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    UART获取/释放设备句柄

    -

    -

    UartOpen

    -

    UART获取设备句柄

    -

    UartClose

    -

    UART释放设备句柄

    -

    UART读写接口

    -

    -

    UartRead

    -

    从UART设备中读取指定长度的数据

    -

    UartWrite

    -

    向UART设备中写入指定长度的数据

    -

    UART获取/设置波特率接口

    -

    UartGetBaud

    -

    UART获取波特率

    -

    UartSetBaud

    -

    UART设置波特率

    -

    UART获取/设置设备属性

    -

    -

    UartGetAttribute

    -

    UART获取设备属性

    -

    UartSetAttribute

    -

    UART设置设备属性

    -

    UART设置传输模式

    -

    UartSetTransMode

    -

    UART设置传输模式

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 - diff --git a/zh-cn/device-dev/driver/WATCHDOG.md b/zh-cn/device-dev/driver/WATCHDOG.md deleted file mode 100755 index 0d7afef9e34..00000000000 --- a/zh-cn/device-dev/driver/WATCHDOG.md +++ /dev/null @@ -1,9 +0,0 @@ -# WATCHDOG - -- **[看门狗概述](看门狗概述.md)** - -- **[看门狗使用指导](看门狗使用指导.md)** - -- **[看门狗使用实例](看门狗使用实例.md)** - - diff --git a/zh-cn/device-dev/driver/WLAN.md b/zh-cn/device-dev/driver/WLAN.md deleted file mode 100755 index af39a0d3a2b..00000000000 --- a/zh-cn/device-dev/driver/WLAN.md +++ /dev/null @@ -1,9 +0,0 @@ -# WLAN - -- **[WLAN开发概述](WLAN开发概述.md)** - -- **[WLAN开发指导](WLAN开发指导.md)** - -- **[WLAN开发实例](WLAN开发实例.md)** - - diff --git "a/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\345\256\236\344\276\213.md" deleted file mode 100755 index bc558cb6533..00000000000 --- "a/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\345\256\236\344\276\213.md" +++ /dev/null @@ -1,372 +0,0 @@ -# WLAN开发实例 - -本例程提供WLAN模块初始化过程的完整使用流程。示例如下(以hi3881WLAN芯片为例): - -1、根据硬件,修改配置参数 - -``` -/* 根据硬件参数,通过wlan_platform.hcs配置相关参数,以下是WLAN平台配置的示例 */ -hisi :& deviceList { - device0 :: deviceInst { - deviceInstId = 0; - powers { - power0 { - powerSeqDelay = 0; /* 电源序列延时 */ - powerType = 1; /* 电源类型:0--总是打开;1--GPIO */ - gpioId = 1; /* GPIO管脚号 */ - activeLevel=1; /* 有效电平:0--低;1--高 */ - } - power1 { - powerSeqDelay = 0; /* 电源序列延时 */ - powerType = 0; /* 电源类型:0--总是打开;1--GPIO */ - } - } - reset { - resetType = 0; /* 复位类型:0--不管理;1--GPIO */ - gpioId = 2; /* GPIO管脚号 */ - activeLevel=1; /* 有效电平:0--低;1--高 */ - resetHoldTime = 30; /* 复位配置后的等待时间(ms) */ - } - bootUpTimeout = 30; /* 启动超时时间(ms) */ - bus { - busType = 0; /* 总线类型:0-sdio */ - busId = 2; /* 总线号 */ - funcNum = [1]; /* SDIO功能号 */ - timeout = 1000; /* 读/写数据的超时时间 */ - blockSize = 512; /* 读/写数据的块大小 */ - } - } -} -/* 每一块芯片添加配置文件wlan_chip_<芯片名>.hcs(如:wlan_chip_hi3881.hcs),配置相关参数。以下是hi3881的配置示例 */ -root { - wlan_config { - hi3881 :& chipList { - chipHi3881 :: chipInst { - match_attr = "hdf_wlan_chips_hi3881"; /* 配置匹配标识 */ - chipName = "hi3881"; /* WLAN芯片的名称 */ - sdio { - vendorId = 0x0296; /* 厂商Id */ - deviceId = [0x5347]; /* 设备Id */ - } - } - } - } -} -``` - -2、适配挂接WLAN芯片的初始化和去初始化、WLAN芯片驱动的初始化和去初始化 - -``` -/* WLAN初始化挂接流程 */ -#include "hdf_device_desc.h" -#include "hdf_wifi_product.h" -#include "hdf_log.h" -#include "osal_mem.h" -#include "hdf_wlan_chipdriver_manager.h" -#include "securec.h" -#include "wifi_module.h" -#include "hi_wifi_api.h" -#include "hi_types_base.h" - -#define HDF_LOG_TAG Hi3881Driver - -/* WLAN芯片的初始化和去初始化函数 */ -int32_t InitHi3881Chip(struct HdfWlanDevice *device); -int32_t DeinitHi3881Chip(struct HdfWlanDevice *device); -/* WLAN芯片驱动的初始化和去初始化函数 */ -int32_t Hi3881Deinit(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); -int32_t Hi3881Init(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); - -/* 初始化mac80211与芯片侧的函数挂接 */ -hi_void HiMac80211Init(struct HdfChipDriver *chipDriver); - -static const char* const HI3881_DRIVER_NAME = "hisi"; - -/* WLAN芯片驱动挂接以及mac80211与芯片侧的函数挂接 */ -static struct HdfChipDriver *BuildHi3881Driver(struct HdfWlanDevice *device, uint8_t ifIndex) -{ - struct HdfChipDriver *specificDriver = NULL; - if (device == NULL) { - HDF_LOGE("%s fail : channel is NULL", __func__); - return NULL; - } - (void)device; - (void)ifIndex; - specificDriver = (struct HdfChipDriver *)OsalMemCalloc(sizeof(struct HdfChipDriver)); - if (specificDriver == NULL) { - HDF_LOGE("%s fail: OsalMemCalloc fail!", __func__); - return NULL; - } - if (memset_s(specificDriver, sizeof(struct HdfChipDriver), 0, sizeof(struct HdfChipDriver)) != EOK) { - HDF_LOGE("%s fail: memset_s fail!", __func__); - OsalMemFree(specificDriver); - return NULL; - } - - if (strcpy_s(specificDriver->name, MAX_WIFI_COMPONENT_NAME_LEN, HI3881_DRIVER_NAME) != EOK) { - HDF_LOGE("%s fail : strcpy_s fail", __func__); - OsalMemFree(specificDriver); - return NULL; - } - specificDriver->init = Hi3881Init; - specificDriver->deinit = Hi3881Deinit; - - HiMac80211Init(specificDriver); - - return specificDriver; -} - -/* 释放WLAN芯片驱动 */ -static void ReleaseHi3881Driver(struct HdfChipDriver *chipDriver) -{ - if (chipDriver == NULL) { - return; - } - if (strcmp(chipDriver->name, HI3881_DRIVER_NAME) != 0) { - HDF_LOGE("%s:Not my driver!", __func__); - return; - } - OsalMemFree(chipDriver); -} - -static uint8_t GetHi3881GetMaxIFCount(struct HdfChipDriverFactory *factory) { - (void)factory; - return 1; -} - -/* WLAN芯片相关函数的注册 */ -static int32_t HDFWlanRegHisiDriverFactory(void) -{ - static struct HdfChipDriverFactory tmpFactory = { 0 }; - struct HdfChipDriverManager *driverMgr = NULL; - driverMgr = HdfWlanGetChipDriverMgr(); - if (driverMgr == NULL && driverMgr->RegChipDriver != NULL) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - tmpFactory.driverName = HI3881_DRIVER_NAME; - tmpFactory.GetMaxIFCount = GetHi3881GetMaxIFCount; - tmpFactory.InitChip = InitHi3881Chip; - tmpFactory.DeinitChip = DeinitHi3881Chip; - tmpFactory.Build = BuildHi3881Driver; - tmpFactory.Release = ReleaseHi3881Driver; - tmpFactory.ReleaseFactory = NULL; - if (driverMgr->RegChipDriver(&tmpFactory) != HDF_SUCCESS) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) -{ - (void)device; - return HDFWlanRegHisiDriverFactory(); -} - -struct HdfDriverEntry g_hdfHisiChipEntry = { - .moduleVersion = 1, - .Init = HdfWlanHisiChipDriverInit, - .moduleName = "HDF_WLAN_CHIPS" -}; - -HDF_INIT(g_hdfHisiChipEntry); -``` - -``` -#include "hdf_wifi_product.h" -#include "hi_wifi_api.h" -#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) -#include "oal_thread.h" -#include "osal_time.h" -#endif -#include "wifi_mac80211_ops.h" -#include "wal_cfg80211.h" -#include "net_adpater.h" -#include "hdf_wlan_utils.h" - -#define HDF_LOG_TAG Hi3881Driver - -/* WLAN芯片的初始化函数 */ -int32_t InitHi3881Chip(struct HdfWlanDevice *device) -{ - uint8_t maxPortCount = 1; - int32_t ret = HI_SUCCESS; - uint8_t maxRetryCount = 2; - if (device == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - - do { - if (ret != HI_SUCCESS) { - if (device->reset != NULL && device->reset->Reset != NULL) { - device->reset->Reset(device->reset); - } - HDF_LOGE("%s:Retry init hi3881!last ret=%d", __func__, ret); - } - ret = hi_wifi_init(maxPortCount); - } while (ret != 0 && --maxRetryCount > 0); - - if (ret != 0) { - HDF_LOGE("%s:Init hi3881 driver failed!", __func__); - return ret; - } - return HI_SUCCESS; -} - -/* WLAN芯片的去初始化函数 */ -int32_t DeinitHi3881Chip(struct HdfWlanDevice *device) -{ - (void)device; - int32_t ret = hi_wifi_deinit(); - if (ret != 0) { - HDF_LOGE("%s:Deinit failed!ret=%d", __func__, ret); - } - return ret; -} - -/* WLAN芯片驱动的初始化函数 */ -int32_t Hi3881Init(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) -{ - HDF_LOGI("%s: start...", __func__); - hi_u16 mode = wal_get_vap_mode(); - int32_t ret; - nl80211_iftype_uint8 type; - (void)chipDriver; - - if (mode >= WAL_WIFI_MODE_BUTT) { - oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); - return HI_FAIL; - } - - if (mode == WAL_WIFI_MODE_STA) { - type = NL80211_IFTYPE_STATION; - } else if (mode == WAL_WIFI_MODE_AP) { - type = NL80211_IFTYPE_AP; - } else { - oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); - return HI_FAIL; - } - - ret = wal_init_drv_wlan_netdev(type, WAL_PHY_MODE_11N, netDevice); - if (ret != HI_SUCCESS) { - oam_error_log2(0, OAM_SF_ANY, "wal_init_drv_netdev %s failed.l_return:%d\n", netDevice->name, ret); - } - return ret; -} - -/* WLAN芯片驱动的去初始化函数 */ -int32_t Hi3881Deinit(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) -{ - (void)chipDriver; - int32_t ret = wal_deinit_drv_wlan_netdev(netDevice); - if (ret != HDF_SUCCESS) { - return ret; - } - return ReleasePlatformNetDevice(netDevice); -} -``` - -3、在芯片侧初始化过程中调用netdev的init和add接口进行初始化netdev,并挂接netdev的一些函数指针 - -``` -hi_s32 wal_init_drv_wlan_netdev(nl80211_iftype_uint8 type, wal_phy_mode mode, hi_char* ifname, hi_u32* len) -{ - oal_net_device_stru *netdev = HI_NULL; - - ...... - /* 初始化网络设备,获取对应的实例。*/ - netdev = NetDeviceInit(ifname, *len, LITE_OS); - oal_wireless_dev *wdev = (oal_wireless_dev *)oal_mem_alloc(OAL_MEM_POOL_ID_LOCAL, sizeof(oal_wireless_dev)); - ret = wal_init_netif(type, netdev, wdev); - - ...... - - return HI_SUCCESS; -} -/* 挂接netdev的一些函数指针,详细挂接函数{@link NetDeviceInterFace} */ -oal_net_device_ops_stru g_wal_net_dev_ops = -{ - .getStats = wal_netdev_get_stats, - .open = wal_netdev_open, - .stop = wal_netdev_stop, - .xmit = hmac_bridge_vap_xmit, - .ioctl = wal_net_device_ioctl, - .changeMtu = oal_net_device_change_mtu, - .init = oal_net_device_init, - .deInit = oal_net_free_netdev, -#if (defined(_PRE_WLAN_FEATURE_FLOWCTL) || defined(_PRE_WLAN_FEATURE_OFFLOAD_FLOWCTL)) - .selectQueue = wal_netdev_select_queue, -#endif - .setMacAddr = wal_netdev_set_mac_addr, -#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) - .netifNotify = HI_NULL, -#endif - .specialEtherTypeProcess = SpecialEtherTypeProcess, -}; - -hi_s32 wal_init_netif(nl80211_iftype_uint8 type, oal_net_device_stru *netdev, const oal_wireless_dev *wdev) -{ - /* 添加网络设备到协议栈 */ - hi_u32 ret = NetDeviceAdd(netdev, (Protocol80211IfType)type); - - ...... - - return HI_SUCCESS; -} -``` - -4、WifiMac80211Ops中的函数挂接实现 - -``` -/* 挂接mac80211的一些函数指针 */ - -/* 驱动需要实现的MAC层基本能力的控制接口 */ -static struct HdfMac80211BaseOps g_baseOps = { - .SetMode = WalSetMode, - .AddKey = WalAddKey, - .DelKey = WalDelKey, - .SetDefaultKey = WalSetDefaultKey, - .GetDeviceMacAddr = WalGetDeviceMacAddr, - .SetMacAddr = WalSetMacAddr, - .SetTxPower = WalSetTxPower, - .GetValidFreqsWithBand = WalGetValidFreqsWithBand, - .GetHwCapability = WalGetHwCapability -}; - -/* 驱动需要实现的MAC层STA能力的控制接口 */ -static struct HdfMac80211STAOps g_staOps = { - .Connect = WalConnect, - .Disconnect = WalDisconnect, - .StartScan = WalStartScan, - .AbortScan = WalAbortScan, - .SetScanningMacAddress = WalSetScanningMacAddress, -}; - -/* 驱动需要实现的MAC层AP能力的控制接口 */ -static struct HdfMac80211APOps g_apOps = { - .ConfigAp = WalConfigAp, - .StartAp = WalStartAp, - .StopAp = WalStopAp, - .ConfigBeacon = WalChangeBeacon, - .DelStation = WalDelStation, - .SetCountryCode = WalSetCountryCode, - .GetAssociatedStasCount = WalGetAssociatedStasCount, - .GetAssociatedStasInfo = WalGetAssociatedStasInfo -}; - -/* 初始化mac80211与芯片侧的函数挂接 */ -hi_void HiMac80211Init(struct HdfChipDriver *chipDriver) -{ - if (chipDriver == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:input is NULL!", __func__); - return; - } - chipDriver->ops = &g_baseOps; - chipDriver->staOps = &g_staOps; - chipDriver->apOps = &g_apOps; -} -``` - diff --git "a/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\214\207\345\257\274.md" deleted file mode 100755 index 1a5d63663ab..00000000000 --- "a/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ /dev/null @@ -1,18 +0,0 @@ -# WLAN开发指导 - -- [开发步骤](#section96091936185820) - -WLAN驱动基于HDF框架和PLATFORM框架开发,不区分OS和芯片平台,为不同厂商的WLAN模组提供统一的驱动模型,各WLAN模组厂商根据如下指导适配WLAN驱动框架。 - -## 开发步骤 - -1. 通过wifi\_config.hcs文件,配置硬件参数:module\(不同feature\),芯片等。 -2. 解析配置文件, 生成全量配置的结构体对象。 -3. Module初始化,创建Module。 -4. 挂接chip,初始化chip。 -5. 总线初始化。 -6. 上层wpa业务挂接。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->以上驱动框架适配步骤一部分已经提供(详细见开发实例),待开发人员实现的部分有:1、根据硬件,修改配置参数;2、适配挂接chip;3、测试自验证。 - diff --git "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\345\274\200\345\217\221.md" b/zh-cn/device-dev/driver/drive-hdf-development.md old mode 100755 new mode 100644 similarity index 95% rename from "zh-cn/device-dev/driver/\351\251\261\345\212\250\345\274\200\345\217\221.md" rename to zh-cn/device-dev/driver/drive-hdf-development.md index e35139db59c..b01173490a9 --- "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\345\274\200\345\217\221.md" +++ b/zh-cn/device-dev/driver/drive-hdf-development.md @@ -5,12 +5,12 @@ ## 驱动模型介绍 -HDF框架以组件化的驱动模型作为核心设计思路,为开发者提供更精细化的驱动管理,让驱动开发和部署更加规范。HDF框架将一类设备驱动放在同一个host里面,开发者也可以将驱动功能分层独立开发和部署,支持一个驱动多个node,HDF框架管理驱动模型如下图所示: +HDF框架以组件化的驱动模型作为核心设计思路,为开发者提供更精细化的驱动管理,让驱动开发和部署更加规范。HDF框架将一类设备驱动放在同一个host里面,开发者也可以将驱动功能分层独立开发和部署,支持一个驱动多个node,HDF驱动模型如下图所示: -**图 1** HDF框架管理驱动模型 +**图 1** HDF驱动模型 -![](figures/zh-cn_image_0000001054564784.png) +![](figure/zh-cn_image_0000001054564784.png) ## 驱动开发步骤 @@ -89,7 +89,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提 3. 驱动配置 - HDF使用HCS作为配置描述源码,HCS详细介绍参考[配置管理](配置管理.md)介绍。 + HDF使用HCS作为配置描述源码,HCS详细介绍参考[配置管理](drive-hdf-manage.md)介绍。 驱动配置包含两部分,HDF框架定义的驱动设备描述和驱动的私有配置信息,具体写法如下: @@ -158,7 +158,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >驱动加载方式支持按需加载和按序加载两种方式,具体使用方法如下: >- 按需加载 > ``` @@ -169,7 +169,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提 > DEVICE_PRELOAD_INVALID > } DevicePreload; > ``` -> 配置文件中preload 字段配成 0 (DEVICE\_PRELOAD\_ENABLE ),则系统启动过程中默认加载;配成1(DEVICE\_PRELOAD\_ENABLE\_STEP2),当系统支持快启的时候,则在系统系统完成之后再加载这一类驱动,否则和DEVICE\_PRELOAD\_ENABLE 含义相同;配成2(DEVICE\_PRELOAD\_DISABLE),则系统启动过程中默认不加载,支持后续动态加载,当用户态获取驱动服务(参考[消息机制](驱动消息机制管理.md))时,如果驱动服务不存在时,HDF框架会尝试动态加载该驱动。 +> 配置文件中preload 字段配成 0 (DEVICE\_PRELOAD\_ENABLE ),则系统启动过程中默认加载;配成1(DEVICE\_PRELOAD\_ENABLE\_STEP2),当系统支持快启的时候,则在系统系统完成之后再加载这一类驱动,否则和DEVICE\_PRELOAD\_ENABLE 含义相同;配成2(DEVICE\_PRELOAD\_DISABLE),则系统启动过程中默认不加载,支持后续动态加载,当用户态获取驱动服务(参考[消息机制](drive-hdf-news.md))时,如果驱动服务不存在时,HDF框架会尝试动态加载该驱动。 >- 按序加载(需要驱动为默认加载) > 配置文件中的priority(取值范围为整数0到200)是用来表示host和驱动的优先级,不同的host内的驱动,host的priority值越小,驱动加载优先级越高;同一个host内驱动的priority值越小,加载优先级越高。 diff --git "a/zh-cn/device-dev/driver/\351\205\215\347\275\256\347\256\241\347\220\206.md" b/zh-cn/device-dev/driver/drive-hdf-manage.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/driver/\351\205\215\347\275\256\347\256\241\347\220\206.md" rename to zh-cn/device-dev/driver/drive-hdf-manage.md index 3fd2a0701a9..86cc85d8c7d --- "a/zh-cn/device-dev/driver/\351\205\215\347\275\256\347\256\241\347\220\206.md" +++ b/zh-cn/device-dev/driver/drive-hdf-manage.md @@ -29,7 +29,7 @@ HC-GEN**\(H**DF **C**onfiguration **G**enerator**\)**是HCS配置转换工具 **图 1** 配置使用流程图 -![](figures/zh-cn_image_0000001053405727.png) +![](figure/zh-cn_image_0000001053405727.png) HCS经过HC-GEN编译生成HCB文件,HDF驱动框架中的HCS Parser模块会从HCB文件中重建配置树,HDF驱动模块使用HCS Parser提供的配置读取接口获取配置内容。 @@ -202,7 +202,7 @@ bool类型中**true**表示真,**false**表示假。 */ ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >多行注释不支持嵌套。 @@ -330,7 +330,7 @@ root { } ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >在同一个HCS文件中不允许使用delete,建议直接删除不需要的属性。 ## 属性引用 diff --git "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\346\266\210\346\201\257\346\234\272\345\210\266\347\256\241\347\220\206.md" b/zh-cn/device-dev/driver/drive-hdf-news.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/driver/\351\251\261\345\212\250\346\266\210\346\201\257\346\234\272\345\210\266\347\256\241\347\220\206.md" rename to zh-cn/device-dev/driver/drive-hdf-news.md index ac271c2f1e5..d57a99d58b3 --- "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\346\266\210\346\201\257\346\234\272\345\210\266\347\256\241\347\220\206.md" +++ b/zh-cn/device-dev/driver/drive-hdf-news.md @@ -49,7 +49,7 @@ ## 开发步骤 -1. 将驱动配置信息中服务策略policy字段设置为2(SERVICE\_POLICY\_CAPACITY,参考[policy定义](驱动服务管理.md))。 +1. 将驱动配置信息中服务策略policy字段设置为2(SERVICE\_POLICY\_CAPACITY,参考[policy定义](drive-hdf-servicemanage.md))。 ``` device_sample :: Device { diff --git "a/zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\346\246\202\350\277\260.md" b/zh-cn/device-dev/driver/drive-hdf-overview.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\346\246\202\350\277\260.md" rename to zh-cn/device-dev/driver/drive-hdf-overview.md diff --git "a/zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\345\256\236\344\276\213.md" b/zh-cn/device-dev/driver/drive-hdf-sample.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\345\256\236\344\276\213.md" rename to zh-cn/device-dev/driver/drive-hdf-sample.md index f9b3ca1aca4..0cc2f0686ff --- "a/zh-cn/device-dev/driver/HDF\345\274\200\345\217\221\345\256\236\344\276\213.md" +++ b/zh-cn/device-dev/driver/drive-hdf-sample.md @@ -229,7 +229,7 @@ int main() } ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >用户态应用程序使用了HDF框架中的消息发送接口,因此在编译用户态程序的过程中需要依赖HDF框架对外提供的hdf\_core和osal的动态库,在gn编译文件中添加如下依赖项: >deps = \[ >"//drivers/adapter/lite/uhdf/manager:hdf\_core", diff --git "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\346\234\215\345\212\241\347\256\241\347\220\206.md" b/zh-cn/device-dev/driver/drive-hdf-servicemanage.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/\351\251\261\345\212\250\346\234\215\345\212\241\347\256\241\347\220\206.md" rename to zh-cn/device-dev/driver/drive-hdf-servicemanage.md diff --git "a/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\246\202\350\277\260.md" b/zh-cn/device-dev/driver/drive-peripherals-external-des.md old mode 100755 new mode 100644 similarity index 55% rename from "zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\246\202\350\277\260.md" rename to zh-cn/device-dev/driver/drive-peripherals-external-des.md index 869ee1da51d..282d5ed4542 --- "a/zh-cn/device-dev/driver/WLAN\345\274\200\345\217\221\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/driver/drive-peripherals-external-des.md @@ -1,19 +1,24 @@ -# WLAN开发概述 +# WLAN -- [简介](#section23087361515) -- [WLAN驱动接口架构](#section1533192516212) -- [接口说明](#section87491484213) +- [概述](#section729758162218) + - [WLAN驱动接口架构](#section178022416377) + - [接口说明](#section149681312202415) -## 简介 +- [开发指导](#section15957746172412) + - [开发步骤](#section11776186132513) + +- [开发实例](#section1395253612512) + +## 概述 WLAN是基于HDF(Hardware Driver Foundation)驱动框架开发的模块,该模块可实现跨操作系统迁移,自适应器件差异,模块化拼装编译等功能。各WLAN厂商驱动开发人员可根据WLAN模块提供的向下统一接口适配各自的驱动代码,实现如下能力:建立/关闭WLAN热点、扫描、关联WLAN热点等;对HDI层向上提供能力如下:设置MAC地址、设置发射功率、获取设备的MAC地址等。[WLAN模块框架图](#fig967034316227)如下: **图 1** WLAN框架 -![](figures/zh-cn_image_0000001055299108.png) +![](figure/zh-cn_image_0000001170383063.png) -## WLAN驱动接口架构 +### WLAN驱动接口架构 WLAN模块有三部分对外开放的API接口,如[下图2](#fig15016395217)所示: @@ -26,9 +31,9 @@ WLAN模块有三部分对外开放的API接口,如[下图2](#fig15016395217) **图 2** WLAN模块开放能力分布图 -![](figures/接口分布图4.png) +![](figure/接口分布图4.png) -## 接口说明 +### 接口说明 WLAN驱动模块提供给驱动开发人员可直接调用的能力接口,主要功能有:创建/释放WifiModule、关联/取消关联、申请/释放NetBuf、lwip的pbuf和NetBuf的相互转换等。提供的部分接口说明如[表1](#table1521573319472)所示: @@ -227,3 +232,391 @@ WLAN驱动模块对HDI层提供的能力接口,主要功能有:创建/销毁 +## 开发指导 + +WLAN驱动基于HDF框架和PLATFORM框架开发,不区分OS和芯片平台,为不同厂商的WLAN模组提供统一的驱动模型,各WLAN模组厂商根据如下指导适配WLAN驱动框架。 + +### 开发步骤 + +1. 通过wifi\_config.hcs文件,配置硬件参数:module\(不同feature\),芯片等。 +2. 解析配置文件, 生成全量配置的结构体对象。 +3. Module初始化,创建Module。 +4. 挂接chip,初始化chip。 +5. 总线初始化。 +6. 上层wpa业务挂接。 + +>![](../public_sys-resources/icon-note.gif) **说明:** +>以上驱动框架适配步骤一部分已经提供(详细见开发实例),待开发人员实现的部分有:1、根据硬件,修改配置参数;2、适配挂接chip;3、测试自验证。 + +## 开发实例 + +本例程提供WLAN模块初始化过程的完整使用流程。示例如下(以hi3881WLAN芯片为例): + +1、根据硬件,修改配置参数。 + +``` +/* 根据硬件参数,通过wlan_platform.hcs配置相关参数,以下是WLAN平台配置的示例 */ +hisi :& deviceList { + device0 :: deviceInst { + deviceInstId = 0; + powers { + power0 { + powerSeqDelay = 0; /* 电源序列延时 */ + powerType = 1; /* 电源类型:0--总是打开;1--GPIO */ + gpioId = 1; /* GPIO管脚号 */ + activeLevel=1; /* 有效电平:0--低;1--高 */ + } + power1 { + powerSeqDelay = 0; /* 电源序列延时 */ + powerType = 0; /* 电源类型:0--总是打开;1--GPIO */ + } + } + reset { + resetType = 0; /* 复位类型:0--不管理;1--GPIO */ + gpioId = 2; /* GPIO管脚号 */ + activeLevel=1; /* 有效电平:0--低;1--高 */ + resetHoldTime = 30; /* 复位配置后的等待时间(ms) */ + } + bootUpTimeout = 30; /* 启动超时时间(ms) */ + bus { + busType = 0; /* 总线类型:0-sdio */ + busId = 2; /* 总线号 */ + funcNum = [1]; /* SDIO功能号 */ + timeout = 1000; /* 读/写数据的超时时间 */ + blockSize = 512; /* 读/写数据的块大小 */ + } + } +} +/* 每一块芯片添加配置文件wlan_chip_<芯片名>.hcs(如:wlan_chip_hi3881.hcs),配置相关参数。以下是hi3881的配置示例 */ +root { + wlan_config { + hi3881 :& chipList { + chipHi3881 :: chipInst { + match_attr = "hdf_wlan_chips_hi3881"; /* 配置匹配标识 */ + chipName = "hi3881"; /* WLAN芯片的名称 */ + sdio { + vendorId = 0x0296; /* 厂商Id */ + deviceId = [0x5347]; /* 设备Id */ + } + } + } + } +} +``` + +2、适配挂接WLAN芯片的初始化和去初始化、WLAN芯片驱动的初始化和去初始化 + +``` +/* WLAN初始化挂接流程 */ +#include "hdf_device_desc.h" +#include "hdf_wifi_product.h" +#include "hdf_log.h" +#include "osal_mem.h" +#include "hdf_wlan_chipdriver_manager.h" +#include "securec.h" +#include "wifi_module.h" +#include "hi_wifi_api.h" +#include "hi_types_base.h" + +#define HDF_LOG_TAG Hi3881Driver + +/* WLAN芯片的初始化和去初始化函数 */ +int32_t InitHi3881Chip(struct HdfWlanDevice *device); +int32_t DeinitHi3881Chip(struct HdfWlanDevice *device); +/* WLAN芯片驱动的初始化和去初始化函数 */ +int32_t Hi3881Deinit(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); +int32_t Hi3881Init(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); + +/* 初始化mac80211与芯片侧的函数挂接 */ +hi_void HiMac80211Init(struct HdfChipDriver *chipDriver); + +static const char* const HI3881_DRIVER_NAME = "hisi"; + +/* WLAN芯片驱动挂接以及mac80211与芯片侧的函数挂接 */ +static struct HdfChipDriver *BuildHi3881Driver(struct HdfWlanDevice *device, uint8_t ifIndex) +{ + struct HdfChipDriver *specificDriver = NULL; + if (device == NULL) { + HDF_LOGE("%s fail : channel is NULL", __func__); + return NULL; + } + (void)device; + (void)ifIndex; + specificDriver = (struct HdfChipDriver *)OsalMemCalloc(sizeof(struct HdfChipDriver)); + if (specificDriver == NULL) { + HDF_LOGE("%s fail: OsalMemCalloc fail!", __func__); + return NULL; + } + if (memset_s(specificDriver, sizeof(struct HdfChipDriver), 0, sizeof(struct HdfChipDriver)) != EOK) { + HDF_LOGE("%s fail: memset_s fail!", __func__); + OsalMemFree(specificDriver); + return NULL; + } + + if (strcpy_s(specificDriver->name, MAX_WIFI_COMPONENT_NAME_LEN, HI3881_DRIVER_NAME) != EOK) { + HDF_LOGE("%s fail : strcpy_s fail", __func__); + OsalMemFree(specificDriver); + return NULL; + } + specificDriver->init = Hi3881Init; + specificDriver->deinit = Hi3881Deinit; + + HiMac80211Init(specificDriver); + + return specificDriver; +} + +/* 释放WLAN芯片驱动 */ +static void ReleaseHi3881Driver(struct HdfChipDriver *chipDriver) +{ + if (chipDriver == NULL) { + return; + } + if (strcmp(chipDriver->name, HI3881_DRIVER_NAME) != 0) { + HDF_LOGE("%s:Not my driver!", __func__); + return; + } + OsalMemFree(chipDriver); +} + +static uint8_t GetHi3881GetMaxIFCount(struct HdfChipDriverFactory *factory) { + (void)factory; + return 1; +} + +/* WLAN芯片相关函数的注册 */ +static int32_t HDFWlanRegHisiDriverFactory(void) +{ + static struct HdfChipDriverFactory tmpFactory = { 0 }; + struct HdfChipDriverManager *driverMgr = NULL; + driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr == NULL && driverMgr->RegChipDriver != NULL) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + tmpFactory.driverName = HI3881_DRIVER_NAME; + tmpFactory.GetMaxIFCount = GetHi3881GetMaxIFCount; + tmpFactory.InitChip = InitHi3881Chip; + tmpFactory.DeinitChip = DeinitHi3881Chip; + tmpFactory.Build = BuildHi3881Driver; + tmpFactory.Release = ReleaseHi3881Driver; + tmpFactory.ReleaseFactory = NULL; + if (driverMgr->RegChipDriver(&tmpFactory) != HDF_SUCCESS) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; +} + +static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) +{ + (void)device; + return HDFWlanRegHisiDriverFactory(); +} + +struct HdfDriverEntry g_hdfHisiChipEntry = { + .moduleVersion = 1, + .Init = HdfWlanHisiChipDriverInit, + .moduleName = "HDF_WLAN_CHIPS" +}; + +HDF_INIT(g_hdfHisiChipEntry); +``` + +``` +#include "hdf_wifi_product.h" +#include "hi_wifi_api.h" +#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) +#include "oal_thread.h" +#include "osal_time.h" +#endif +#include "wifi_mac80211_ops.h" +#include "wal_cfg80211.h" +#include "net_adpater.h" +#include "hdf_wlan_utils.h" + +#define HDF_LOG_TAG Hi3881Driver + +/* WLAN芯片的初始化函数 */ +int32_t InitHi3881Chip(struct HdfWlanDevice *device) +{ + uint8_t maxPortCount = 1; + int32_t ret = HI_SUCCESS; + uint8_t maxRetryCount = 2; + if (device == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + + do { + if (ret != HI_SUCCESS) { + if (device->reset != NULL && device->reset->Reset != NULL) { + device->reset->Reset(device->reset); + } + HDF_LOGE("%s:Retry init hi3881!last ret=%d", __func__, ret); + } + ret = hi_wifi_init(maxPortCount); + } while (ret != 0 && --maxRetryCount > 0); + + if (ret != 0) { + HDF_LOGE("%s:Init hi3881 driver failed!", __func__); + return ret; + } + return HI_SUCCESS; +} + +/* WLAN芯片的去初始化函数 */ +int32_t DeinitHi3881Chip(struct HdfWlanDevice *device) +{ + (void)device; + int32_t ret = hi_wifi_deinit(); + if (ret != 0) { + HDF_LOGE("%s:Deinit failed!ret=%d", __func__, ret); + } + return ret; +} + +/* WLAN芯片驱动的初始化函数 */ +int32_t Hi3881Init(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) +{ + HDF_LOGI("%s: start...", __func__); + hi_u16 mode = wal_get_vap_mode(); + int32_t ret; + nl80211_iftype_uint8 type; + (void)chipDriver; + + if (mode >= WAL_WIFI_MODE_BUTT) { + oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); + return HI_FAIL; + } + + if (mode == WAL_WIFI_MODE_STA) { + type = NL80211_IFTYPE_STATION; + } else if (mode == WAL_WIFI_MODE_AP) { + type = NL80211_IFTYPE_AP; + } else { + oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); + return HI_FAIL; + } + + ret = wal_init_drv_wlan_netdev(type, WAL_PHY_MODE_11N, netDevice); + if (ret != HI_SUCCESS) { + oam_error_log2(0, OAM_SF_ANY, "wal_init_drv_netdev %s failed.l_return:%d\n", netDevice->name, ret); + } + return ret; +} + +/* WLAN芯片驱动的去初始化函数 */ +int32_t Hi3881Deinit(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) +{ + (void)chipDriver; + int32_t ret = wal_deinit_drv_wlan_netdev(netDevice); + if (ret != HDF_SUCCESS) { + return ret; + } + return ReleasePlatformNetDevice(netDevice); +} +``` + +3、在芯片侧初始化过程中调用netdev的init和add接口进行初始化netdev,并挂接netdev的一些函数指针 + +``` +hi_s32 wal_init_drv_wlan_netdev(nl80211_iftype_uint8 type, wal_phy_mode mode, hi_char* ifname, hi_u32* len) +{ + oal_net_device_stru *netdev = HI_NULL; + + ...... + /* 初始化网络设备,获取对应的实例。*/ + netdev = NetDeviceInit(ifname, *len, LITE_OS); + oal_wireless_dev *wdev = (oal_wireless_dev *)oal_mem_alloc(OAL_MEM_POOL_ID_LOCAL, sizeof(oal_wireless_dev)); + ret = wal_init_netif(type, netdev, wdev); + + ...... + + return HI_SUCCESS; +} +/* 挂接netdev的一些函数指针,详细挂接函数{@link NetDeviceInterFace} */ +oal_net_device_ops_stru g_wal_net_dev_ops = +{ + .getStats = wal_netdev_get_stats, + .open = wal_netdev_open, + .stop = wal_netdev_stop, + .xmit = hmac_bridge_vap_xmit, + .ioctl = wal_net_device_ioctl, + .changeMtu = oal_net_device_change_mtu, + .init = oal_net_device_init, + .deInit = oal_net_free_netdev, +#if (defined(_PRE_WLAN_FEATURE_FLOWCTL) || defined(_PRE_WLAN_FEATURE_OFFLOAD_FLOWCTL)) + .selectQueue = wal_netdev_select_queue, +#endif + .setMacAddr = wal_netdev_set_mac_addr, +#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) + .netifNotify = HI_NULL, +#endif + .specialEtherTypeProcess = SpecialEtherTypeProcess, +}; + +hi_s32 wal_init_netif(nl80211_iftype_uint8 type, oal_net_device_stru *netdev, const oal_wireless_dev *wdev) +{ + /* 添加网络设备到协议栈 */ + hi_u32 ret = NetDeviceAdd(netdev, (Protocol80211IfType)type); + + ...... + + return HI_SUCCESS; +} +``` + +4、WifiMac80211Ops中的函数挂接实现。 + +``` +/* 挂接mac80211的一些函数指针 */ + +/* 驱动需要实现的MAC层基本能力的控制接口 */ +static struct HdfMac80211BaseOps g_baseOps = { + .SetMode = WalSetMode, + .AddKey = WalAddKey, + .DelKey = WalDelKey, + .SetDefaultKey = WalSetDefaultKey, + .GetDeviceMacAddr = WalGetDeviceMacAddr, + .SetMacAddr = WalSetMacAddr, + .SetTxPower = WalSetTxPower, + .GetValidFreqsWithBand = WalGetValidFreqsWithBand, + .GetHwCapability = WalGetHwCapability +}; + +/* 驱动需要实现的MAC层STA能力的控制接口 */ +static struct HdfMac80211STAOps g_staOps = { + .Connect = WalConnect, + .Disconnect = WalDisconnect, + .StartScan = WalStartScan, + .AbortScan = WalAbortScan, + .SetScanningMacAddress = WalSetScanningMacAddress, +}; + +/* 驱动需要实现的MAC层AP能力的控制接口 */ +static struct HdfMac80211APOps g_apOps = { + .ConfigAp = WalConfigAp, + .StartAp = WalStartAp, + .StopAp = WalStopAp, + .ConfigBeacon = WalChangeBeacon, + .DelStation = WalDelStation, + .SetCountryCode = WalSetCountryCode, + .GetAssociatedStasCount = WalGetAssociatedStasCount, + .GetAssociatedStasInfo = WalGetAssociatedStasInfo +}; + +/* 初始化mac80211与芯片侧的函数挂接 */ +hi_void HiMac80211Init(struct HdfChipDriver *chipDriver) +{ + if (chipDriver == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:input is NULL!", __func__); + return; + } + chipDriver->ops = &g_baseOps; + chipDriver->staOps = &g_staOps; + chipDriver->apOps = &g_apOps; +} +``` + diff --git "a/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\345\256\236\344\276\213.md" b/zh-cn/device-dev/driver/drive-peripherals-lcd-des.md old mode 100755 new mode 100644 similarity index 66% rename from "zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\345\256\236\344\276\213.md" rename to zh-cn/device-dev/driver/drive-peripherals-lcd-des.md index 6de19704008..1e195e52dba --- "a/zh-cn/device-dev/driver/LCD\345\274\200\345\217\221\345\256\236\344\276\213.md" +++ b/zh-cn/device-dev/driver/drive-peripherals-lcd-des.md @@ -1,4 +1,76 @@ -# LCD开发实例 +# LCD + +- [概述](#section141575391542) + - [接口说明](#section14711163785519) + +- [开发指导](#section12394223125615) + - [开发步骤](#section515923045814) + +- [开发实例](#section7441155155813) + +## 概述 + +LCD(Liquid Crystal Display)液晶显示驱动,对LCD进行上电,并通过接口初始化LCD内部寄存器,使LCD正常工作。Display驱动模型基于HDF( Hardware Driver Foundation)[驱动框架](drive-hdf-overview.md)开发,实现跨OS、跨平台,为LCD硬件提供上下电功能、发送初始化序列功能,使LCD进入正常的工作模式,显示芯片平台侧的图像数据,基于HDF驱动框架的Display驱动模型如[图1](#fig69138814229)。 + +**图 1** 基于HDF驱动框架的Display驱动模型 +![](figure/基于HDF驱动框架的Display驱动模型.png "基于HDF驱动框架的Display驱动模型") + +- **Display驱动模型介绍** + + Display驱动模型主要由平台驱动层、芯片平台适配层、LCD器件驱动层三部分组成。驱动模型基于HDF驱动框架开发,通过Platform层和OSAL层提供的接口,屏蔽内核形态的差异,使得器件驱动可以便利的迁移到不同OS及芯片平台。模型向上对接Display公共hal层,支撑HDI接口的实现,通过Display-HDI(Hardware Display Interface)对图形服务提供各类驱动能力接口。 + + (1)Display平台驱动层:通过HDF提供的IOService数据通道,与公共Hal层对接,集中接收并处理各类上层调用指令; + + (2)SOC平台驱动适配层:借助此SOC适配层,实现Display驱动和SOC侧驱动解耦,主要完成芯片平台相关的参数配置,并传递平台驱动层的调用到器件驱动层; + + (3)LCD器件驱动层:在器件驱动层中,主要实现和器件自身强相关的驱动适配接口,例如发送初始化序列、上下电、背光设置等。 + + 基于Display驱动模型开发LCD驱动,可以借助平台提供的各种能力及接口,较大程度的降低器件驱动的开发周期和难度,提升开发效率。 + + +### 接口说明 + +LCD接口通常可分为MIPI DSI接口、TTL接口和LVDS接口,常用的是MIPI DSI接口和TTL接口,下面对常用的MIPI DSI接口和TTL接口作简要介绍。 + +- MIPI DSI接口 + + **图 2** MIPI DSI接口 + ![](figure/MIPI-DSI接口.png "MIPI-DSI接口") + + MIPI DSI接口是MIPI(移动行业处理器接口)联盟定义的显示接口,主要用于移动终端显示屏接口,接口数据传输遵循MIPI协议,MIPI DSI接口为数据接口,传输图像数据,通常情况下MIPI DSI接口的控制信息以MIPI包形式通过MIPI DSI接口发送到对端IC,不需要额外的外设接口。 + +- TTL接口 + + **图 3** TTL接口 + ![](figure/TTL接口.png "TTL接口") + + TTL(Transistor Transistor Logic)即晶体管-晶体管逻辑,TTL电平信号由TTL器件产生,TTL器件是数字集成电路的一大门类,它采用双极型工艺制造,具有高速度、低功耗和品种多等特点。 + + TTL接口是并行方式传输数据的接口,有数据信号、时钟信号和控制信号(行同步、帧同步、数据有效信号等),在控制信号控制下完成数据传输。通常TTL接口的LCD,内部寄存器读写需要额外的外设接口,比如SPI接口、I2C接口等。 + + +## 开发指导 + +Display驱动模型基于HDF驱动框架、Platform接口及OSAL接口开发,可以做到不区分OS(LiteOS、Linux)和芯片平台(Hi35xx、Hi38xx、V3S等),为LCD器件提供统一的驱动模型。 + +### 开发步骤 + +1. 添加LCD驱动相关的设备描述配置。 +2. 在SOC平台驱动适配层中适配对应的芯片平台驱动。 +3. 添加器件驱动,并在驱动入口函数Init中注册Panel驱动数据,驱动数据接口主要包括如下接口: + - LCD上下电 + + 根据LCD硬件连接,使用Platform接口层提供的GPIO操作接口操作对应LCD管脚,例如复位管脚、IOVCC管脚,上电时序参考LCD供应商提供的SPEC。 + + - 发送初始化序列 + + 根据LCD硬件接口,使用Platform接口层提供的I2C、SPI、MIPI等接口,下载LCD初始化序列,初始化参数序列可以参考LCD供应商提供的SPEC。 + + +4. 根据需求实现HDF框架其他接口,比如Release接口。 +5. 根据需求使用HDF框架可创建其他设备节点,用于业务逻辑或者调试功能。 + +## 开发实例 添加设备描述配置: diff --git "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\246\202\350\277\260.md" b/zh-cn/device-dev/driver/drive-peripherals-sensor-des.md old mode 100755 new mode 100644 similarity index 46% rename from "zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\246\202\350\277\260.md" rename to zh-cn/device-dev/driver/drive-peripherals-sensor-des.md index 6319a9086c6..b471e331241 --- "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/driver/drive-peripherals-sensor-des.md @@ -1,14 +1,20 @@ -# 传感器驱动开发概述 +# SENSOR -- [简介](#section667413271505) -- [接口说明](#section7255104114110) +- [概述](#section3634112111) + - [接口说明](#section188213414114) -## 简介 +- [开发指导](#section1140943382) + - [开发步骤](#section7893102915819) + +- [开发实例](#section257750691) +- [测试指导](#section106021256121219) + +## 概述 Sensor(传感器)驱动模块为上层Sensor服务系统提供稳定的Sensor基础能力API,包括Sensor列表查询、Sensor启停、Sensor订阅及去订阅,Sensor参数配置等功能;基于HDF(**H**ardware **D**river **F**oundation)驱动框架开发的Sensor驱动模型,实现跨操作系统迁移,器件差异配置等功能。Sensor驱动模型如下图1所示: **图 1** Sensor驱动模型图 -![](figures/Sensor驱动模型图.png "Sensor驱动模型图") +![](figure/Sensor驱动模型图.png "Sensor驱动模型图") Sensor驱动模型对外开放的API接口能力如下: @@ -16,7 +22,7 @@ Sensor驱动模型对外开放的API接口能力如下: - 提供Sensor驱动模型能力接口:依赖HDF驱动框架实现Sensor器件驱动的注册,加载,去注册,器件探测等能力,提供同一类型Sensor器件驱动归一接口, 寄存器配置解析操作接口,总线访问抽象接口,平台抽象接口。 - 提供开发者实现的能力接口:依赖HDF驱动框架的HCS\(**H**DF **C**onfiguration **S**ource\)配置管理,根据同类型Sensor差异化配置,实现Sensor器件参数序列化配置和器件部分操作接口,简化Sensor器件驱动开发。 -## 接口说明 +### 接口说明 Sensor驱动模型对HDI开放的API接口功能,参考表1。 @@ -240,5 +246,684 @@ Sensor驱动模型要求驱动开发者实现的接口功能,参考表3 -接口实现参考[SENSOR](传感器驱动开发实例.md)章节。 +接口实现参考[SENSOR](#section257750691)章节。 + +## 开发指导 + +Sensor驱动是基于HDF框架、PLATFORM和OSAL基础接口进行开发,不区分操作系统和芯片平台,为不同Sensor器件提供统一的驱动模型。本篇开发指导以加速度计传感器为例,介绍传感器驱动开发。 + +### 开发步骤 + +1. 加速度计传感器驱动注册。HDF驱动框架会提供统一的驱动管理模型,通过加速计传感器模块配置信息,识别并加载对应模块驱动。 +2. 加速度计传感器驱动初始化和去初始化。HDF驱动框架通过init入口函数,依次启动传感器设备驱动加载和分配传感器设备数据配置资源。HDF驱动框架通过release函数,释放驱动加载的资源和配置。 +3. 加速度计传感器寄存器组配置解析。不同类型传感器需要在hcs里配置器件对应的HCS配置文件,然后再设备驱动启动过程中探测器件是否在位,然后加载对应的配置文件,生成配置的结构体对象。 +4. 加速度计传感器驱动操作接口实现。实现各个类型传感器归一化驱动接口,如init,GetInfo,Enable,Disable,SetBatch,SetMode,SetOption,ReadSensorData等函数,完成传感器驱动配置下发和数据上报功能。 + +>![](../public_sys-resources/icon-note.gif) **说明:** +>传感器驱动模型已经提供一部分能力集,包括驱动设备管理能力,抽象总线和平台操作接口能力,通用配置操作接口能力,配置解析操作接口能力,接口参考[表2](#table1156812588320)。需要开发人员实现部分有:1、传感器部分操作接口([表3](#table1083014911336));2、传感器HCS差异化数据配置;3、驱动基本功能验证。 + +## 开发实例 + +基于HDF驱动模型,加载启动加速度计传感器驱动,代码形式如下,具体原理可参考[HDF驱动开发指南](drive-hdf-development.md)。加速度传感器选择通讯接口方式为I2C,厂家选择博世BMI160加速度传感器。 + +1. 加速度计传感器驱动入口注册 + +- 加速度计传感器驱动入口函数实现 + +``` +/* 注册加速度计传感器入口数据结构体对象 */ +struct HdfDriverEntry g_sensorAccelDevEntry = { + .moduleVersion = 1, /* 加速度计传感器模块版本号 */ + .moduleName = "HDF_SENSOR_ACCEL", /* 加速度计传感器模块名,要与device_info.hcs文件里的加速度计moduleName字段值一样*/ + .Bind = BindAccelDriver, /* 加速度计传感器绑定函数 */ + .Init = InitAccelDriver, /* 加速度计传感器初始化函数 */ + .Release = ReleaseAccelDriver, /* 加速度计传感器资源释放函数 */ +}; + +/* 调用HDF_INIT将驱动入口注册到HDF框架中,在加载驱动时HDF框架会先调用Bind函数,再调用Init函数加载该驱动,当Init调用异常时,HDF框架会调用Release释放驱动资源并退出 */ +HDF_INIT(g_sensorAccelDevEntry); +``` + +- 加速度计传感器设备配置描述 + +加速度传感器模型使用HCS作为配置描述源码,HCS配置字段详细介绍参考[配置管理](drive-hdf-manage.md)介绍。 + +``` +/* 加速度计传感器设备HCS配置 */ +device_sensor_accel :: device { + device0 :: deviceNode { + policy = 1; /* policy字段是驱动服务发布的策略 */ + priority = 105; /* 驱动启动优先级(0-200),值越大优先级越低,建议默认配100,优先级相同则不保证device的加载顺序 */ + preload = 2; /* 驱动按需加载字段,0表示加载,2表示不加载 */ + permission = 0664; /* 驱动创建设备节点权限 */ + moduleName = "HDF_SENSOR_ACCEL"; /* 驱动名称,该字段的值必须和驱动入口结构的moduleName值一致 */ + serviceName = "sensor_accel"; /* 驱动对外发布服务的名称,必须唯一 */ + deviceMatchAttr = "hdf_sensor_accel_driver"; /* 驱动私有数据匹配的关键字,必须和驱动私有数据配置表中的match_attr值相等 */ + } +} +``` + +1. 加速度计传感器驱动初始化和去初始化 + +- 初始化入口函数init + +``` +/* 加速度计传感器驱动对外提供的服务绑定到HDF框架 */ +int32_t BindAccelDriver(struct HdfDeviceObject *device) +{ + CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); + + static struct IDeviceIoService service = { + .object = {0}, + .Dispatch = DispatchAccel, + }; + device->service = &service; + + return HDF_SUCCESS; +} +/*在探测到器件在位后,需要调用RegisterAccelChipOps注册差异化适配函数*/ +int32_t RegisterAccelChipOps(struct AccelOpsCall *ops) +{ + struct AccelDrvData *drvData = NULL; + + CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); + + drvData = AccelGetDrvData(); + drvData->ops.Init = ops->Init; + drvData->ops.ReadData = ops->ReadData; + return HDF_SUCCESS; +} +/* 挂载加速度计传感器驱动归一化的接口函数 */ +static int32_t InitAccelOps(struct SensorDeviceInfo *deviceInfo) +{ + struct AccelDrvData *drvData = AccelGetDrvData(); + + (void)memset_s((void *)deviceInfo, sizeof(*deviceInfo), 0, sizeof(*deviceInfo)); + deviceInfo->ops.GetInfo = SetAccelInfo; + deviceInfo->ops.Enable = SetAccelEnable; + deviceInfo->ops.Disable = SetAccelDisable; + deviceInfo->ops.SetBatch = SetAccelBatch; + deviceInfo->ops.SetMode = SetAccelMode; + deviceInfo->ops.SetOption = SetAccelOption; + + if (memcpy_s(&deviceInfo->sensorInfo, sizeof(deviceInfo->sensorInfo), + &drvData->accelCfg->sensorInfo, sizeof(drvData->accelCfg->sensorInfo)) != EOK) { + HDF_LOGE("%s: copy sensor info failed", __func__); + return HDF_FAILURE; + } + /* 传感器类型标识可以在数据HCS配置文件里面配置,也可以在此处 */ + drvData->accelCfg->sensorInfo.sensorTypeId = SENSOR_TAG_ACCELEROMETER; + drvData->accelCfg->sensorInfo.sensorId = SENSOR_TAG_ACCELEROMETER; + + return HDF_SUCCESS; +} +/* 传感器寄存器初始化操作 */ +static int32_t InitAccelAfterConfig(void) +{ + struct SensorDeviceInfo deviceInfo; + + if (InitAccelConfig() != HDF_SUCCESS) { + HDF_LOGE("%s: init accel config failed", __func__); + return HDF_FAILURE; + } + + if (InitAccelOps(&deviceInfo) != HDF_SUCCESS) { + HDF_LOGE("%s: init accel ops failed", __func__); + return HDF_FAILURE; + } + + if (AddSensorDevice(&deviceInfo) != HDF_SUCCESS) { + HDF_LOGE("%s: add accel device failed", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; +} +/*通过器件探测函数,挂载器件差异化函数接口*/ +static int32_t DetectAccelChip(void) +{ + int32_t num; + int32_t ret; + int32_t loop; + struct AccelDrvData *drvData = AccelGetDrvData(); + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + + num = sizeof(g_accelDetectIfList) / sizeof(g_accelDetectIfList[0]); + for (loop = 0; loop < num; ++loop) { + if (g_accelDetectIfList[loop].DetectChip != NULL) { + ret = g_accelDetectIfList[loop].DetectChip(drvData->accelCfg); + if (ret == HDF_SUCCESS) { + drvData->detectFlag = true; + break; + } + } + } + + if (loop == num) { + HDF_LOGE("%s: detect accel device failed", __func__); + drvData->detectFlag = false; + return HDF_FAILURE; + } + return HDF_SUCCESS; +} +/* 加速度计传感器驱动初始化入口函数,主要功能为对传感器私有数据的结构体对象进行初始化,传感器HCS数据配置对象空间分配,传感器HCS数据配置初始化入口函数调用,传感器设备探测是否在位功能,传感器数据上报定时器创建,传感器归一化接口挂载,传感器设备注册功能 */ +int32_t InitAccelDriver(struct HdfDeviceObject *device) +{ + /* 获取传感器私有数据结构体对象 */ + struct AccelDrvData *drvData = AccelGetDrvData(); + + /* 同类型传感器不同厂家设备探测时,判断此类型传感器是否已经在位,若已经在位,无需再继续探测,直接返回 */ + if (drvData->detectFlag) { + HDF_LOGE("%s: accel sensor have detected", __func__); + return HDF_SUCCESS; + } + + CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); + /* 分配存放传感器数据配置的私有结构体数据对象,需要在驱动释放时释放分配的资源空间 */ + drvData->accelCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*cfg)); + if (drvData->accelCfg == NULL) { + HDF_LOGE("%s: malloc sensor config data failed", __func__); + return HDF_FAILURE; + } + + drvData->accelCfg->regCfgGroup = &g_regCfgGroup[0]; + /* 初始化传感器配置数据主要是解析传感器通讯总线配置类型信息,传感器基本信息,传感器属性信息,传感器是否在位信息,寄存器分组信息 */ + if (GetSensorBaseConfigData(device->property, drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: get sensor base config failed", __func__); + goto Base_CONFIG_EXIT; + } + + if (DetectAccelChip() != HDF_SUCCESS) { + HDF_LOGE("%s: accel sensor detect device no exist", __func__); + goto DETECT_CHIP_EXIT; + } + drvData->detectFlag = true; + if (ParseSensorRegConfig(drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: detect sensor device failed", __func__); + goto REG_CONFIG_EXIT; + } + + if (InitAccelAfterConfig() != HDF_SUCCESS) { + HDF_LOGE("%s: init accel after config failed", __func__); + goto INIT_EXIT; + } + + HDF_LOGI("%s: init accel driver success", __func__); + return HDF_SUCCESS; + +INIT_EXIT: + DestroySensorThread(&drvData->thread, &drvData->threadStatus); + (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); +REG_CONFIG_EXIT: + ReleaseSensorAllRegConfig(drvData->accelCfg); + (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); +DETECT_CHIP_EXIT: + drvData->detectFlag = false; +BASE_CONFIG_EXIT: + drvData->accelCfg->root = NULL; + drvData->accelCfg->regCfgGroup = NULL; + OsalMemFree(drvData->accelCfg); + drvData->accelCfg = NULL; + return HDF_FAILURE; +} + +/* 释放驱动初始化时分配的资源 */ +void ReleaseAccelDriver(struct HdfDeviceObject *device) +{ + (void)device; + struct AccelDrvData *drvData = NULL; + + drvData = AccelGetDrvData(); + (void)DestroySensorThread(&drvData->thread, &drvData->threadStatus); + (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); + drvData->detectFlag = false; + + if (drvData->accelCfg != NULL) { + drvData->accelCfg->root = NULL; + drvData->accelCfg->regCfgGroup = NULL; + ReleaseSensorAllRegConfig(drvData->accelCfg); + (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); + OsalMemFree(drvData->accelCfg); + drvData->accelCfg = NULL; + } + + drvData->initStatus = false; +} +``` + +1. 加速度计传感器寄存器组配置信息 + +加速度计传感器数据配置只需要按照模板配置即可,基于模板配置的解析功能已经在**InitSensorConfigData**函数完成,只需初始化时调用即可。如果有新增配置项,需要同步修改此函数。 + +``` +加速度传感器数据配置模板(accel_config.hcs) +root { + sensorAccelConfig { + accelChipConfig { + /* 传感器设备信息模板 */ + template sensorInfo { + sensorName = "accelerometer"; /* 加速度计名字,字符最大长度16字节 */ + vendorName = "borsh_bmi160"; /* 传感器设备厂商,字符最大长度16字节 */ + firmwareVersion = "1.0"; /* 传感器固件版本号,默认1.0,字符最大长度16字节 */ + hardwareVersion = "1.0"; /* 传感器硬件版本号,默认1.0,字符最大长度16字节 */ + sensorTypeId = 1; /* 传感器类型编号,详见{@link SensorTypeTag} */ + sensorId = 1; /* 传感器的标识号,有传感器驱动开发者定义,推荐用{@link SensorTypeTag}枚举 */ + maxRange = 8; /* 传感器的最大量程,根据开发者需要配置 */ + precision = 0; /* 传感器的精度,与上报数据配合使用,上报数据结构体{@link SensorEvents } */ + power = 230; /* 传感器的功耗 */ + } + /* 传感器使用的总线类型和配置信息模板 */ + template sensorBusConfig { + busType = 0; /* 0:i2c 1:spi */ + busNum = 6; /* 芯片上分配给传感器的器件号 */ + busAddr = 0; /* 芯片上分配给传感器的地址 */ + regWidth = 1; /* 传感器寄存器地址宽度 */ + regBigEndian = 0; /* 传感器寄存器大小端 */ + } + /* 传感器设备属性模板 */ + template sensorAttr { + chipName = ""; /* 传感器芯片名字 */ + chipIdRegister = 0xf; /* 传感器在位检测寄存器地址 */ + chipIdValue = 0xd1; /* 校验传感器在位检测寄存器值 */ + } + } + } +} + +/* 根据不同器件硬件差异,修改模板配置,不修改的就会默认采用模板配置 */ +root { + sensorAccelConfig { + accel_bmi160_chip_config : accelChipConfig { + match_attr = "hdf_sensor_accel_driver"; /* 需要和加速度传感器设备配置match_attr字段保持一致 */ + accelInfo :: sensorInfo { + vendorName = "borsh_bmi160"; + sensorTypeId = 1; + sensorId = 1; + } + accelBusConfig :: sensorBusConfig { + busType = 0; /* i2c通讯方式 */ + busNum = 6; + busAddr = 0x68; + regWidth = 1; /* 1字节位宽 */ + } + accelAttr :: sensorAttr { + chipName = "bmi160"; + chipIdRegister = 0x00; + chipIdValue = 0xd1; + } + accelRegConfig { + /* regAddr: 寄存器地址 + value: 寄存器值 + mask: 寄存器值的掩码 + len: 寄存器值的数据长度(字节) + delay: 配置寄存器延时(ms) + opsType:操作类型 0-无 1-读 2-写 3-读并检查 4-位更新 + calType: 计算类型 0-无 1-写 2-取反 3-异或 4-左移 5-右移 + shiftNum: 移动位数 + debug: 调试开关,0-调试关闭 1-调试打开 + save: 保存数据开关,0-不保存数据 1-保存数据 + */ + /* 传感器寄存器操作分组,按照分组进行有序配置 */ + /* 寄存器地址, 寄存器值, 寄存器值的掩码, 寄存器值的数据长度, 配置寄存器延时, 操作类型, 计算类型, 移动位数, 调试开关, 保存开关 */ + /* 初始化寄存器组 */ + initSeqConfig = [ + 0x7e, 0xb6, 0xff, 1, 5, 2, 0, 0, 0, 0, + 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 + ]; + /* 使能寄存器组 */ + enableSeqConfig = [ + 0x7e, 0x11, 0xff, 1, 5, 2, 0, 0, 0, 0, + 0x41, 0x03, 0xff, 1, 0, 2, 0, 0, 0, 0, + 0x40, 0x08, 0xff, 1, 0, 2, 0, 0, 0, 0 + ]; + /* 去使能寄存器组 */ + disableSeqConfig = [ + 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 + ]; + } + } + } +} +``` + +1. 加速度计传感器驱动操作接口实现 + +开发者需要根据每种类型的传感器实现归一化接口。 + +``` +/* 不使用函数暂时置空 */ +static int32_t SetAccelInfo(struct SensorBasicInfo *info) +{ + (void)info; + + return HDF_ERR_NOT_SUPPORT; +} +/* 下发使能寄存器组的配置 */ +static int32_t SetAccelEnable(void) +{ + int32_t ret; + struct AccelDrvData *drvData = AccelGetDrvData(); + + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel sensor disable config failed", __func__); + return HDF_FAILURE; + } + + drvData->threadStatus = SENSOR_THREAD_RUNNING; + + return HDF_SUCCESS; +} +/* 下发去使能寄存器组的配置 */ +static int32_t SetAccelDisable(void) +{ + int32_t ret; + struct AccelDrvData *drvData = AccelGetDrvData(); + + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + + ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel sensor disable config failed", __func__); + return HDF_FAILURE; + } + + drvData->threadStatus = SENSOR_THREAD_STOPPED; + + return HDF_SUCCESS; +} +/* 配置传感器采样率和数据上报间隔 */ +static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) +{ + (void)interval; + + struct AccelDrvData *drvData = AccelGetDrvData(); + drvData->interval = samplingInterval; + + return HDF_SUCCESS; +} +/* 设置传感器工作模式,当前支持实时模式 */ +static int32_t SetAccelMode(int32_t mode) +{ + return (mode == SENSOR_WORK_MODE_REALTIME) ? HDF_SUCCESS : HDF_FAILURE; +} +/* 设置传感器可选配置 */ +static int32_t SetAccelOption(uint32_t option) +{ + (void)option; + return HDF_ERR_NOT_SUPPORT; +} +``` + +- 差异化处理接口 + + ``` + /* 器件探测时,如果探测成功,则注册差异化处理函数到accel驱动模型里 */ + int32_t DetectAccelBim160Chip(struct SensorCfgData *data) + { + int32_t ret; + struct AccelOpsCall ops; + CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); + + if (strcmp(ACCEL_CHIP_NAME_BMI160, data->sensorAttr.chipName) != 0) { + return HDF_SUCCESS; + } + ret = InitAccelPreConfig(); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: init BMI160 bus mux config", __func__); + return HDF_FAILURE; + } + if (DetectSensorDevice(data) != HDF_SUCCESS) { + return HDF_FAILURE; + } + + /* 差异化处理函数 */ + ops.Init = InitBmi160; + ops.ReadData = ReadBmi160Data; + ret = RegisterAccelChipOps(&ops); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: register BMI160 accel failed", __func__); + (void)ReleaseSensorBusHandle(&data->busCfg); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + /* 初始化处理函数 */ + static int32_t InitBmi160(struct SensorCfgData *data) + { + int32_t ret; + + CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); + ret = SetSensorRegCfgArray(&data->busCfg, data->regCfgGroup[SENSOR_INIT_GROUP]); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: bmi160 sensor init config failed", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + /* 数据处理函数 */ + int32_t ReadBmi160Data(struct SensorCfgData *data) + { + int32_t ret; + struct AccelData rawData = { 0, 0, 0 }; + int32_t tmp[ACCEL_AXIS_NUM]; + struct SensorReportEvent event; + + (void)memset_s(&event, sizeof(event), 0, sizeof(event)); + + ret = ReadBmi160RawData(data, &rawData, &event.timestamp); + if (ret != HDF_SUCCESS) { + return HDF_FAILURE; + } + + event.sensorId = SENSOR_TAG_ACCELEROMETER; + event.option = 0; + event.mode = SENSOR_WORK_MODE_REALTIME; + + rawData.x = rawData.x * BMI160_ACC_SENSITIVITY_2G; + rawData.y = rawData.y * BMI160_ACC_SENSITIVITY_2G; + rawData.z = rawData.z * BMI160_ACC_SENSITIVITY_2G; + + tmp[ACCEL_X_AXIS] = (rawData.x * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; + tmp[ACCEL_Y_AXIS] = (rawData.y * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; + tmp[ACCEL_Z_AXIS] = (rawData.z * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; + + event.dataLen = sizeof(tmp); + event.data = (uint8_t *)&tmp; + ret = ReportSensorEvent(&event); + return ret; + } + ``` + +- 数据处理函数 + +创建传感器定时器,按照配置的采样率定时采样,并上报给数据订阅者。 + +``` +/* 传感器定时工作线程 */ +static int32_t ReadAccelDataThreadWorker(void *arg) +{ + (void)arg; + int64_t interval; + struct AccelDrvData *drvData = AccelGetDrvData(); + + drvData->threadStatus = SENSOR_THREAD_START; + while (true) { + if (drvData->threadStatus == SENSOR_THREAD_RUNNING) { + if (drvData->ops.ReadData != NULL) { + (void)drvData->ops.ReadData(drvData->accelCfg); + } + interval = OsalDivS64(drvData->interval, (SENSOR_CONVERT_UNIT * SENSOR_CONVERT_UNIT)); + OsalMSleep(interval); + } else if (drvData->threadStatus == SENSOR_THREAD_DESTROY) { + break; + } else { + OsalMSleep(ACC_DEFAULT_SAMPLING_200_MS / SENSOR_CONVERT_UNIT / SENSOR_CONVERT_UNIT); + } + + if ((!drvData->initStatus) || (drvData->interval < 0) || drvData->threadStatus != SENSOR_THREAD_RUNNING) { + continue; + } + } + + return HDF_SUCCESS; +} +/* 创建传感器定时器和器件初始化 */ +static int32_t InitAccelConfig(void) +{ + int32_t ret; + struct AccelDrvData *drvData = AccelGetDrvData(); + + if (drvData->threadStatus != SENSOR_THREAD_NONE && drvData->threadStatus != SENSOR_THREAD_DESTROY) { + HDF_LOGE("%s: accel thread have created", __func__); + return HDF_SUCCESS; + } + + ret = CreateSensorThread(&drvData->thread, ReadAccelDataThreadWorker, "hdf_sensor_accel", drvData); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel create thread failed", __func__); + drvData->threadStatus = SENSOR_THREAD_NONE; + return HDF_FAILURE; + } + + CHECK_NULL_PTR_RETURN_VALUE(drvData->ops.Init, HDF_ERR_INVALID_PARAM); + + ret = drvData->ops.Init(drvData->accelCfg); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel create thread failed", __func__); + drvData->threadStatus = SENSOR_THREAD_NONE; + return HDF_FAILURE; + } + drvData->initStatus = true; + return HDF_SUCCESS; +} +``` + +- 主要的数据结构 + +``` +/* 传感器转换单位*/ +#define SENSOR_CONVERT_UNIT 1000 +#define SENSOR_1K_UNIT 1024 +/* 传感器2g对应灵敏度转换值 */ +#define BMI160_ACC_SENSITIVITY_2G 61 +/* 传感器数据采样寄存器地址 */ +#define BMI160_ACCEL_X_LSB_ADDR 0X12 +#define BMI160_ACCEL_X_MSB_ADDR 0X13 +#define BMI160_ACCEL_Y_LSB_ADDR 0X14 +#define BMI160_ACCEL_Y_MSB_ADDR 0X15 +#define BMI160_ACCEL_Z_LSB_ADDR 0X16 +#define BMI160_ACCEL_Z_MSB_ADDR 0X17 +/* 传感器数据维度 */ +enum AccelAxisNum { + ACCEL_X_AXIS = 0, + ACCEL_Y_AXIS = 1, + ACCEL_Z_AXIS = 2, + ACCEL_AXIS_NUM = 3, +}; +/* 传感器每个维度值 */ +struct AccelData { + int32_t x; + int32_t y; + int32_t z; +}; +/* 传感器私有数据结构体 */ +struct AccelDrvData { + bool detectFlag; + uint8_t threadStatus; + uint8_t initStatus; + int64_t interval; + struct SensorCfgData *accelCfg; + struct OsalThread thread; + struct AccelOpsCall ops; +}; +/* 差异化适配函数 */ +struct AccelOpsCall { + int32_t (*Init)(struct SensorCfgData *data); + int32_t (*ReadData)(struct SensorCfgData *data); +}; +``` + +## 测试指导 + +驱动开发完成后,在传感器单元测试里面开发自测试用例,验证驱动基本功能。测试环境采用开发者自测试平台。 + +``` +/* 标识是否上报传感器数据 */ +static int32_t g_sensorDataFlag = 0; +/* 保持获取的传感器接口实例地址 */ +static const struct SensorInterface *g_sensorDev = nullptr; + +/* 订阅者注册数据上报函数 */ +static int SensorTestDataCallback(struct SensorEvents *event) +{ + if (event == nullptr) { + return -1; + } + float *data = (float*)event->data; + printf("time [%lld] sensor id [%d] x-[%f] y-[%f] z-[%f]\n\r", event->timestamp, + event->sensorId, (*data), *(data + 1), *(data + g_axisZ)); + if (*data > 1e-5) { + g_sensorDataFlag = 1; + } + return 0; +} +/* 用例执行前,初始化传感器接口实例 */ +void HdfSensorTest::SetUpTestCase() +{ + g_sensorDev = NewSensorInterfaceInstance(); + if (g_sensorDev == nullptr) { + printf("test sensorHdi get Module instace failed\n\r"); + } +} +/* 用例资源释放 */ +void HdfSensorTest::TearDownTestCase() +{ + if (g_sensorDev != nullptr) { + FreeSensorInterfaceInstance(); + g_sensorDev = nullptr; + } +} +/* 传感器驱动测试验证 */ +HWTEST_F(HdfSensorTest,TestAccelDriver_001, TestSize.Level0) +{ + int32_t sensorInterval = 1000000000; /* 数据采样率单位纳秒 */ + int32_t pollTime = 5; /* 数据采样时间单位秒 */ + int32_t accelSensorId = 1; /* 加速度传感器类型标识为1 */ + int32_t count = 0; + int ret; + struct SensorInformation *sensorInfo = nullptr; + + ret = g_sensorDev->Register(SensorTestDataCallback) + EXPECT_EQ(SENSOR_NULL_PTR, ret); + + ret = g_sensorDev->GetAllSensors(&sensorInfo, &count); + EXPECT_EQ(0, ret); + if (sensorInfo == nullptr) { + EXPECT_NE(nullptr, sensorInfo); + return; + } + /* 打印获取的传感器列表 */ + for (int i = 0; i < count; i++) { + printf("get sensoriId[%d], info name[%s]\n\r", sensorInfo[i]->sensorId, sensorInfo[i]->sensorName); + } + ret = g_sensorDev->Enable(accelSensorId); + EXPECT_EQ(0, ret); + g_sensorDataFlag = 0; + + ret = g_sensorDev->SetBatch(accelSensorId, sensorInterval, pollTime); + EXPECT_EQ(0, ret); + /* 在时间pollTime内,观察输出打印数据 */ + OsalSleep(pollTime); + EXPECT_EQ(1, g_sensorDataFlag); + + ret = g_sensorDev->Disable(accelSensorId); + g_sensorDataFlag = 0; + EXPECT_EQ(0, ret); + + ret = g_sensorDev->Unregister(); + EXPECT_EQ(0, ret); +} +``` diff --git "a/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\345\256\236\344\276\213.md" b/zh-cn/device-dev/driver/drive-peripherals-touch-des.md old mode 100755 new mode 100644 similarity index 58% rename from "zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\345\256\236\344\276\213.md" rename to zh-cn/device-dev/driver/drive-peripherals-touch-des.md index a298d618c15..107b2ce618e --- "a/zh-cn/device-dev/driver/Touchscreen\345\274\200\345\217\221\345\256\236\344\276\213.md" +++ b/zh-cn/device-dev/driver/drive-peripherals-touch-des.md @@ -1,14 +1,124 @@ -# Touchscreen开发实例 +# TOUCHSCREEN -- [设备描述配置](#section85281142102317) -- [板级配置及器件私有配置](#section189081946192410) -- [添加器件驱动](#section19856687253) +- [概述](#section175431838101617) + - [接口说明](#section17667171301711) + +- [开发指导](#section65745222184) + - [开发步骤](#section865734181916) + +- [开发实例](#section263714411191) + - [设备描述配置](#section18249155619195) + - [板级配置及器件私有配置](#section3571192072014) + - [添加器件驱动](#section6356758162015) + + +## 概述 + +- **Touchscreen驱动主要任务** + + Touchscreen驱动用于驱动触摸屏使其正常工作,该驱动主要完成如下工作:对触摸屏驱动IC进行上电、配置硬件管脚并初始化其状态、注册中断、配置通信接口(I2C或SPI)、设定input相关配置、下载及更新固件等操作。 + + +- **Touchscreen驱动层次说明** + + 本节主要介绍基于input驱动模型开发touchscreen器件驱动,其整体的框架模型如[图1](#fig6251184817261)。 + + Input驱动模型基于HDF驱动框架、PLATFORM接口、OSAL接口进行开发,向上对接规范化的驱动接口HDI(Hardware Driver Interface)层,通过Input-HDI层对外提供硬件能力,即上层input service可以通过HDI接口层获取相应的驱动能力,进而操控touchscreen等输入设备。 + + +**图 1** 基于HDF驱动框架的input驱动模型 +![](figure/基于HDF驱动框架的input驱动模型.png "基于HDF驱动框架的input驱动模型") + +- **Input驱动模型介绍** + + Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动层组成。器件产生的数据借助平台数据通道能力从内核传递到用户态,驱动模型通过配置文件适配不同器件及硬件平台,提高开发者的器件驱动开发效率。如下部分为模型各部分的说明: + + (1)input设备管理:为各类输入设备驱动提供input设备的注册、注销接口,同时统一管理input设备列表; + + (2)input平台驱动:指各类input设备的公共抽象驱动(例如触摸屏的公共驱动),负责对板级硬件进行初始化、硬件中断处理、向manager注册input设备等; + + (3)input器件驱动:指各器件厂家的差异化驱动,通过适配平台驱动预留的差异化接口,实现器件驱动开发量最小化; + + (4)input数据通道:提供一套通用的数据上报通道,各类别的input设备驱动均可用此通道上报input事件; + + (5)input配置解析:负责对input设备的板级配置及器件私有配置进行解析及管理。 + + +- **基于HDF驱动框架开发器件驱动的优势** + + 在HDF(Hardware Driver Foundation)[驱动管理框架](drive-hdf-development.md)的基础上,input驱动模型调用OSAL接口层和Platfom接口层提供的基础接口进行开发,包括bus通信接口、操作系统原生接口(memory、lock、thread、timer等)。由于OSAL接口和Platform接口屏蔽了芯片平台差异,所以基于input驱动模型实现的touchscreen驱动可以进行跨平台、跨OS迁移,以便逐步实现驱动的一次开发,多端部署。 + + +### 接口说明 + +Touchscreen器件的硬件接口相对简单,根据PIN脚的属性,可以简单分为如下三类: + +- 电源接口 +- IO控制接口 +- 通信接口 + +**图 2** Touchscreen器件常用管脚 +![](figure/Touchscreen器件常用管脚.png "Touchscreen器件常用管脚") + +如上图所示的三类接口,分别做简要说明如下: + +1. **电源接口** + - LDO\_1P8:1.8v数字电路 + - LDO\_3P3:3.3v模拟电路 + + 通常情况下,touchscreen驱动IC和LCD驱动IC是相互分离的,这种情况下,touchscreen驱动IC一般同时需要1.8v和3.3v两路供电。随着芯片演进,业内已有touchscreen驱动IC和LCD驱动IC集成在一颗IC中的芯片案例,对touchscreen而言,只需要关注1.8v供电即可,其内部需要的3.3v电源,会在驱动IC内部从LCD的VSP电源(典型值5.5V)中分出来。 + + +2. **IO控制接口** + - Reset:reset管脚,用于在系统休眠、唤醒时,由主机侧对驱动IC进行复位操作。 + - INT:中断管脚,需要在驱动初始化时,配置为输入上拉状态。在驱动IC检测到外部触摸信号后,通过操作中断管脚来触发中断,器件驱动则会在中断处理函数中进行报点数据读取等操作。 + +3. **通信接口** + - I2C:由于touchscreen的报点数据量相对较少,所以一般选用I2C方式传输数据。I2C的具体协议及对应操作接口,可以参考Platform接口层中的[“I2C”使用指南](drive-platform-i2c-des.md#section1695201514281)。 + - SPI:部分厂商,由于需要传递的数据不止报点坐标,而是需要获取基础容值,数据量较大,所以会选用SPI通信方式。SPI的具体协议及对应操作接口,可以参考Platform接口层中的[“SPI” 使用指南](drive-platform-spi-des.md#section71363452477)。 + + +## 开发指导 + +Input驱动模型是基于HDF框架、Platform接口和OSAL接口开发,不区分操作系统和芯片平台,为touchscreen等输入器件提供统一的驱动开发架构。 + +- 如下以touchscreen器件驱动为例,说明input驱动模型的完整加载流程: + + (1)设备描述配置:由开发者参考已有模板进行设备描述配置,包括驱动加载顺序、板级硬件信息、器件私有数据信息等。 + + (2)加载input设备管理驱动:input设备管理驱动由HDF驱动加载,完成设备manager的创建并对其初始化。 + + (3)加载平台驱动:平台驱动由HDF框架加载,主要完成板级配置解析及硬件初始化,并提供器件注册接口。 + + (4)加载器件驱动:器件驱动也由HDF框架加载,完成器件设备的实例化,包括器件私有配置解析和平台预留的差异化接口适配。 + + (5)器件设备向平台驱动注册:将实例化的器件设备向平台驱动注册,实现设备和驱动的绑定,并完成中断注册、上下电等器件初始化工作。 + + (6)input设备注册:在器件初始化完成后,实例化input设备,并将其注册到input manager进行管理。 + + +### 开发步骤 + +1. 设备描述配置 + + 目前Input驱动基于HDF驱动框架编写,驱动的加载启动由HDF驱动管理框架统一处理。首先需要在对应的配置文件中,将驱动信息注册进去,如是否加载、加载优先级,此后HDF驱动框架会逐一启动注册过的驱动模块。驱动的相关配置请参考[HDF驱动框架配置指导](drive-hdf-development.md#section1969312275533)。 + +2. 板级配置及Touchscreen器件私有配置 + + 配置对应的IO管脚功能,例如对单板上为touchscreen设计预留的I2C Pin脚,需设置对应的寄存器,使其选择I2C的通信功能。 + +3. 实现器件差异化适配接口 + + 根据硬件单板设计的通信接口,使用Platform接口层提供的管脚操作接口配置对应的复位管脚、中断管脚以及电源操作,对于GPIO的操作,可参考[GPIO操作接口指导](drive-platform-gpio-des.md#section259614242196) + + +## 开发实例 本实例提供touchscreen驱动开发示例,并简要对具体关键点进行开发说明。 -## 设备描述配置 +### 设备描述配置 -如下配置主要包含input驱动模型各模块层级信息,具体原理可参考[HDF驱动开发指南](驱动开发.md),HDF框架依据该配置信息实现对Input模型各模块的依次加载等。 +如下配置主要包含input驱动模型各模块层级信息,具体原理可参考[HDF驱动开发指南](drive-hdf-development.md),HDF框架依据该配置信息实现对Input模型各模块的依次加载等。 ``` input :: host { @@ -51,7 +161,7 @@ input :: host { } ``` -## 板级配置及器件私有配置 +### 板级配置及器件私有配置 如下配置包含板级硬件配置及器件私有数据配置,实际业务开发时,可根据具体需求增删及修改如下配置文件信息。 @@ -140,7 +250,7 @@ root { } ``` -## 添加器件驱动 +### 添加器件驱动 在器件驱动中,主要实现了平台预留的差异化接口,以器件数据获取及解析进行示例说明。具体开发过程,需要根据实际使用的单板及器件进行适配。 diff --git a/zh-cn/device-dev/driver/drive-peripherals.md b/zh-cn/device-dev/driver/drive-peripherals.md new file mode 100644 index 00000000000..176fb421cd8 --- /dev/null +++ b/zh-cn/device-dev/driver/drive-peripherals.md @@ -0,0 +1,11 @@ +# 外设 + +- **[LCD](drive-peripherals-lcd-des.md)** + +- **[TOUCHSCREEN](drive-peripherals-touch-des.md)** + +- **[SENSOR](drive-peripherals-sensor-des.md)** + +- **[WLAN](drive-peripherals-external-des.md)** + + diff --git "a/zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-gpio-des.md old mode 100755 new mode 100644 similarity index 70% rename from "zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-gpio-des.md index 1bc136ee211..d4e67c7a516 --- "a/zh-cn/device-dev/driver/GPIO\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-gpio-des.md @@ -1,19 +1,104 @@ -# GPIO使用指导 - -- [使用流程](#section1583613406410) -- [确定GPIO管脚号](#section135943361443) -- [使用API操作GPIO管脚](#section69151114115315) - -## 使用流程 +# GPIO + +- [概述](#section1635911016188) + - [接口说明](#section17715915181611) + +- [使用指导](#section259614242196) + - [使用流程](#section103477714216) + - [确定GPIO管脚号](#section370083272117) + - [使用API操作GPIO管脚](#section13604050132118) + +- [使用实例](#section25941262111) + +## 概述 + +GPIO(General-purpose input/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。 + +GPIO接口定义了操作GPIO管脚的标准方法集合,包括: + +- 设置管脚方向: 方向可以是输入或者输出\(暂不支持高阻态\) + +- 读写管脚电平值: 电平值可以是低电平或高电平 +- 设置管脚中断服务函数:设置一个管脚的中断响应函数,以及中断触发方式 +- 使能和禁止管脚中断:禁止或使能管脚中断 + +### 接口说明 + +**表 1** GPIO驱动API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    GPIO读写

    +

    GpioRead

    +

    读管脚电平值

    +

    GpioWrite

    +

    写管脚电平值

    +

    GPIO配置

    +

    GpioSetDir

    +

    设置管脚方向

    +

    GpioGetDir

    +

    获取管脚方向

    +

    GPIO中断设置

    +

    GpioSetIrq

    +

    设置管脚对应的中断服务函数

    +

    GpioUnSetIrq

    +

    取消管脚对应的中断服务函数

    +

    GpioEnableIrq

    +

    使能管脚中断

    +

    GpioDisableIrq

    +

    禁止管脚中断

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流程如[图1](#fig1399416053717)所示。 **图 1** GPIO使用流程图 -![](figures/zh-cn_image_0000001057342245.png) +![](figure/zh-cn_image_0000001170187071.png) -## 确定GPIO管脚号 +### 确定GPIO管脚号 不同SOC芯片由于其GPIO控制器型号、参数、以及控制器驱动的不同,GPIO管脚号的换算方式不一样。 @@ -34,7 +119,7 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流 举例:GPIO7\_3的GPIO管脚号 = 7 \* 10 + 3 = 73 -## 使用API操作GPIO管脚 +### 使用API操作GPIO管脚 - 设置GPIO管脚方向 @@ -42,7 +127,7 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流 int32\_t GpioSetDir\(uint16\_t gpio, uint16\_t dir\); - **表 1** GpioSetDir参数和返回值描述 + **表 2** GpioSetDir参数和返回值描述

    参数

    @@ -78,13 +163,14 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流
    + - 读写GPIO管脚 如果要读取一个GPIO管脚电平,通过以下函数完成: int32\_t GpioRead\(uint16\_t gpio, uint16\_t \*val\); - **表 2** GpioRead参数和返回值描述 + **表 3** GpioRead参数和返回值描述

    参数

    @@ -124,7 +210,7 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流 int32\_t GpioWrite\(uint16\_t gpio, uint16\_t val\); - **表 3** GpioWrite参数和返回值描述 + **表 4** GpioWrite参数和返回值描述

    参数

    @@ -194,7 +280,7 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流 int32\_t GpioSetIrq\(uint16\_t gpio, uint16\_t mode, GpioIrqFunc func, void \*arg\); - **表 4** GpioSetIrq参数和返回值描述 + **表 5** GpioSetIrq参数和返回值描述

    参数

    @@ -240,14 +326,14 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流
    - >![](public_sys-resources/icon-caution.gif) **注意:** + >![](../public_sys-resources/icon-caution.gif) **注意:** >同一时间,只能为某个GPIO管脚设置一个中断服务函数,如果重复调用GpioSetIrq函数,则之前设置的中断服务函数会被取代。 当不再需要响应中断服务函数时,使用如下函数取消中断设置: int32\_t GpioUnSetIrq\(uint16\_t gpio\); - **表 5** GpioUnSetIrq参数和返回值描述 + **表 6** GpioUnSetIrq参数和返回值描述

    参数

    @@ -282,7 +368,7 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流 int32\_t GpioEnableIrq\(uint16\_t gpio\); - **表 6** GpioEnableIrq参数和返回值描述 + **表 7** GpioEnableIrq参数和返回值描述

    参数

    @@ -313,14 +399,14 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流
    - >![](public_sys-resources/icon-caution.gif) **注意:** + >![](../public_sys-resources/icon-caution.gif) **注意:** >必须通过此函数使能管脚中断,之前设置的中断服务函数才能被正确响应。 如果要临时屏蔽此中断,可以通过如下函数禁止GPIO管脚中断: int32\_t GpioDisableIrq\(uint16\_t gpio\); - **表 7** GpioDisableIrq参数和返回值描述 + **表 8** GpioDisableIrq参数和返回值描述

    参数

    @@ -393,3 +479,82 @@ GPIO标准API通过GPIO管脚号来操作指定管脚,使用GPIO的一般流 ``` +## 使用实例 + +本实例程序中,我们将测试一个GPIO管脚的中断触发:为管脚设置中断服务函数,触发方式为边沿触发,然后通过交替写高低电平到管脚,产生电平波动,制造触发条件,观察中断服务函数的执行。 + +首先需要选取一个空闲的GPIO管脚,本例程基于Hi3516DV300某开发板,GPIO管脚选择GPIO10\_3,换算成GPIO号为83。 + +读者可以根据自己使用的开发板,参考其原理图,选择一个空闲的GPIO管脚即可。 + +``` +#include "gpio_if.h" +#include "hdf_log.h" +#include "osal_irq.h" +#include "osal_time.h" + +static uint32_t g_irqCnt; + +/* 中断服务函数*/ +static int32_t TestCaseGpioIrqHandler(uint16_t gpio, void *data) +{ + HDF_LOGE("%s: irq triggered! on gpio:%u, data=%p", __func__, gpio, data); + g_irqCnt++; /* 如果中断服务函数触发执行,则将全局中断计数加1 */ + return GpioDisableIrq(gpio); +} + +/* 测试用例函数 */ +static int32_t TestCaseGpioIrqEdge(void) +{ + int32_t ret; + uint16_t valRead; + uint16_t mode; + uint16_t gpio = 83; /* 待测试的GPIO管脚号 */ + uint32_t timeout; + + /* 将管脚方向设置为输出 */ + ret = GpioSetDir(gpio, GPIO_DIR_OUT); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set dir fail! ret:%d\n", __func__, ret); + return ret; + } + + /* 先禁止该管脚中断 */ + ret = GpioDisableIrq(gpio); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: disable irq fail! ret:%d\n", __func__, ret); + return ret; + } + + /* 为管脚设置中断服务函数,触发模式为上升沿和下降沿共同触发 */ + mode = OSAL_IRQF_TRIGGER_RISING | OSAL_IRQF_TRIGGER_FALLING; + HDF_LOGE("%s: mode:%0x\n", __func__, mode); + ret = GpioSetIrq(gpio, mode, TestCaseGpioIrqHandler, NULL); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set irq fail! ret:%d\n", __func__, ret); + return ret; + } + + /* 使能此管脚中断 */ + ret = GpioEnableIrq(gpio); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: enable irq fail! ret:%d\n", __func__, ret); + (void)GpioUnSetIrq(gpio); + return ret; + } + + g_irqCnt = 0; /* 清除全局计数器 */ + timeout = 0; /* 等待时间清零 */ + /* 等待此管脚中断服务函数触发,等待超时时间为1000毫秒 */ + while (g_irqCnt <= 0 && timeout < 1000) { + (void)GpioRead(gpio, &valRead); + (void)GpioWrite(gpio, (valRead == GPIO_VAL_LOW) ? GPIO_VAL_HIGH : GPIO_VAL_LOW); + HDF_LOGE("%s: wait irq timeout:%u\n", __func__, timeout); + OsalMDelay(200); /* wait for irq trigger */ + timeout += 200; + } + (void)GpioUnSetIrq(gpio); + return (g_irqCnt > 0) ? HDF_SUCCESS : HDF_FAILURE; +} +``` + diff --git "a/zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-i2c-des.md old mode 100755 new mode 100644 similarity index 42% rename from "zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-i2c-des.md index 38341ca1d40..915c5f440ee --- "a/zh-cn/device-dev/driver/I2C\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-i2c-des.md @@ -1,26 +1,89 @@ -# I2C使用指导 +# I2C -- [使用流程](#section333203315215) -- [打开I2C控制器](#section123631358135713) -- [进行I2C通信](#section11091522125812) -- [关闭I2C控制器](#section13519505589) +- [概述](#section5361140416) + - [接口说明](#section459052019177) -## 使用流程 +- [使用指导](#section1695201514281) + - [使用流程](#section1338373417288) + - [打开I2C控制器](#section13751110132914) + - [进行I2C通信](#section9202183372916) + - [关闭I2C控制器](#section19481164133018) -使用I2C设备的一般流程如[图1](#fig166181128151112)所示。 +- [使用实例](#section5302202015300) -**图 1** I2C设备使用流程图 +## 概述 +- I2C\(Inter Integrated Circuit\)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。 +- I2C以主从方式工作,通常有一个主设备和一个或者多个从设备,主从设备通过SDA\(SerialData\)串行数据线以及SCL\(SerialClock\)串行时钟线两根线相连,如[图1 ](#fig1135561232714)所示。 -![](figures/zh-cn_image_0000001057902344.png) +- I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。数据传输以字节为单位,高位在前,逐个bit进行传输。 +- I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址,当主设备需要和某一个从设备通信时,通过广播的方式,将从设备地址写到总线上,如果某个从设备符合此地址,将会发出应答信号,建立传输。 -## 打开I2C控制器 +- I2C接口定义了完成I2C传输的通用方法集合,包括: + + - I2C控制器管理: 打开或关闭I2C控制器 + - I2C消息传输:通过消息传输结构体数组进行自定义传输 + + **图 1** I2C物理连线示意图 + ![](figure/I2C物理连线示意图.png "I2C物理连线示意图") + + +### 接口说明 + +**表 1** I2C驱动API接口功能介绍 + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    I2C控制器管理接口

    +

    I2cOpen

    +

    打开I2C控制器

    +

    I2cClose

    +

    关闭I2C控制器

    +

    I2c消息传输接口

    +

    I2cTransfer

    +

    自定义传输

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 + +使用I2C设备的一般流程如[图2](#fig166181128151112)所示。 + +**图 2** I2C设备使用流程图 + + +![](figure/zh-cn_image_0000001123509750.png) + +### 打开I2C控制器 在进行I2C通信前,首先要调用I2cOpen打开I2C控制器。 DevHandle I2cOpen\(int16\_t number\); -**表 1** I2cOpen参数和返回值描述 +**表 2** I2cOpen参数和返回值描述

    参数

    @@ -65,13 +128,13 @@ if (i2cHandle == NULL) { } ``` -## 进行I2C通信 +### 进行I2C通信 消息传输 int32\_t I2cTransfer\(DevHandle handle, struct I2cMsg \*msgs, int16\_t count\); -**表 2** I2cTransfer参数和返回值描述 +**表 3** I2cTransfer参数和返回值描述

    参数

    @@ -136,19 +199,19 @@ if (ret != 2) { } ``` ->![](public_sys-resources/icon-caution.gif) **注意:** +>![](../public_sys-resources/icon-caution.gif) **注意:** >- I2cMsg结构体中的设备地址不包含读写标志位,读写信息由flags成员变量的读写控制位传递。 >- 本函数不对消息结构体个数count做限制,其最大个数度由具体I2C控制器决定。 >- 本函数也不对每个消息结构体中的数据长度做限制,同样由具体I2C控制器决定。 >- 本函数可能会引起系统休眠,不允许在中断上下文调用 -## 关闭I2C控制器 +### 关闭I2C控制器 -I2C通信完成之后,需要关闭2C控制器,关闭函数如下所示: +I2C通信完成之后,需要关闭I2C控制器,关闭函数如下所示: void I2cClose\(DevHandle handle\); -**表 3** I2cClose参数和返回值描述 +**表 4** I2cClose参数和返回值描述

    参数

    @@ -169,3 +232,195 @@ void I2cClose\(DevHandle handle\); I2cClose(i2cHandle); /* 关闭I2C控制器 */ ``` +## 使用实例 + +本例程以操作开发板上的I2C设备为例,详细展示I2C接口的完整使用流程。 + +本例拟对Hi3516DV300某开发板上TouchPad设备进行简单的寄存器读写访问,基本硬件信息如下: + +- SOC:hi3516dv300。 + +- Touch IC:I2C地址为0x38, IC内部寄存器位宽为1字节。 + +- 原理图信息:TouchPad设备挂接在3号I2C控制器下;IC的复位管脚为3号GPIO。 + +本例程首先对Touch IC进行复位操作(开发板上电默认会给TouchIC供电,本例程不考虑供电),然后对其内部寄存器进行随机读写,测试I2C通路是否正常。 + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本例程重点在于展示I2C设备访问流程,并验证I2C通路,所以对于设备寄存器读写值不做关注,读写寄存器导致的行为由设备自身决定。 + +示例如下: + +``` +#include "i2c_if.h" /* I2C标准接口头文件 */ +#include "gpio_if.h" /* GPIO标准接口头文件 */ +#include "hdf_log.h" /* 标准日志打印头文件 */ +#include "osal_io.h" /* 标准IO读写接口头文件 */ +#include "osal_time.h" /* 标准延迟&睡眠接口头文件 */ + +/* 定义一个表示TP设备的结构体,存储i2c及gpio相关硬件信息 */ +struct TpI2cDevice { + uint16_t rstGpio; /* 复位管脚 */ + uint16_t busId; /* I2C总线号 */ + uint16_t addr; /* I2C设备地址 */ + uint16_t regLen; /* 寄存器字节宽度 */ + DevHandle i2cHandle; /* I2C控制器句柄 */ +}; + +/* I2C管脚io配置,需要查阅SOC寄存器手册 */ +#define I2C3_DATA_REG_ADDR 0x112f008c /* 3号I2C控制器SDA管脚配置寄存器地址 */ +#define I2C3_CLK_REG_ADDR 0x112f0090 /* 3号I2C控制器SCL管脚配置寄存器地址 */ +#define I2C_REG_CFG 0x5f1 /* 3号I2C控制器SDA及SCL管脚配置值 */ + +static void TpSocIoCfg(void) +{ + /* 将3号I2C控制器对应两个管脚的IO功能设置为I2C */ + OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_DATA_REG_ADDR)); + OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_CLK_REG_ADDR)); +} + +/* 对TP的复位管脚进行初始化, 拉高维持20ms, 再拉底维持50ms,最后再拉高维持20ms, 完成复位动作 */ +static int32_t TestCaseGpioInit(struct TpI2cDevice *tpDevice) +{ + int32_t ret; + + /* 设置复位管脚方向为输出 */ + ret = GpioSetDir(tpDevice->rstGpio, GPIO_DIR_OUT); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst dir fail!:%d", __func__, ret); + return ret; + } + + ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst hight fail!:%d", __func__, ret); + return ret; + } + OsalMSleep(20); + + ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_LOW); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst low fail!:%d", __func__, ret); + return ret; + } + OsalMSleep(50); + + ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst high fail!:%d", __func__, ret); + return ret; + } + OsalMSleep(20); + + return HDF_SUCCESS; +} + +/* 基于I2cTransfer方法封装一个寄存器读写的辅助函数, 通过flag表示读或写 */ +static int TpI2cReadWrite(struct TpI2cDevice *tpDevice, unsigned int regAddr, + unsigned char *regData, unsigned int dataLen, uint8_t flag) +{ + int index = 0; + unsigned char regBuf[4] = {0}; + struct I2cMsg msgs[2] = {0}; + + /* 单双字节寄存器长度适配 */ + if (tpDevice->regLen == 1) { + regBuf[index++] = regAddr & 0xFF; + } else { + regBuf[index++] = (regAddr >> 8) & 0xFF; + regBuf[index++] = regAddr & 0xFF; + } + + /* 填充I2cMsg消息结构 */ + msgs[0].addr = tpDevice->addr; + msgs[0].flags = 0; /* 标记为0,表示写入 */ + msgs[0].len = tpDevice->regLen; + msgs[0].buf = regBuf; + + msgs[1].addr = tpDevice->addr; + msgs[1].flags = (flag == 1) ? I2C_FLAG_READ : 0; /* 添加读标记位,表示读取 */ + msgs[1].len = dataLen; + msgs[1].buf = regData; + + if (I2cTransfer(tpDevice->i2cHandle, msgs, 2) != 2) { + HDF_LOGE("%s: i2c read err", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; +} + +/* TP寄存器读函数 */ +static inline int TpI2cReadReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, + unsigned char *regData, unsigned int dataLen) +{ + return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 1); +} + +/* TP寄存器写函数 */ +static inline int TpI2cWriteReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, + unsigned char *regData, unsigned int dataLen) +{ + return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 0); +} + +/* I2C例程总入口 */ +static int32_t TestCaseI2c(void) +{ + int32_t i; + int32_t ret; + unsigned char bufWrite[7] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xA, 0xB, 0xC }; + unsigned char bufRead[7] = {0}; + static struct TpI2cDevice tpDevice; + + /* IO管脚功能配置 */ + TpSocIoCfg(); + + /* TP设备信息初始化 */ + tpDevice.rstGpio = 3; + tpDevice.busId = 3; + tpDevice.addr = 0x38; + tpDevice.regLen = 1; + tpDevice.i2cHandle = NULL; + + /* GPIO管脚初始化 */ + ret = TestCaseGpioInit(&tpDevice); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: gpio init fail!:%d", __func__, ret); + return ret; + } + + /* 打开I2C控制器 */ + tpDevice.i2cHandle = I2cOpen(tpDevice.busId); + if (tpDevice.i2cHandle == NULL) { + HDF_LOGE("%s: Open I2c:%u fail!", __func__, tpDevice.busId); + return -1; + } + + /* 向TP-IC的0xD5寄存器连续写7字节数据 */ + ret = TpI2cWriteReg(&tpDevice, 0xD5, bufWrite, 7); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: tp i2c write reg fail!:%d", __func__, ret); + I2cClose(tpDevice.i2cHandle); + return -1; + } + OsalMSleep(10); + + /* 从TP-IC的0xDO寄存器连续读7字节数据 */ + ret = TpI2cReadReg(&tpDevice, 0xD5, bufRead, 7); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: tp i2c read reg fail!:%d", __func__, ret); + I2cClose(tpDevice.i2cHandle); + return -1; + } + + HDF_LOGE("%s: tp i2c write&read reg success!", __func__); + for (i = 0; i < 7; i++) { + HDF_LOGE("%s: bufRead[%d] = 0x%x", __func__, i, bufRead[i]); + } + + /* 访问完毕关闭I2C控制器 */ + I2cClose(tpDevice.i2cHandle); + return ret; +} +``` + diff --git a/zh-cn/device-dev/driver/drive-platform-mipidsi-des.md b/zh-cn/device-dev/driver/drive-platform-mipidsi-des.md new file mode 100644 index 00000000000..c7cf01ca02d --- /dev/null +++ b/zh-cn/device-dev/driver/drive-platform-mipidsi-des.md @@ -0,0 +1,554 @@ +# MIPI DSI + +- [概述](#section16806142183217) + - [接口说明](#section129611916132011) + +- [使用指导](#section037231715335) + - [使用流程](#section49299119344) + - [获取MIPI-DSI操作句柄](#section5126155683811) + - [MIPI-DSI相应配置](#section201164274344) + - [发送/回读控制指令](#section199401342173415) + - [释放MIPI-DSI操作句柄](#section161011610357) + +- [使用实例](#section17470126123520) + +## 概述 + +- DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface \(MIPI\) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设\(通常是LCD或者类似的显示设备\),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信协议。 + +- MIPI-DSI具备高速模式和低速模式两种工作模式,全部数据通道都可以用于单向的高速传输,但只有第一个数据通道才可用于低速双向传输,从属端的状态信息、像素等是通过该数据通道返回。时钟通道专用于在高速传输数据的过程中传输同步时钟信号。 +- 图1显示了简化的DSI接口。从概念上看,符合DSI的接口与基于DBI-2和DPI-2标准的接口具有相同的功能。它向外围设备传输像素或命令数据,并且可以从外围设备读取状态或像素信息。主要区别在于,DSI对所有像素数据、命令和事件进行序列化,而在传统接口中,这些像素数据、命令和事件通常需要附加控制信号才能在并行数据总线上传输。 + + **图 1** DSI发送、接收接口 + ![](figure/DSI发送-接收接口.png "DSI发送-接收接口") + + +### 接口说明 + +**表 1** MIPI-DSI API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    设置/获取当前MIPI-DSI相关配置

    +

    MipiDsiSetCfg

    +

    设置MIPI-DSI相关配置

    +

    MipiDsiGetCfg

    +

    获取当前MIPI-DSI相关配置

    +

    获取/释放MIPI-DSI操作句柄

    +

    MipiDsiOpen

    +

    获取MIPI-DSI操作句柄

    +

    MipiDsiClose

    +

    释放MIPI-DSI操作句柄

    +

    设置MIPI-DSI进入Low power模式/High speed模式

    +

    MipiDsiSetLpMode

    +

    设置MIPI-DSI进入Low power模式

    +

    MipiDsiSetHsMode

    +

    设置MIPI-DSI进入High speed模式

    +

    MIPI-DSI发送/回读指令

    +

    MipiDsiTx

    +

    MIPI-DSI发送相应指令的接口

    +

    MipiDsiRx

    +

    MIPI-DSI按期望长度回读的接口

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,仅限内核态使用,不支持在用户态使用 + +## 使用指导 + +### 使用流程 + +使用MIPI-DSI的一般流程如[图2](#fig99821771782)所示。 + +**图 2** MIPI-DSI使用流程图 + + +![](figure/zh-cn_image_0000001123514210.png) + +### 获取MIPI-DSI操作句柄 + +在进行MIPI-DSI进行通信前,首先要调用MipiDsiOpen获取操作句柄,该函数会返回指定通道ID的操作句柄。 + +DevHandle MipiDsiOpen\(uint8\_t id\); + +**表 2** MipiDsiOpen的参数和返回值描述 + + + + + + + + + + + + + + + + + + + +

    参数

    +

    参数描述

    +

    id

    +

    MIPI DSI通道ID

    +

    返回值

    +

    返回值描述

    +

    NULL

    +

    获取失败

    +

    设备句柄

    +

    获取到指令通道的操作句柄, 类型为DevHandle

    +
    + +假设系统中的MIPI-DSI通道为0,获取该通道操作句柄的示例如下: + +``` +DevHandle mipiDsiHandle = NULL; /* 设备句柄 */ +chnId = 0; /* MIPI-DSI通道ID */ + +/* 获取操作句柄 */ +mipiDsiHandle = MipiDsiOpen(chnId); +if (mipiDsiHandle == NULL) { + HDF_LOGE("MipiDsiOpen: failed\n"); + return; +} +``` + +### MIPI-DSI相应配置 + +- 写入MIPI-DSI配置 + +int32\_t MipiDsiSetCfg\(DevHandle handle, struct MipiCfg \*cfg\); + +**表 3** MipiDsiSetCfg的参数和返回值描述 + + + + + + + + + + + + + + + + + + + + + + +

    参数

    +

    参数描述

    +

    handle

    +

    操作句柄

    +

    cfg

    +

    MIPI-DSI相应配置buf 指针

    +

    返回值

    +

    返回值描述

    +

    0

    +

    设置成功

    +

    负数

    +

    设置失败

    +
    + +``` +int32_t ret; +struct MipiCfg cfg = {0}; + +/* 当前对接的屏幕配置如下 */ +cfg.lane = DSI_4_LANES; +cfg.mode = DSI_CMD_MODE; +cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; +cfg.format = FORMAT_RGB_24_BIT; +cfg.pixelClk = 174; +cfg.phyDataRate = 384; +cfg.timingInfo.hsaPixels = 50; +cfg.timingInfo.hbpPixels = 55; +cfg.timingInfo.hlinePixels = 1200; +cfg.timingInfo.yResLines = 1800; +cfg.timingInfo.vbpLines = 33; +cfg.timingInfo.vsaLines = 76; +cfg.timingInfo.vfpLines = 120; +cfg.timingInfo.xResPixels = 1342; +/* 写入配置数据 */ +ret = MipiDsiSetCfg(g_handle, &cfg); +if (ret != 0) { + HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); + return -1; +} +``` + +- 获取当前MIPI-DSI的配置 + +int32\_t MipiDsiGetCfg\(DevHandle handle, struct MipiCfg \*cfg\); + +**表 4** MipiDsiGetCfg的参数和返回值描述 + + + + + + + + + + + + + + + + + + + + + + +

    参数

    +

    参数描述

    +

    handle

    +

    操作句柄

    +

    cfg

    +

    MIPI-DSI相应配置buf 指针

    +

    返回值

    +

    返回值描述

    +

    0

    +

    获取成功

    +

    负数

    +

    获取失败

    +
    + +``` +int32_t ret; +struct MipiCfg cfg; +memset(&cfg, 0, sizeof(struct MipiCfg)); +ret = MipiDsiGetCfg(g_handle, &cfg); +if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: GetMipiCfg fail!\n", __func__); + return HDF_FAILURE; +} +``` + +### 发送/回读控制指令 + +- 发送指令 + +int32\_t MipiDsiTx\(PalHandle handle, struct DsiCmdDesc \*cmd\); + +**表 5** MipiDsiTx的参数和返回值描述 + + + + + + + + + + + + + + + + + + + + + + +

    参数

    +

    参数描述

    +

    handle

    +

    操作句柄

    +

    cmd

    +

    需要发送的指令数据指针

    +

    返回值

    +

    返回值描述

    +

    0

    +

    发送成功

    +

    负数

    +

    发送失败

    +
    + +``` +int32_t ret; +struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); +if (cmd == NULL) { + return HDF_FAILURE; +} +cmd->dtype = DTYPE_DCS_WRITE; +cmd->dlen = 1; +cmd->payload = OsalMemCalloc(sizeof(uint8_t)); +if (cmd->payload == NULL) { + HdfFree(cmd); + return HDF_FAILURE; +} +*(cmd->payload) = DTYPE_GEN_LWRITE; +MipiDsiSetLpMode(mipiHandle); +ret = MipiDsiTx(mipiHandle, cmd); +MipiDsiSetHsMode(mipiHandle); +if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: PalMipiDsiTx fail! ret=%d\n", __func__, ret); + HdfFree(cmd->payload); + HdfFree(cmd); + return HDF_FAILURE; +} +HdfFree(cmd->payload); +HdfFree(cmd); +``` + +- 回读指令 + +int32\_t MipiDsiRx\(DevHandle handle, struct DsiCmdDesc \*cmd, uint32\_t readLen, uint8\_t \*out\); + +**表 6** MipiDsiRx的参数和返回值描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    参数

    +

    参数描述

    +

    handle

    +

    操作句柄

    +

    cmd

    +

    需要回读的指令数据指针

    +

    readLen

    +

    期望回读的数据长度

    +

    out

    +

    回读的数据buf指针

    +

    返回值

    +

    返回值描述

    +

    0

    +

    获取成功

    +

    负数

    +

    获取失败

    +
    + +``` +int32_t ret; +uint8_t readVal = 0; + +struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); +if (cmdRead == NULL) { + return HDF_FAILURE; +} +cmdRead->dtype = DTYPE_DCS_READ; +cmdRead->dlen = 1; +cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); +if (cmdRead->payload == NULL) { + HdfFree(cmdRead); + return HDF_FAILURE; +} +*(cmdRead->payload) = DDIC_REG_STATUS; +MipiDsiSetLpMode(g_handle); +ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); +MipiDsiSetHsMode(g_handle); +if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); + HdfFree(cmdRead->payload); + HdfFree(cmdRead); + return HDF_FAILURE; +} +HdfFree(cmdRead->payload); +HdfFree(cmdRead); +``` + +### 释放MIPI-DSI操作句柄 + +MIPI-DSI使用完成之后,需要释放操作句柄,释放句柄的函数如下所示: + +void MipiDsiClose\(DevHandle handle\); + +该函数会释放掉由MipiDsiOpen申请的资源。 + +**表 7** MipiDsiClose的参数和返回值描述 + + + + + + + + + + +

    参数

    +

    参数描述

    +

    handle

    +

    MIPI-DSI操作句柄

    +
    + +``` +MipiDsiClose(mipiHandle); /* 释放掉MIPI-DSI操作句柄 */ +``` + +## 使用实例 + +MIPI-DSI完整的使用示例如下所示: + +``` +#include "hdf.h" +#include "mipi_dsi_if.h" + +void PalMipiDsiTestSample(void) +{ + uint8_t chnId; + int32_t ret; + DevHandle handle = NULL; + + /* 设备通道编号 */ + chnId = 0; + /* 获取操作句柄 */ + handle = MipiDsiOpen(chnId); + if (handle == NULL) { + HDF_LOGE("MipiDsiOpen: failed!\n"); + return; + } + /* 配置相应参数 */ + struct MipiCfg cfg = {0}; + cfg.lane = DSI_4_LANES; + cfg.mode = DSI_CMD_MODE; + cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; + cfg.format = FORMAT_RGB_24_BIT; + cfg.pixelClk = 174; + cfg.phyDataRate = 384; + cfg.timingInfo.hsaPixels = 50; + cfg.timingInfo.hbpPixels = 55; + cfg.timingInfo.hlinePixels = 1200; + cfg.timingInfo.yResLines = 1800; + cfg.timingInfo.vbpLines = 33; + cfg.timingInfo.vsaLines = 76; + cfg.timingInfo.vfpLines = 120; + cfg.timingInfo.xResPixels = 1342; + /* 写入配置数据 */ + ret = MipiDsiSetCfg(g_handle, &cfg); + if (ret != 0) { + HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); + return; + } + /* 发送PANEL初始化指令 */ + struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); + if (cmd == NULL) { + return; + } + cmd->dtype = DTYPE_DCS_WRITE; + cmd->dlen = 1; + cmd->payload = OsalMemCalloc(sizeof(uint8_t)); + if (cmd->payload == NULL) { + HdfFree(cmd); + return; + } + *(cmd->payload) = DTYPE_GEN_LWRITE; + MipiDsiSetLpMode(mipiHandle); + ret = MipiDsiTx(mipiHandle, cmd); + MipiDsiSetHsMode(mipiHandle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: MipiDsiTx fail! ret=%d\n", __func__, ret); + HdfFree(cmd->payload); + HdfFree(cmd); + return; + } + HdfFree(cmd->payload); + HdfFree(cmd); + /* 回读panel状态寄存器 */ + uint8_t readVal = 0; + struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); + if (cmdRead == NULL) { + return; + } + cmdRead->dtype = DTYPE_DCS_READ; + cmdRead->dlen = 1; + cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); + if (cmdRead->payload == NULL) { + HdfFree(cmdRead); + return; + } + *(cmdRead->payload) = DDIC_REG_STATUS; + MipiDsiSetLpMode(g_handle); + ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); + MipiDsiSetHsMode(g_handle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); + HdfFree(cmdRead->payload); + HdfFree(cmdRead); + return; + } + HdfFree(cmdRead->payload); + HdfFree(cmdRead); + /* 释放MIPI DSI设备句柄 */ + MipiDsiClose(handle); +} +``` + diff --git "a/zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-rtc-des.md old mode 100755 new mode 100644 similarity index 76% rename from "zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-rtc-des.md index 45065165bd2..fb55001feb7 --- "a/zh-cn/device-dev/driver/RTC\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-rtc-des.md @@ -1,12 +1,118 @@ -# RTC使用指导 +# RTC -- [使用流程](#section620515765714) -- [创建RTC设备句柄](#section0702183665711) -- [销毁RTC设备句柄](#section639962619542) -- [注册RTC定时报警回调函数](#section123631358135713) -- [操作RTC](#section11091522125812) +- [概述](#section104842041574) + - [接口说明](#section3373340142215) -## 使用流程 +- [使用指导](#section20636145604113) + - [使用流程](#section16919828134215) + - [创建RTC设备句柄](#section1131212144310) + - [销毁RTC设备句柄](#section10744117144314) + - [注册RTC定时报警回调函数](#section14839440184320) + - [操作RTC](#section161927578433) + +- [使用实例](#section1186111020456) + +## 概述 + +RTC\(real-time clock\)为操作系统中的实时时钟设备,为操作系统提供精准的实时时间和定时报警功能。当设备下电后,通过外置电池供电,RTC继续记录操作系统时间;设备上电后,RTC提供实时时钟给操作系统,确保断电后系统时间的连续性。 + +### 接口说明 + +**表 1** RTC设备API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    RTC句柄操作

    +

    RtcOpen

    +

    获取RTC设备驱动句柄

    +

    RtcClose

    +

    释放RTC设备驱动句柄

    +

    RTC时间操作接口

    +

    RtcReadTime

    +

    读RTC时间信息,包括年、月、星期、日、时、分、秒、毫秒

    +

    RtcWriteTime

    +

    写RTC时间信息,包括年、月、星期、日、时、分、秒、毫秒

    +

    RTC报警操作接口

    +

    RtcReadAlarm

    +

    读RTC报警时间信息

    +

    RtcWriteAlarm

    +

    写RTC报警时间信息

    +

    RtcRegisterAlarmCallback

    +

    注册报警超时回调函数

    +

    RtcAlarmInterruptEnable

    +

    使能/去使能RTC报警中断

    +

    RTC配置操作

    +

    RtcGetFreq

    +

    读RTC外接晶振频率

    +

    RtcSetFreq

    +

    配置RTC外接晶振频率

    +

    RtcReset

    +

    RTC复位

    +

    读写用户定义寄存器

    +

    RtcReadReg

    +

    读用户自定义寄存器

    +

    RtcWriteReg

    +

    写用户自定义寄存器

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 在操作系统启动过程中,驱动管理模块根据配置文件加载RTC驱动,RTC驱动会检测RTC器件并初始化驱动。 @@ -15,18 +121,18 @@ **图 1** RTC设备使用流程图 -![](figures/zh-cn_image_0000001054728498.png) +![](figure/zh-cn_image_0000001123675706.png) -## 创建RTC设备句柄 +### 创建RTC设备句柄 RTC驱动加载成功后,驱动开发者使用驱动框架提供的查询接口并调用RTC设备驱动接口。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >当前操作系统支持一个RTC设备。 DevHandle RtcOpen\(void\); -**表 1** RtcOpen参数和返回值描述 +**表 2** RtcOpen参数和返回值描述

    参数

    @@ -67,13 +173,13 @@ if (handle == NULL) { } ``` -## 销毁RTC设备句柄 +### 销毁RTC设备句柄 销毁RTC设备句柄,系统释放对应的资源。 void RtcClose\(DevHandle handle\); -**表 2** RtcClose参数描述 +**表 3** RtcClose参数描述

    参数

    @@ -94,13 +200,13 @@ void RtcClose\(DevHandle handle\); RtcClose(handle); ``` -## 注册RTC定时报警回调函数 +### 注册RTC定时报警回调函数 系统启动后需要注册RTC定时报警回调函数,报警超时后触发回调函数。 int32\_t RtcRegisterAlarmCallback\(DevHandle handle, enum RtcAlarmIndex alarmIndex, RtcAlarmCallback cb\); -**表 3** RtcRegisterAlarmCallback参数和返回值描述 +**表 4** RtcRegisterAlarmCallback参数和返回值描述

    参数

    @@ -165,7 +271,7 @@ if (ret != 0) { } ``` -## 操作RTC +### 操作RTC - 读取RTC时间。 @@ -173,7 +279,7 @@ if (ret != 0) { int32\_t RtcReadTime\(DevHandle handle, struct RtcTime \*time\); -**表 4** RtcReadTime参数和返回值描述 +**表 5** RtcReadTime参数和返回值描述

    参数

    @@ -226,7 +332,7 @@ if (ret != 0) { int32\_t RtcWriteTime\(DevHandle handle, struct RtcTime \*time\); -**表 5** RtcWriteTime参数和返回值描述 +**表 6** RtcWriteTime参数和返回值描述

    参数

    @@ -262,7 +368,7 @@ int32\_t RtcWriteTime\(DevHandle handle, struct RtcTime \*time\);
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >RTC起始时间为UTC 1970/01/01 Thursday 00:00:00,年的最大取值按照用户器件手册要求计算配置,星期不用配置。 ``` @@ -290,7 +396,7 @@ if (ret != 0) { int32\_t RtcReadAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct RtcTime \*time\); -**表 6** RtcReadAlarm参数和返回值描述 +**表 7** RtcReadAlarm参数和返回值描述

    参数

    @@ -348,7 +454,7 @@ if (ret != 0) { int32\_t RtcWriteAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct RtcTime \*time\); -**表 7** RtcWriteAlarm参数和返回值描述 +**表 8** RtcWriteAlarm参数和返回值描述

    参数

    @@ -389,7 +495,7 @@ int32\_t RtcWriteAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >RTC起始时间为UTC 1970/01/01 Thursday 00:00:00,年的最大取值按照用户器件手册要求计算配置,星期不用配置。 ``` @@ -417,7 +523,7 @@ if (ret != 0) { int32\_t RtcAlarmInterruptEnable\(DevHandle handle, enum RtcAlarmIndex alarmIndex, uint8\_t enable\); -**表 8** RtcAlarmInterruptEnable参数和返回值描述 +**表 9** RtcAlarmInterruptEnable参数和返回值描述

    参数

    @@ -474,7 +580,7 @@ if (ret != 0) { int32\_t RtcGetFreq\(DevHandle handle, uint32\_t \*freq\); -**表 9** RtcGetFreq参数和返回值描述 +**表 10** RtcGetFreq参数和返回值描述

    参数

    @@ -527,7 +633,7 @@ if (ret != 0) { int32\_t RtcSetFreq\(DevHandle handle, uint32\_t freq\); -**表 10** RtcSetFreq参数和返回值描述 +**表 11** RtcSetFreq参数和返回值描述

    参数

    @@ -580,7 +686,7 @@ if (ret != 0) { int32\_t RtcReset\(DevHandle handle\); -**表 11** RtcReset参数和返回值描述 +**表 12** RtcReset参数和返回值描述

    参数

    @@ -627,7 +733,7 @@ if (ret != 0) { int32\_t RtcReadReg\(DevHandle handle, uint8\_t usrDefIndex, uint8\_t \*value\); -**表 12** RtcReadReg参数和返回值描述 +**表 13** RtcReadReg参数和返回值描述

    参数

    @@ -686,7 +792,7 @@ if (ret != 0) { int32\_t RtcWriteReg\(DevHandle handle, uint8\_t usrDefIndex, uint8\_t value\); -**表 13** RtcWriteReg参数和返回值描述 +**表 14** RtcWriteReg参数和返回值描述

    参数

    @@ -739,3 +845,100 @@ if (ret != 0) { } ``` +## 使用实例 + +本实例提供RTC接口的完整使用流程: + +1. 系统启动,驱动管理模块会识别系统当前的RTC器件; +2. 驱动管理模块完成RTC设备的初始化和设备创建; +3. 用户通过不同API,对该RTC设备进行对应的操作; +4. 关闭RTC设备,释放设备资源。 + +示例如下: + +``` +#include "rtc_if.h" +int32_t RtcAlarmACallback(enum RtcAlarmIndex alarmIndex) +{ + if (alarmIndex == RTC_ALARM_INDEX_A) { + /* 报警A的处理 */ + printf("RTC Alarm A callback function\n\r"); + } else if (alarmIndex == RTC_ALARM_INDEX_B) { + /* 报警B的处理 */ + printf("RTC Alarm B callback function\n\r"); + } else { + /* 错误处理 */ + } + return 0; +} + +void RtcTestSample(void) +{ + int32_t ret; + struct RtcTime tm; + struct RtcTime alarmTime; + uint32_t freq; + DevHandle handle = NULL; + + /* 获取RTC设备句柄 */ + handle = RtcOpen(); + if (handle == NULL) { + /* 错误处理 */ + } + /* 注册报警A的定时回调函数 */ + ret = RtcRegisterAlarmCallback(handle, RTC_ALARM_INDEX_A, RtcAlarmACallback); + if (ret != 0) { + /* 错误处理 */ + } + /* 设置RTC外接晶体振荡频率,注意按照器件手册要求配置RTC外频 */ + freq = 32768; /* 32768 Hz */ + ret = RtcSetFreq(handle, freq); + if (ret != 0) { + /* 错误处理 */ + } + /* 设置RTC报警中断使能 */ + ret = RtcAlarmInterruptEnable(handle, RTC_ALARM_INDEX_A, 1); + if (ret != 0) { + /* 错误处理 */ + } + /* 设置RTC时间为2020/01/01 00:00:10 .990 */ + tm.year = 2020; + tm.month = 01; + tm.day = 01; + tm.hour= 0; + tm.minute = 0; + tm.second = 10; + tm.millisecond = 990; + /* 写RTC时间信息 */ + ret = RtcWriteTime(handle, &tm); + if (ret != 0) { + /* 错误处理 */ + } + /* 设置RTC报警时间为2020/01/01 00:00:30 .100 */ + alarmTime.year = 2020; + alarmTime.month = 01; + alarmTime.day = 01; + alarmTime.hour = 0; + alarmTime.minute = 0; + alarmTime.second = 30; + alarmTime.millisecond = 100; + /* 设置RTC_ALARM_INDEX_A索引定时报警时间信息, 定时时间到后会打印"RTC Alarm A callback function" */ + ret = RtcWriteAlarm(handle, RTC_ALARM_INDEX_A, &alarmTime); + if (ret != 0) { + /* 错误处理 */ + } + + /* 读取RTC实时时间 */ + ret = RtcReadTime(handle, &tm); + if (ret != 0) { + /* 错误处理 */ + } + sleep(5) + printf("RTC read time:\n\r"); + printf("year-month-date-weekday hour:minute:second .millisecond %04u-%02u-%02u-%u %02u:%02u:%02u .%03u", + tm.year, tm.month, tm.day, tm.weekday, tm.hour, tm.minute, tm.second, tm.millisecond); + /* 销毁RTC设备句柄 */ + RtcClose(handle); +} +``` + diff --git "a/zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-sdio-des.md old mode 100755 new mode 100644 similarity index 66% rename from "zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-sdio-des.md index fd65e6de6ad..1d85e6496ea --- "a/zh-cn/device-dev/driver/SDIO\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-sdio-des.md @@ -1,63 +1,215 @@ -# SDIO使用指导 +# SDIO -- [使用流程](#section1962415610383) -- [打开SDIO控制器](#section814751015461) -- [独占HOST](#section49274582455) -- [使能SDIO设备](#section1431520410489) -- [注册SDIO中断](#section3662781537) -- [进行SDIO通信](#section391941913484) -- [释放SDIO中断](#section56205204481) -- [去使能SDIO设备](#section181181621124815) -- [释放HOST](#section657117215486) -- [关闭SDIO控制器](#section1898172114818) +- [概述](#section1155271783811) + - [接口说明](#section08064247248) -## 使用流程 +- [使用指导](#section1878939192515) + - [使用流程](#section1490685512255) + - [打开SDIO控制器](#section10782428132616) + - [独占HOST](#section11263172312715) + - [使能SDIO设备](#section17861486271) + - [注册SDIO中断](#section521213262286) + - [进行SDIO通信](#section85661522153420) + - [释放SDIO中断](#section1683449352) + - [去使能SDIO设备](#section15379324143611) + - [释放HOST](#section536018263713) + - [关闭SDIO控制器](#section4752739183716) -使用SDIO的一般流程如[图1](SPI使用指导.md#fig23885455594)所示。 +- [使用实例](#section376910122382) -**图 1** SDIO使用流程图 +## 概述 +- SDIO是安全数字输入输出接口(Secure Digital Input and Output)的缩写,是从SD内存卡接口的基础上演化出来的一种外设接口。SDIO接口兼容以前的SD内存卡,并且可以连接支持SDIO接口的设备。 +- SDIO的应用比较广泛,目前,有许多手机都支持SDIO功能,并且很多SDIO外设也被开发出来,使得手机外接外设更加容易。常见的SDIO外设有WLAN、GPS、CAMERA、蓝牙等。 +- SDIO总线有两端,其中一端是主机端(HOST),另一端是设备端(DEVICE)。所有的通信都是由HOST端发出命令开始的,在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了。SDIO的HOST可以连接多个DEVICE,如下图所示: -![](figures/zh-cn_image_0000001054440624.png) + - CLK信号:HOST给DEVICE的时钟信号。 + - VDD信号:电源信号。 + - VSS信号:Ground信号。 + - D0-3信号:4条数据线,其中,DAT1信号线复用为中断线,在1BIT模式下DAT0用来传输数据,在4BIT模式下DAT0-DAT3用来传输数据。 + - CMD信号:用于HOST发送命令和DEVICE回复响应。 -## 打开SDIO控制器 + **图 1** SDIO的HOST-DEVICE连接示意图 + + + ![](figure/zh-cn_image_0000001054280608.png) + +- SDIO接口定义了操作SDIO的通用方法集合,包括打开/关闭SDIO控制器、独占/释放HOST、使能/去使能设备、申请/释放中断、读写、获取/设置公共信息等。 + +### 接口说明 + +**表 1** SDIO驱动API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    SDIO设备打开/关闭接口

    +

    SdioOpen

    +

    打开指定总线号的SDIO控制器

    +

    SdioClose

    +

    关闭SDIO控制器

    +

    SDIO读写接口

    +

    SdioReadBytes

    +

    从指定地址开始,增量读取指定长度的数据

    +

    SdioWriteBytes

    +

    从指定地址开始,增量写入指定长度的数据

    +

    SdioReadBytesFromFixedAddr

    +

    从固定地址读取指定长度的数据

    +

    SdioWriteBytesToFixedAddr

    +

    向固定地址写入指定长度的数据

    +

    SdioReadBytesFromFunc0

    +

    从SDIO function 0的指定地址空间读取指定长度的数据

    +

    SdioWriteBytesToFunc0

    +

    向SDIO function 0的指定地址空间写入指定长度的数据

    +

    SDIO设置块大小接口

    +

    SdioSetBlockSize

    +

    设置块的大小

    +

    SDIO获取/设置公共信息接口

    +

    SdioGetCommonInfo

    +

    获取公共信息

    +

    SdioSetCommonInfo

    +

    设置公共信息

    +

    SDIO刷新数据接口

    +

    SdioFlushData

    +

    刷新数据

    +

    SDIO独占/释放HOST接口

    +

    SdioClaimHost

    +

    独占Host

    +

    SdioReleaseHost

    +

    释放Host

    +

    SDIO使能/去使能功能设备接口

    +

    SdioEnableFunc

    +

    使能SDIO功能设备

    +

    SdioDisableFunc

    +

    去使能SDIO功能设备

    +

    SDIO申请/释放中断接口

    +

    SdioClaimIrq

    +

    申请中断

    +

    SdioReleaseIrq

    +

    释放中断

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,目前只支持在内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 + +使用SDIO的一般流程如[图2](#fig1343742311264)所示。 + +**图 2** SDIO使用流程图 + + +![](figure/zh-cn_image_0000001123540984.png) + +### 打开SDIO控制器 在使用SDIO进行通信前,首先要调用SdioOpen获取SDIO控制器的设备句柄,该函数会返回指定总线号的SDIO控制器的设备句柄。 DevHandle SdioOpen\(int16\_t mmcBusNum, struct SdioFunctionConfig \*config\); -**表 1** SdioOpen函数的参数和返回值描述 +**表 2** SdioOpen函数的参数和返回值描述 - -

    参数

    + + - - - - - - - - - - - @@ -78,24 +230,24 @@ if (handle == NULL) { } ``` -## 独占HOST +### 独占HOST 获取到SDIO控制器的设备句柄之后,需要先独占HOST才能进行SDIO后续的一系列操作,独占HOST函数如下所示: void SdioClaimHost\(DevHandle handle\); -**表 2** SdioClaimHost函数的参数描述 +**表 3** SdioClaimHost函数的参数描述 - -

    参数

    参数描述

    +

    参数描述

    mmcBusNum

    +

    mmcBusNum

    总线号

    +

    总线号

    config

    +

    config

    SDIO功能配置信息

    +

    SDIO功能配置信息

    返回值

    +

    返回值

    返回值描述

    +

    返回值描述

    NULL

    +

    NULL

    获取SDIO控制器的设备句柄失败

    +

    获取SDIO控制器的设备句柄失败

    设备句柄

    +

    设备句柄

    SDIO控制器的设备句柄

    +

    SDIO控制器的设备句柄

    参数

    + + - - - @@ -107,13 +259,13 @@ void SdioClaimHost\(DevHandle handle\); SdioClaimHost(handle); /* 独占HOST */ ``` -## 使能SDIO设备 +### 使能SDIO设备 在访问寄存器之前,需要先使能SDIO设备,使能SDIO设备的函数如下所示: int32\_t SdioEnableFunc\(DevHandle handle\); -**表 3** SdioEnableFunc函数的参数和返回值描述 +**表 4** SdioEnableFunc函数的参数和返回值描述

    参数

    参数描述

    +

    参数描述

    handle

    +

    handle

    SDIO控制器的设备句柄

    +

    SDIO控制器的设备句柄

    参数

    @@ -156,13 +308,13 @@ if (ret != 0) { } ``` -## 注册SDIO中断 +### 注册SDIO中断 在通信之前,还需要注册SDIO中断,注册SDIO中断函数如下图所示: int32\_t SdioClaimIrq\(DevHandle handle, SdioIrqHandler \*handler\); -**表 4** SdioClaimIrq函数的参数和返回值描述 +**表 5** SdioClaimIrq函数的参数和返回值描述

    参数

    @@ -220,7 +372,7 @@ if (ret != 0) { } ``` -## 进行SDIO通信 +### 进行SDIO通信 - 向SDIO设备增量写入指定长度的数据 @@ -228,7 +380,7 @@ if (ret != 0) { int32\_t SdioWriteBytes\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**表 5** SdioWriteBytes函数的参数和返回值描述 +**表 6** SdioWriteBytes函数的参数和返回值描述

    参数

    @@ -294,7 +446,7 @@ if (ret != 0) { int32\_t SdioReadBytes\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**表 6** SdioReadBytes函数的参数和返回值描述 +**表 7** SdioReadBytes函数的参数和返回值描述

    参数

    @@ -360,7 +512,7 @@ if (ret != 0) { int32\_t SdioWriteBytesToFixedAddr\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size, uint32\_t scatterLen\); - **表 7** SdioWriteBytesToFixedAddr函数的参数和返回值描述 + **表 8** SdioWriteBytesToFixedAddr函数的参数和返回值描述

    参数

    @@ -431,7 +583,7 @@ if (ret != 0) { int32\_t SdioReadBytesFromFixedAddr\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size, uint32\_t scatterLen\); - **表 8** SdioReadBytesFromFixedAddr函数的参数和返回值描述 + **表 9** SdioReadBytesFromFixedAddr函数的参数和返回值描述

    参数

    @@ -503,7 +655,7 @@ if (ret != 0) { int32\_t SdioWriteBytesToFunc0\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**表 9** SdioWriteBytesToFunc0函数的参数和返回值描述 +**表 10** SdioWriteBytesToFunc0函数的参数和返回值描述

    参数

    @@ -568,7 +720,7 @@ if (ret != 0) { int32\_t SdioReadBytesFromFunc0\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**表 10** SdioReadBytesFromFunc0函数的参数和返回值描述 +**表 11** SdioReadBytesFromFunc0函数的参数和返回值描述

    参数

    @@ -627,13 +779,13 @@ if (ret != 0) { } ``` -## 释放SDIO中断 +### 释放SDIO中断 通信完成之后,需要释放SDIO中断,函数如下所示: int32\_t SdioReleaseIrq\(DevHandle handle\); -**表 11** SdioReleaseIrq函数的参数和返回值描述 +**表 12** SdioReleaseIrq函数的参数和返回值描述

    参数

    @@ -676,13 +828,13 @@ if (ret != 0) { } ``` -## 去使能SDIO设备 +### 去使能SDIO设备 通信完成之后,还需要去使能SDIO设备,函数如下所示: int32\_t SdioDisableFunc\(DevHandle handle\); -**表 12** SdioDisableFunc函数的参数和返回值描述 +**表 13** SdioDisableFunc函数的参数和返回值描述

    参数

    @@ -725,13 +877,13 @@ if (ret != 0) { } ``` -## 释放HOST +### 释放HOST 通信完成之后,还需要释放去HOST,函数如下所示: void SdioReleaseHost\(DevHandle handle\); -**表 13** SdioReleaseHost函数的参数描述 +**表 14** SdioReleaseHost函数的参数描述

    参数

    @@ -754,7 +906,7 @@ void SdioReleaseHost\(DevHandle handle\); SdioReleaseHost(handle); /* 释放HOST */ ``` -## 关闭SDIO控制器 +### 关闭SDIO控制器 SDIO通信完成之后,最后需要关闭SDIO控制器,函数如下所示: @@ -762,7 +914,7 @@ void SdioClose\(DevHandle handle\); 该函数会释放掉申请的资源。 -**表 14** SdioClose函数的参数描述 +**表 15** SdioClose函数的参数描述

    参数

    @@ -785,3 +937,132 @@ void SdioClose\(DevHandle handle\); SdioClose(handle); /* 关闭SDIO控制器 */ ``` +## 使用实例 + +SDIO设备完整的使用示例如下所示,首先打开总线号为1的SDIO控制器,然后独占HOST、使能设备、注册中断,接着进行SDIO通信(读写等),通信完成之后,释放中断、去使能设备、释放HOST,最后关闭SDIO控制器。 + +``` +#include "hdf_log.h" +#include "sdio_if.h" + +#define TEST_FUNC_NUM 1 /* 本测试用例中,使用编号为1的I/O function */ +#define TEST_FBR_BASE_ADDR 0x100 /* 编号为1的I/O function的FBR基地址 */ +#define TEST_ADDR_OFFSET 9 /* 本测试用例中,需要读写的寄存器的地址偏移 */ +#define TEST_DATA_LEN 3 /* 本测试用例中,读写数据的长度 */ +#define TEST_BLOCKSIZE 2 /* 本测试用例中,数据块的大小,单位字节 */ + +/* 中断服务函数,需要根据各自平台的情况去实现 */ +static void SdioIrqFunc(void *data) +{ + if (data == NULL) { + HDF_LOGE("SdioIrqFunc: data is NULL.\n"); + return; + } + /* 需要开发者自行添加具体的实现 */ +} + +void SdioTestSample(void) +{ + int32_t ret; + DevHandle handle = NULL; + uint8_t data[TEST_DATA_LEN] = {0}; + struct SdioFunctionConfig config = {1, 0x123, 0x456}; + uint8_t val; + uint32_t addr; + + /* 打开总线号为1的SDIO设备 */ + handle = SdioOpen(1, &config); + if (handle == NULL) { + HDF_LOGE("SdioOpen: failed!\n"); + return; + } + /* 独占HOST */ + SdioClaimHost(handle); + /* 使能SDIO设备 */ + ret = SdioEnableFunc(handle); + if (ret != 0) { + HDF_LOGE("SdioEnableFunc: failed, ret %d\n", ret); + goto ENABLE_ERR; + } + /* 注册中断 */ + ret = SdioClaimIrq(handle, SdioIrqFunc); + if (ret != 0) { + HDF_LOGE("SdioClaimIrq: failed, ret %d\n", ret); + goto CLAIM_IRQ_ERR; + } + /* 设置块大小为2字节 */ + ret = SdioSetBlockSize(handle, TEST_BLOCKSIZE); + if (ret != 0) { + HDF_LOGE("SdioSetBlockSize: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 从SDIO设备增量地址读取3字节的数据 */ + addr = TEST_FBR_BASE_ADDR * TEST_FUNC_NUM + TEST_ADDR_OFFSET; + ret = SdioReadBytes(handle, data, addr, TEST_DATA_LEN); + if (ret != 0) { + HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 向SDIO设备增量地址写入3字节的数据 */ + ret = SdioWriteBytes(handle, data, addr, TEST_DATA_LEN); + if (ret != 0) { + HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 从SDIO设备读取1字节的数据 */ + ret = SdioReadBytes(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 向SDIO设备写入1字节的数据 */ + ret = SdioWriteBytes(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 从SDIO设备固定地址读取3字节的数据 */ + ret = SdioReadBytesFromFixedAddr(handle, data, addr, TEST_DATA_LEN, 0); + if (ret != 0) { + HDF_LOGE("SdioReadBytesFromFixedAddr: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 向SDIO设备固定地址写入1字节的数据 */ + ret = SdioWriteBytesToFixedAddr(handle, data, addr, 1, 0); + if (ret != 0) { + HDF_LOGE("SdioWriteBytesToFixedAddr: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 从SDIO function 0读取1字节的数据 */ + addr = 0x02; + ret = SdioReadBytesFromFunc0(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioReadBytesFromFunc0: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* 向SDIO function 0写入1字节的数据 */ + ret = SdioWriteBytesToFunc0(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioWriteBytesToFunc0: failed, ret %d\n", ret); + goto COMM_ERR; + } +COMM_ERR: + /* 释放中断 */ + ret = SdioReleaseIrq(handle); + if (ret != 0) { + HDF_LOGE("SdioReleaseIrq: failed, ret %d\n", ret); + } +CLAIM_IRQ_ERR: + /* 去使能SDIO设备 */ + ret = SdioDisableFunc(handle); + if (ret != 0) { + HDF_LOGE("SdioDisableFunc: failed, ret %d\n", ret); + } +ENABLE_ERR: + /* 释放HOST */ + SdioReleaseHost(handle); + /* 关闭SDIO设备 */ + SdioClose(handle); +} +``` + diff --git "a/zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-spi-des.md old mode 100755 new mode 100644 similarity index 64% rename from "zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-spi-des.md index 58698a9460c..47581f9a405 --- "a/zh-cn/device-dev/driver/SPI\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-spi-des.md @@ -1,28 +1,138 @@ -# SPI使用指导 +# SPI -- [使用流程](#section691514116412) -- [获取SPI设备句柄](#section12372204616215) -- [获取SPI设备属性](#section17121446171311) -- [配置SPI设备属性](#section97691946634) -- [进行SPI通信](#section197116254416) -- [销毁SPI设备句柄](#section117661819108) +- [概述](#section193356154511) + - [接口说明](#section232141411476) -## 使用流程 +- [使用指导](#section71363452477) + - [使用流程](#section32846814820) + - [获取SPI设备句柄](#section1927265711481) + - [获取SPI设备属性](#section541133418493) + - [配置SPI设备属性](#section7870106145010) + - [进行SPI通信](#section13324155195013) + - [销毁SPI设备句柄](#section19661632135117) -使用SPI的一般流程如[图1](#fig23885455594)所示。 +- [使用实例](#section06541058155120) -**图 1** SPI使用流程图 +## 概述 +- SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线。 +- SPI是由Motorola公司开发,用于在主设备和从设备之间进行通信,常用于与闪存、实时时钟、传感器以及模数转换器等进行通信。 +- SPI以主从方式工作,通常有一个主设备和一个或者多个从设备。主设备和从设备之间一般用4根线相连,它们分别是: + - SCLK – 时钟信号,由主设备产生; + - MOSI – 主设备数据输出,从设备数据输入; + - MISO – 主设备数据输入,从设备数据输出; + - CS – 片选,从设备使能信号,由主设备控制。 -![](figures/zh-cn_image_0000001054726248.png) -## 获取SPI设备句柄 +- 一个主设备和两个从设备的连接示意图如[图1](#fig15227181812587)所示,Device A和Device B共享主设备的SCLK、MISO和MOSI三根引脚,Device A的片选CS0连接主设备的CS0,Device B的片选CS1连接主设备的CS1。 + +**图 1** SPI主从设备连接示意图。 + + +![](figure/zh-cn_image_0000001123742254.png) + +- SPI通信通常由主设备发起,通过以下步骤完成一次通信: + +1. 通过CS选中要通信的从设备,在任意时刻,一个主设备上最多只能有一个从设备被选中。 +2. 通过SCLK给选中的从设备提供时钟信号。 +3. 基于SCLK时钟信号,主设备数据通过MOSI发送给从设备,同时通过MISO接收从设备发送的数据,完成通信。 + +- 根据SCLK时钟信号的CPOL(Clock Polarity,时钟极性)和CPHA(Clock Phase,时钟相位)的不同组合,SPI有以下四种工作模式: + - CPOL=0,CPHA=0 时钟信号idle状态为低电平,第一个时钟边沿采样数据。 + - CPOL=0,CPHA=1 时钟信号idle状态为低电平,第二个时钟边沿采样数据。 + - CPOL=1,CPHA=0 时钟信号idle状态为高电平,第一个时钟边沿采样数据。 + - CPOL=1,CPHA=1 时钟信号idle状态为高电平,第二个时钟边沿采样数据。 + + +- SPI接口定义了操作SPI设备的通用方法集合,包括: + - SPI设备句柄获取和释放。 + - SPI读写: 从SPI设备读取或写入指定长度数据。 + - SPI自定义传输:通过消息传输结构体执行任意读写组合过程。 + - SPI设备配置:获取和设置SPI设备属性。 + + +>![](../public_sys-resources/icon-note.gif) **说明:** +>当前只支持主机模式,不支持从机模式。 + +### 接口说明 + +**表 1** SPI驱动API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    SPI设备句柄获取释放接口

    +

    SpiOpen

    +

    获取SPI设备句柄

    +

    SpiClose

    +

    释放SPI设备句柄

    +

    SPI读写接口

    +

    SpiRead

    +

    读取指定长度的数据

    +

    SpiWrite

    +

    写入指定长度的数据

    +

    SpiTransfer

    +

    SPI数据传输接口

    +

    SPI设备配置接口

    +

    +

    SpiSetCfg

    +

    根据指定参数,配置SPI设备

    +

    SpiGetCfg

    +

    获取SPI设备配置参数

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 + +使用SPI的一般流程如[图2](#fig23885455594)所示。 + +**图 2** SPI使用流程图 + + +![](figure/zh-cn_image_0000001123703482.png) + +### 获取SPI设备句柄 在使用SPI进行通信时,首先要调用SpiOpen获取SPI设备句柄,该函数会返回指定总线号和片选号的SPI设备句柄。 DevHandle SpiOpen\(const struct SpiDevInfo \*info\); -**表 1** SpiOpen参数和返回值描述 +**表 2** SpiOpen参数和返回值描述

    参数

    @@ -69,13 +179,13 @@ if (spiHandle == NULL) { } ``` -## 获取SPI设备属性 +### 获取SPI设备属性 在获取到SPI设备句柄之后,需要配置SPI设备属性。配置SPI设备属性之前,可以先获取SPI设备属性,获取SPI设备属性的函数如下所示: int32\_t SpiGetCfg\(DevHandle handle, struct SpiCfg \*cfg\); -**表 2** SpiGetCfg参数和返回值描述 +**表 3** SpiGetCfg参数和返回值描述

    参数

    @@ -120,13 +230,13 @@ if (ret != 0) { } ``` -## 配置SPI设备属性 +### 配置SPI设备属性 在获取到SPI设备句柄之后,需要配置SPI设备属性,配置SPI设备属性的函数如下所示: int32\_t SpiSetCfg\(DevHandle handle, struct SpiCfg \*cfg\); -**表 3** SpiSetCfg参数和返回值描述 +**表 4** SpiSetCfg参数和返回值描述 -

    参数

    @@ -175,7 +285,7 @@ if (ret != 0) { } ``` -## 进行SPI通信 +### 进行SPI通信 - 向SPI设备写入指定长度的数据 @@ -183,7 +293,7 @@ if (ret != 0) { int32\_t SpiWrite\(DevHandle handle, uint8\_t \*buf, uint32\_t len\); -**表 4** SpiWrite参数和返回值描述 +**表 5** SpiWrite参数和返回值描述

    参数

    @@ -240,7 +350,7 @@ if (ret != 0) { int32\_t SpiRead\(DevHandle handle, uint8\_t \*buf, uint32\_t len\); -**表 5** SpiRead参数和返回值描述 +**表 6** SpiRead参数和返回值描述

    参数

    @@ -297,7 +407,7 @@ if (ret != 0) { int32\_t SpiTransfer\(DevHandle handle, struct SpiMsg \*msgs, uint32\_t count\); -**表 6** SpiTransfer参数和返回值描述 +**表 7** SpiTransfer参数和返回值描述

    参数

    @@ -356,7 +466,7 @@ if (ret != 0) { } ``` -## 销毁SPI设备句柄 +### 销毁SPI设备句柄 SPI通信完成之后,需要销毁SPI设备句柄,销毁SPI设备句柄的函数如下所示: @@ -364,7 +474,7 @@ void SpiClose\(DevHandle handle\); 该函数会释放掉申请的资源。 -**表 7** SpiClose参数描述 +**表 8** SpiClose参数描述 diff --git a/zh-cn/device-dev/subsystems/subsys-aiframework-devguide.md b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide.md new file mode 100644 index 00000000000..5de9fe721cb --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide.md @@ -0,0 +1,11 @@ +# 开发指导 + +为实现AI 引擎框架的接入,开发者需开发上述[图1](subsys-aiframework-guide.md#fig143186187187)中的SDK模块和Plugin模块,通过调用sdk提供的接口,基于AI引擎框架实现调用plugin中算法的能力,从而实现AI能力的生命周期管理和按需部署功能。 + +- **[SDK开发过程](subsys-aiframework-devguide-sdk.md)** + +- **[插件的开发过程](subsys-aiframework-devguide-plugin.md)** + +- **[配置文件的开发过程](subsys-aiframework-devguide-conf.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-envbuild.md old mode 100755 new mode 100644 similarity index 40% rename from "zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-envbuild.md index 47fefd53336..50cd9a3f9c3 --- "a/zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-envbuild.md @@ -1,5 +1,5 @@ # 搭建环境 1. 准备开发板:Hi3516DV300,Hi3518EV300 -2. [下载源码](https://device.harmonyos.com/cn/docs/start/get-code/oem_sourcecode_guide-0000001050769927#ZH-CN_TOPIC_0000001050769927__section1186691118430) +2. [下载源码](../get-code/sourcecode-acquire.md) diff --git "a/zh-cn/device-dev/subsystems/AI\345\274\225\346\223\216\346\241\206\346\236\266\345\274\200\345\217\221\346\214\207\345\215\227.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-guide.md old mode 100755 new mode 100644 similarity index 95% rename from "zh-cn/device-dev/subsystems/AI\345\274\225\346\223\216\346\241\206\346\236\266\345\274\200\345\217\221\346\214\207\345\215\227.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-guide.md index b0e0db56444..c725c6de1d8 --- "a/zh-cn/device-dev/subsystems/AI\345\274\225\346\223\216\346\241\206\346\236\266\345\274\200\345\217\221\346\214\207\345\215\227.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-guide.md @@ -5,5 +5,5 @@ AI业务子系统是OpenHarmony提供原生的分布式AI能力的子系统。AI **图 1** AI引擎框架 -![](figures/zh-cn_image_0000001077727032.png) +![](figure/zh-cn_image_0000001077727032.png) diff --git "a/zh-cn/device-dev/subsystems/\344\273\243\347\240\201\347\256\241\347\220\206\350\247\204\350\214\203.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-tech-codemanage.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/subsystems/\344\273\243\347\240\201\347\256\241\347\220\206\350\247\204\350\214\203.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-tech-codemanage.md index 25dde0bbc86..f93fcf62bb5 --- "a/zh-cn/device-dev/subsystems/\344\273\243\347\240\201\347\256\241\347\220\206\350\247\204\350\214\203.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-tech-codemanage.md @@ -11,7 +11,7 @@ AI引擎框架各模块之间的代码依赖关系如下[图1](#fig171811112818) **图 1** ****AI引擎代码依赖关系 -![](figures/插件依赖-(2).jpg) +![](figure/插件依赖-(2).jpg) ## 建议:插件与北向SDK在AI引擎指定的路径下进行代码开发 diff --git "a/zh-cn/device-dev/subsystems/\346\216\245\345\217\243\345\274\200\345\217\221\350\247\204\350\214\203.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-tech-interface.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\346\216\245\345\217\243\345\274\200\345\217\221\350\247\204\350\214\203.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-tech-interface.md diff --git "a/zh-cn/device-dev/subsystems/\345\221\275\345\220\215\350\247\204\350\214\203.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-tech-name.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\221\275\345\220\215\350\247\204\350\214\203.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-tech-name.md diff --git "a/zh-cn/device-dev/subsystems/\346\212\200\346\234\257\350\247\204\350\214\203.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-tech.md old mode 100755 new mode 100644 similarity index 45% rename from "zh-cn/device-dev/subsystems/\346\212\200\346\234\257\350\247\204\350\214\203.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-tech.md index e2497a9e385..486878e0b41 --- "a/zh-cn/device-dev/subsystems/\346\212\200\346\234\257\350\247\204\350\214\203.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-tech.md @@ -6,10 +6,10 @@ **建议:**需要加以考虑的约定 -- **[代码管理规范](代码管理规范.md)** +- **[代码管理规范](subsys-aiframework-tech-codemanage.md)** -- **[命名规范](命名规范.md)** +- **[命名规范](subsys-aiframework-tech-name.md)** -- **[接口开发规范](接口开发规范.md)** +- **[接口开发规范](subsys-aiframework-tech-interface.md)** diff --git "a/zh-cn/device-dev/subsystems/AI\346\241\206\346\236\266.md" b/zh-cn/device-dev/subsystems/subsys-aiframework.md old mode 100755 new mode 100644 similarity index 32% rename from "zh-cn/device-dev/subsystems/AI\346\241\206\346\236\266.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework.md index c4310aa7642..77fa018ec45 --- "a/zh-cn/device-dev/subsystems/AI\346\241\206\346\236\266.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework.md @@ -1,13 +1,13 @@ # AI框架 -- **[AI引擎框架开发指南](AI引擎框架开发指南.md)** +- **[AI引擎框架开发指南](subsys-aiframework-guide.md)** -- **[搭建环境](搭建环境.md)** +- **[搭建环境](subsys-aiframework-envbuild.md)** -- **[技术规范](技术规范.md)** +- **[技术规范](subsys-aiframework-tech.md)** -- **[开发指导](开发指导.md)** +- **[开发指导](subsys-aiframework-devguide.md)** -- **[开发示例](开发示例.md)** +- **[开发示例](subsys-aiframework-demo.md)** diff --git "a/zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" b/zh-cn/device-dev/subsystems/subsys-application-framework-builden.md old mode 100755 new mode 100644 similarity index 83% rename from "zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" rename to zh-cn/device-dev/subsystems/subsys-application-framework-builden.md index 272f0279421..182aea265b9 --- "a/zh-cn/device-dev/subsystems/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" +++ b/zh-cn/device-dev/subsystems/subsys-application-framework-builden.md @@ -2,6 +2,6 @@ - 开发板:Hi3516DV300 -- [下载源码](../get-code/源码获取.md) +- [下载源码](../get-code/sourcecode-acquire.md) - [编译用户程序框架](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E7%94%A8%E6%88%B7%E7%A8%8B%E5%BA%8F%E6%A1%86%E6%9E%B6%E5%AD%90%E7%B3%BB%E7%BB%9F.md) diff --git "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213.md" b/zh-cn/device-dev/subsystems/subsys-application-framework-demo.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213.md" rename to zh-cn/device-dev/subsystems/subsys-application-framework-demo.md diff --git "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" b/zh-cn/device-dev/subsystems/subsys-application-framework-guide.md similarity index 99% rename from "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" rename to zh-cn/device-dev/subsystems/subsys-application-framework-guide.md index 6a68dfe23f9..b132c23b938 100644 --- "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" +++ b/zh-cn/device-dev/subsystems/subsys-application-framework-guide.md @@ -693,15 +693,15 @@ - 打包示例 - 开发视图 - ![](figures/zh-cn_image_0000001062942690.png) + ![](figure/zh-cn_image_0000001062942690.png) - 编译视图 - ![](figures/zh-cn_image_0000001062334618.png) + ![](figure/zh-cn_image_0000001062334618.png) - 使用打包工具执行以下命令打包: - ![](figures/zh-cn_image_0000001062476933.png) + ![](figure/zh-cn_image_0000001062476933.png) ``` $ java -jar hmos_app_packing_tool.jar --mode hap --json-path ./config.json --assets-path ./assets/ --ability-so-path ./libentry.so --index-path ./resources.index --out-path out/entry.hap --force true diff --git "a/zh-cn/device-dev/subsystems/\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-application-framework-overview.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/subsystems/\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-application-framework-overview.md index 63ee16f94ce..a0ab8c2d1bb --- "a/zh-cn/device-dev/subsystems/\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/subsystems/subsys-application-framework-overview.md @@ -17,7 +17,7 @@ Ability子系统是管理OpenHarmony应用运行状态的开发框架。 **图 1** Ability子系统框架图 -![](figures/Ability子系统框架图.png "Ability子系统框架图") +![](figure/Ability子系统框架图.png "Ability子系统框架图") - **Ability**:系统调度应用的最小单元,是能够完成一个独立功能的组件,一个应用可以包含一个或多个Ability。Ability分为两种类型:Page类型的Ability和Service类型的Ability。 - **Page类型的Ability**:带有界面,为用户提供人机交互的能力。 @@ -29,14 +29,14 @@ Ability子系统是管理OpenHarmony应用运行状态的开发框架。 - **AbilitySlice**:单个页面及其控制逻辑的总和,是Page类型Ability特有的组件,一个Page类型的Ability可以包含多个AbilitySlice,此时,这些页面提供的业务能力应当是高度相关的。 **图 2** Ability与AbilitySlice的关系图 - ![](figures/Ability与AbilitySlice的关系图.png "Ability与AbilitySlice的关系图") + ![](figure/Ability与AbilitySlice的关系图.png "Ability与AbilitySlice的关系图") - **生命周期**:Ability被调度到启动、激活、隐藏和退出等各个状态的统称。 **图 3** Ability生命周期流转 - ![](figures/图片1.png) + ![](figure/图片1.png) - **OnStart\(\)** @@ -73,7 +73,7 @@ Ability子系统是管理OpenHarmony应用运行状态的开发框架。 - **AbilityKit**:Ability框架提供给开发者的开发包,开发者基于该开发包可以开发出基于Ability组件的应用。基于Ability组件开发的应用有两种类型:基于Javascript语言开发的Ability(JS Ability)和基于C/C++语言开发的Ability(Native Ability)。JS应用开发框架是开发者开发JS Ability所用到框架,是在AbilityKit基础封装的包含js UI组件的一套方便开发者能够迅速开发Ability应用的框架。 - **AbilityLoader**:负责注册和加载开发者Ability的模块。开发者开发的Ability先要调用AbilityLoader的注册接口注册到框架中,接着Ability启动时会被实例化。 -- **AbilityManager**:负责AbilityKit和Ability管理服务进行IPC的通信。 +- **AbilityManager:**负责AbilityKit和Ability管理服务进行IPC的通信。 - **EventHandler**:AbilityKit提供给开发者的用于在Ability中实现线程间通信的一个模块。 @@ -87,7 +87,7 @@ Ability子系统是管理OpenHarmony应用运行状态的开发框架。 包管理子系统是OpenHarmony为开发者提供的安装包管理框架。 **图 4** 包管理子系统框架图 -![](figures/包管理子系统框架图.png "包管理子系统框架图") +![](figure/包管理子系统框架图.png "包管理子系统框架图") - **BundleKit**:是包管理服务对外提供的接口,有安装/卸载接口、包信息查询接口、包状态变化listen接口。 - **包扫描器**:用来解析本地预制或者安装的安装包,提取里面的各种信息,供管理子模块进行管理,持久化。 @@ -103,12 +103,12 @@ Ability子系统是管理OpenHarmony应用运行状态的开发框架。 Ability子系统的核心模块是Ability管理服务、包管理子系统的核心模块是包管理服务,这两个服务是系统级服务,借助系统服务框架Samgr实现服务的注册与发现,并对其他进程提供Ability管理服务和包管理服务。Ability管理服务和包管理服务通过AbilityKit和BundleKit以接口的形式向外提供服务。 **图 5** Ability管理服务和包管理服务启动 -![](figures/Ability管理服务和包管理服务启动.png "Ability管理服务和包管理服务启动") +![](figure/Ability管理服务和包管理服务启动.png "Ability管理服务和包管理服务启动") Ability管理服务和包管理服务启动后,就可以安装OpenHarmony应用和启动运行OpenHarmony应用。 **图 6** 应用启动流程 -![](figures/应用启动流程.png "应用启动流程") +![](figure/应用启动流程.png "应用启动流程") 桌面为Ability管理服务启动的第一个OpenHarmony应用。桌面启动后,用户可以在桌面上点击安装的OpenHarmony应用并启动该应用。上图6为从桌面启动一个已安装应用的交互流程。 diff --git a/zh-cn/device-dev/subsystems/subsys-application-framework.md b/zh-cn/device-dev/subsystems/subsys-application-framework.md new file mode 100644 index 00000000000..99997047ffc --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-application-framework.md @@ -0,0 +1,11 @@ +# 用户程序框架 + +- **[概述](subsys-application-framework-overview.md)** + +- **[搭建环境](subsys-application-framework-builden.md)** + +- **[开发指导](subsys-application-framework-guide.md)** + +- **[开发实例](subsys-application-framework-demo.md)** + + diff --git "a/zh-cn/device-dev/subsystems/appspawn\345\272\224\347\224\250\345\255\265\345\214\226\347\273\204\344\273\266.md" b/zh-cn/device-dev/subsystems/subsys-boot-appspawn.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/appspawn\345\272\224\347\224\250\345\255\265\345\214\226\347\273\204\344\273\266.md" rename to zh-cn/device-dev/subsystems/subsys-boot-appspawn.md diff --git "a/zh-cn/device-dev/subsystems/bootstrap\346\234\215\345\212\241\345\220\257\345\212\250\347\273\204\344\273\266.md" b/zh-cn/device-dev/subsystems/subsys-boot-bootstrap.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/bootstrap\346\234\215\345\212\241\345\220\257\345\212\250\347\273\204\344\273\266.md" rename to zh-cn/device-dev/subsystems/subsys-boot-bootstrap.md diff --git "a/zh-cn/device-dev/subsystems/\345\270\270\350\247\201\351\227\256\351\242\230.md" b/zh-cn/device-dev/subsystems/subsys-boot-faqs.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/subsystems/\345\270\270\350\247\201\351\227\256\351\242\230.md" rename to zh-cn/device-dev/subsystems/subsys-boot-faqs.md index c81824514aa..196a5866306 --- "a/zh-cn/device-dev/subsystems/\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ b/zh-cn/device-dev/subsystems/subsys-boot-faqs.md @@ -10,7 +10,7 @@ 系统启动过程中,打印“\[Init\] InitReadCfg, parse failed! please check file /etc/init.cfg format.”错误,启动过程停止,如下图所示: -![](figures/zh-cn_image_0000001063839940.png) +![](figure/zh-cn_image_0000001063839940.png) **可能原因** @@ -28,7 +28,7 @@ **可能原因** -被init启动的服务都有一个叫做“importance”的属性(详见[第2章表3](init启动引导组件.md#table14737791471)描述)。 +被init启动的服务都有一个叫做“importance”的属性(详见[第2章表3](subsys-boot-init.md#table14737791471)描述)。 - 当该属性为0时,表示若当前服务进程退出,init不需要重启单板。 - 当该属性为1时,表示若当前服务进程退出,init需要重启单板。 diff --git "a/zh-cn/device-dev/subsystems/init\345\220\257\345\212\250\345\274\225\345\257\274\347\273\204\344\273\266.md" b/zh-cn/device-dev/subsystems/subsys-boot-init.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/init\345\220\257\345\212\250\345\274\225\345\257\274\347\273\204\344\273\266.md" rename to zh-cn/device-dev/subsystems/subsys-boot-init.md diff --git "a/zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215\345\255\220\347\263\273\347\273\237\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-boot-overview.md old mode 100755 new mode 100644 similarity index 95% rename from "zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215\345\255\220\347\263\273\347\273\237\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-boot-overview.md index 1287b4212db..ee24488c41a --- "a/zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215\345\255\220\347\263\273\347\273\237\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/subsystems/subsys-boot-overview.md @@ -6,7 +6,7 @@ - init启动引导组件 - init启动引导组件对应的进程为init进程,是内核完成初始化后启动的第一个用户态进程。init进程启动之后,读取init.cfg配置文件,根据解析结果,执行相应命令(见[第2章表2](init启动引导组件.md#table122681439144112)描述)并依次启动各关键系统服务进程,在启动系统服务进程的同时设置其对应权限。 + init启动引导组件对应的进程为init进程,是内核完成初始化后启动的第一个用户态进程。init进程启动之后,读取init.cfg配置文件,根据解析结果,执行相应命令(见[第2章表2](subsys-boot-init.md#table122681439144112)描述)并依次启动各关键系统服务进程,在启动系统服务进程的同时设置其对应权限。 - appspawn应用孵化组件 diff --git "a/zh-cn/device-dev/subsystems/\345\217\202\350\200\203.md" b/zh-cn/device-dev/subsystems/subsys-boot-ref.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\217\202\350\200\203.md" rename to zh-cn/device-dev/subsystems/subsys-boot-ref.md diff --git "a/zh-cn/device-dev/subsystems/syspara\347\263\273\347\273\237\345\261\236\346\200\247\347\273\204\344\273\266.md" b/zh-cn/device-dev/subsystems/subsys-boot-syspara.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/syspara\347\263\273\347\273\237\345\261\236\346\200\247\347\273\204\344\273\266.md" rename to zh-cn/device-dev/subsystems/subsys-boot-syspara.md diff --git a/zh-cn/device-dev/subsystems/subsys-boot.md b/zh-cn/device-dev/subsystems/subsys-boot.md new file mode 100644 index 00000000000..a71c6ab8628 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-boot.md @@ -0,0 +1,17 @@ +# 启动恢复 + +- **[启动恢复子系统概述](subsys-boot-overview.md)** + +- **[init启动引导组件](subsys-boot-init.md)** + +- **[appspawn应用孵化组件](subsys-boot-appspawn.md)** + +- **[bootstrap服务启动组件](subsys-boot-bootstrap.md)** + +- **[syspara系统属性组件](subsys-boot-syspara.md)** + +- **[常见问题](subsys-boot-faqs.md)** + +- **[参考](subsys-boot-ref.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md old mode 100755 new mode 100644 similarity index 39% rename from "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-build-mini-lite.md index 83423cbe1c9..dc07da91d5c --- "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md @@ -1,9 +1,32 @@ -# 编译构建概述 +# 轻量和小型系统编译构建指导 -- [基本概念](#section175012297491) -- [目录结构](#section3267040205617) -- [构建流程](#section193961322175011) -- [组件、芯片解决方案和产品解决方案配置规则](#section1625463413327) +- [概述](#section10958256161119) + - [基本概念](#section1732301411128) + - [目录结构](#section1588744014121) + - [构建流程](#section15761735134) + +- [配置规则](#section2345183962710) + - [组件](#section142532518308) + - [芯片解决方案](#section121501451143710) + - [产品解决方案](#section134549283435) + +- [使用指导](#section13754457192211) + - [前提条件](#section31651120233) + - [hb工具使用说明](#section1133304172313) + - [新增组件](#section167110415315) + - [新增芯片解决方案](#section1474718565412) + - [新增产品解决方案](#section1097623294220) + +- [常见问题](#section19909721104319) + - [ninja版本问题导致编译失败](#section138233464318) + - [ncurses库缺失导致编译失败](#section151033911442) + - [未安装mcopy导致编译失败](#section19811838104418) + - [权限问题导致编译失败](#section03111118451) + - [未安装Crypto导致编译失败](#section69981127125013) + - [编译环境为shell导致编译失败](#section967617530505) + + +## 概述 一个基于gn和ninja的构建系统,以支持OpenHarmony组件化开发为目标,提供以下基本功能: @@ -12,7 +35,7 @@ - 独立构建芯片解决方案厂商源码。 - 独立构建单个组件。 -## 基本概念 +### 基本概念 在使用编译构建子系统前,应了解如下基本概念: @@ -38,7 +61,7 @@ OpenHarmony的命令行工具,用来执行编译命令。 -## 目录结构 +### 目录结构 ``` build/lite @@ -55,12 +78,12 @@ build/lite └── toolchain # 编译工具链配置,包括:编译器路径、编译选项、链接选项等 ``` -## 构建流程 +### 构建流程 编译构建流程如[图1 ](#fig9744112715161)所示,主要分设置和编译两步: **图 1** 编译构建流程 -![](figures/编译构建流程.jpg "编译构建流程") +![](figure/编译构建流程.jpg "编译构建流程") 1. hb set: 设置OpenHarmony源码目录和要编译的产品。 2. hb build: 编译产品、开发板或者组件。编译主要过程如下: @@ -70,13 +93,16 @@ build/lite - 系统镜像打包:将组件编译产物打包,设置文件属性和权限,制作文件系统镜像。 -## 组件、芯片解决方案和产品解决方案配置规则 +## 配置规则 为了实现芯片解决方案、产品解决方案与OpenHarmony是解耦的、可插拔的,组件、芯片解决方案和产品解决方案的路径、目录树和配置需遵循一定的规则,具体如下: -- **组件** +### **组件** + +组件源码路径命名规则为:**\{领域\}/\{子系统\}/\{组件\}**,组件目录树规则如下: -组件源码路径命名规则为:_\{领域\}/\{子系统\}/\{组件\}_,组件目录树规则如下: +>![](../public_sys-resources/icon-caution.gif) **注意:** +>组件的名称、源码路径、功能简介、是否必选、编译目标、RAM、ROM、编译输出、已适配的内核、可配置的特性和依赖等属性定义在build/lite/components目录下对应子系统的json文件中,新增组件时需要在对应子系统json文件中添加相应的组件定义。产品所配置的组件必须在某个子系统中被定义过,否则会校验失败。 ``` component @@ -88,8 +114,6 @@ component └── BUILD.gn # 组件编译脚本 ``` -组件的名称、源码路径、功能简介、是否必选、编译目标、RAM、ROM、编译输出、已适配的内核、可配置的特性和依赖等属性定义在build/lite/components目录下对应子系统的json文件中,新增组件时需要在对应子系统json文件中添加相应的组件定义。产品所配置的组件必须在某个子系统中被定义过,否则会校验失败。 - 以泛sensor子系统的sensor服务组件为例,组件属性定义描述文件字段说明如下: ``` @@ -125,13 +149,15 @@ component } ``` -组件的编译脚本语言为gn,gn的基本用法请见[gn快速入门](https://gn.googlesource.com/gn/+/master/docs/quick_start.md)。组件即为gn定义的编译目标,可以为静态库、动态库、可执行文件或group。组件BUILD.gn的编写建议如下: +组件BUILD.gn的编写建议如下: -1)编译目标名称与组件一致。 +- 编译目标名称与组件一致。 +- 组件对外可配置的特性变量需声明在该组件BUILD.gn中,特性变量命名规则:ohos\_\{subsystem\}\_\{component\}\_\{feature\}。特性在组件描述中也需要同步定义,在产品配置文件config.json中按需配置。 +- 宏定义规则:OHOS\_\{SUBSYSTEM\}\_\{COMPONENT\}\_\{FEATURE\} -2)组件对外可配置的特性变量需声明在该组件BUILD.gn中,特性变量命名规则:ohos\_\{subsystem\}\_\{component\}\_\{feature\}。特性在组件描述中也需要同步定义,在产品配置文件config.json中按需配置。 + >![](../public_sys-resources/icon-note.gif) **说明:** + >组件的编译脚本语言为gn,gn的基本用法请见[gn快速入门](https://gn.googlesource.com/gn/+/master/docs/quick_start.md)。组件即为gn定义的编译目标,可以为静态库、动态库、可执行文件或group。 -3)宏定义规则:OHOS\_\{SUBSYSTEM\}\_\{COMPONENT\}\_\{FEATURE\} 以图形的UI组件为例,foundation/graphic/ui/BUILD.gn文件如下: @@ -180,9 +206,13 @@ component } ``` -- **芯片解决方案** +### **芯片解决方案** -芯片解决方案是指基于某款开发板的完整解决方案,包含驱动、设备侧接口适配、开发板sdk等。芯片解决方案是一个特殊的组件,源码路径规则为:_device/\{芯片解决方案厂商\}/\{开发板\}_。芯片解决方案组件会随产品选择的开发板默认编译。芯片解决方案目录树规则如下: +- 芯片解决方案是指基于某款开发板的完整解决方案,包含驱动、设备侧接口适配、开发板sdk等。 +- 芯片解决方案是一个特殊的组件,源码路径规则为:**device/\{芯片解决方案厂商\}/\{开发板\}**。 +- 芯片解决方案组件会随产品选择的开发板默认编译。 + +芯片解决方案目录树规则如下: ``` device @@ -196,7 +226,10 @@ device └── config.gni # liteos_a版本编译配置 ``` -config.gni为开发板编译相关的配置。编译时会采用该配置文件中的参数选择编译相应的OS组件,编译阶段系统全局可见。关键字段介绍如下: +>![](../public_sys-resources/icon-note.gif) **说明:** +>config.gni为开发板编译相关的配置,编译时会采用该配置文件中的参数编译所有OS组件,编译阶段系统全局可见。 + +config.gni的关键字段介绍如下: ``` kernel_type: 开发板使用的内核类型,例如:“liteos_a”, “liteos_m”, “linux”。 @@ -211,9 +244,11 @@ board_cxx_flags: 开发板配置的cpp文件编译选项。 board_ld_flags: 开发板配置的链接选项。 ``` -- **产品解决方案** +### **产品解决方案** -产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、组件拼装配置、启动配置和文件系统配置等。源码路径规则为:_vendor/\{产品解决方案厂商\}/\{产品名称\}。_产品解决方案也是一个特殊的组件,目录树规则如下: +产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、组件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:**vendor/\{产品解决方案厂商\}/\{产品名称\}**_。_产品解决方案也是一个特殊的组件。 + +产品解决方案的目录树规则如下: ``` vendor @@ -229,25 +264,24 @@ vendor └── ...... ``` -新增产品须按如上的规则创建目录和文件,编译构建系统将按该规则扫描已配置的产品。关键的目录和文件详细介绍如下: - -1. vendor/company/product/init\_configs/etc +>![](../public_sys-resources/icon-caution.gif) **注意:** +>**新增产品须按如上的规则创建目录和文件,编译构建系统将按该规则扫描已配置的产品。** - 该文件夹中包含rcS脚本,Sxxx脚本和fstab脚本,init进程在启动系统服务之前执行这些脚本。执行的流程为“rcS-\>fstab-\>S00-xxx“,Sxxx脚本中的内容与开发板和产品需要有关,主要包括设备节点的创建、创建目录、扫描设备节点、修改文件权限等等。这些文件在产品编译的BUILD.gn中按需拷贝到产品out目录中,最终打包到rootfs镜像中。 - -2. vendor/company/product/init\_configs/init.cfg - - init进程启动服务的配置文件,当前支持解析的命令有: +关键的目录和文件详细介绍如下: - 1\) start: 启动某个服务 +1. **vendor/company/product/init\_configs/etc** - 2\) mkdir: 创建文件夹 + 该文件夹中包含rcS脚本,Sxxx脚本和fstab脚本。init进程在启动系统服务之前执行这些脚本。执行的流程为“rcS-\>fstab-\>S00-xxx“。Sxxx脚本中的内容与开发板和产品需要有关,主要包括设备节点的创建、创建目录、扫描设备节点、修改文件权限等等。这些文件在产品编译的BUILD.gn中按需拷贝到产品out目录中,最终打包到rootfs镜像中。 - 3)chmod: 修改指定路径/文件的权限 +2. **vendor/company/product/init\_configs/init.cfg** - 4\) chown: 修改指定路径/文件的属组 + init进程启动服务的配置文件,当前支持解析的命令有: - 5\) mount: 挂载命令 + - start: 启动某个服务 + - mkdir: 创建文件夹 + - chmod: 修改指定路径/文件的权限 + - chown: 修改指定路径/文件的属组 + - mount: 挂载命令 该文件中的各个字段的解释如下: @@ -273,7 +307,7 @@ vendor "start service1" ] }, { - "name" : "post-init", # 最后别执行的job, init进程启动完成后的处理(如驱动初始化后再mount设备) + "name" : "post-init", # 最后执行的job, init进程启动完成后的处理(如驱动初始化后再mount设备) "cmds" : [] } ], @@ -291,13 +325,15 @@ vendor } ``` -3. vendor/company/product/init\_configs/hals +3. **vendor/company/product/init\_configs/hals** 解决方案厂商对OS的适配,需要实现的接口请见各个组件的readme说明文档。 -4. vendor/company/product/config.json +4. **vendor/company/product/config.json** + + config.json为编译构建的主入口,包含了开发板、OS组件和内核等配置信息。 - config.json为编译构建的主入口,包含了开发板、OS组件和内核等配置信息。以基于hispark\_taurus开发板的ipcamera产品为例,配置文件如下: + 以基于hispark\_taurus开发板的ipcamera产品为例,配置文件如下: ``` { @@ -323,7 +359,7 @@ vendor } ``` -5. vendor/company/product/fs.yml +5. **vendor/company/product/fs.yml** 该文件用于配置文件系统镜像制作过程,将编译产物打包成文件系统镜像,比如用户态根文件系统rootfs.img和可读写的userfs.img。它由多个列表组成,每个列表对应一个文件系统。字段说明如下: @@ -361,10 +397,10 @@ vendor - $\{fs\_dir\_name\} - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >fs.yml是可选的,对于没有文件系统的设备可不配置。 -6. vendor/company/product/BUILD.gn +6. **vendor/company/product/BUILD.gn** 产品编译的入口,主要用于编译解决方案厂商源码和拷贝启动配置文件。如果某个产品被选择为要编译的产品,那么对应产品目录下的BUILD.gn会默认编译。一个典型的产品编译BUILD.gn应该如下: @@ -379,3 +415,582 @@ vendor ``` +## 使用指导 + +### 前提条件 + +开发环境需安装gn、ninja构建工具、python 3.7.4及以上和hb。安装方法请见[搭建系统基础环境](../quick-start/quickstart-lite-env-setup.md)。 + +### hb工具使用说明 + +hb是OpenHarmony的命令行工具,用来执行编译命令。以下对hb的常用命令进行说明。 + +**hb set** + +``` +hb set -h +usage: hb set [-h] [-root [ROOT_PATH]] [-p] + +optional arguments: + -h, --help show this help message and exit + -root [ROOT_PATH], --root_path [ROOT_PATH] + Set OHOS root path + -p, --product Set OHOS board and kernel +``` + +- hb set 后无参数,进入默认设置流程 +- hb set -root dir可直接设置代码根目录 +- hb set -p设置要编译的产品 + +**hb env** + +查看当前设置信息 + +``` +hb env +[OHOS INFO] root path: xxx +[OHOS INFO] board: hispark_taurus +[OHOS INFO] kernel: liteos +[OHOS INFO] product: ipcamera +[OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera +[OHOS INFO] device path: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19 +``` + +**hb build** + +``` +hb build -h +usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]] + [--dmverity] [--tee] [-p PRODUCT] [-f] [-n] + [-T [TARGET [TARGET ...]]] [-v] [-shs] [--patch] + [component [component ...]] + +positional arguments: + component name of the component + +optional arguments: + -h, --help show this help message and exit + -b BUILD_TYPE, --build_type BUILD_TYPE + release or debug version + -c COMPILER, --compiler COMPILER + specify compiler + -t [TEST [TEST ...]], --test [TEST [TEST ...]] + compile test suit + --dmverity Enable dmverity + --tee Enable tee + -p PRODUCT, --product PRODUCT + build a specified product with + {product_name}@{company}, eg: camera@huawei + -f, --full full code compilation + -n, --ndk compile ndk + -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]] + Compile single target + -v, --verbose show all command lines while building + -shs, --sign_haps_by_server + sign haps by server + --patch apply product patch before compiling + + --dmverity Enable dmverity + -p PRODUCT, --product PRODUCT + build a specified product with + {product_name}@{company}, eg: ipcamera@hisilcon + -f, --full full code compilation + -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]] + Compile single target +``` + +- hb build后无参数,会按照设置好的代码路径、产品进行编译,编译选项使用与之前保持一致。-f 选项将删除当前产品所有编译产品,等同于hb clean + hb build. +- hb build \{component\_name\}:基于设置好的产品对应的单板、内核,单独编译组件(e.g.:hb build kv\_store\)。 +- hb build -p ipcamera@hisilicon:免set编译产品,该命令可以跳过set步骤,直接编译产品。 +- 在device/device\_company/board下单独执行hb build会进入内核选择界面,选择完成后会根据当前路径的单板、选择的内核编译出仅包含内核、驱动的镜像。 + +**hb clean** + +清除out目录对应产品的编译产物,仅保留args.gn、build.log。清除指定路径可输入路径参数:hb clean out/board/product,默认将清除当前hb set的产品对应out路径。 + +``` +hb clean +usage: hb clean [-h] [out_path] + +positional arguments: + out_path clean a specified path. + +optional arguments: + -h, --help show this help message and exit +``` + +### 新增组件 + +本小节介绍如何新增一个组件,首先确定组件归属的子系统和组件名称,然后按如下步骤新增: + +1. 源码开发完成后,添加组件编译脚本。 + + 以编译组件hello\_world可执行文件为例,applications/sample/hello\_world/BUILD.gn可以写为: + + ``` + executable("hello_world") { + include_dirs = [ + "include", + ] + sources = [ + "src/hello_world.c" + ] + } + ``` + + 如上编译脚本,可编译出一个可在OpenHarmony上运行的名为hello\_world的可执行文件。 + + 单独编译该组件,hb set任意选择一款产品,然后使用-T选项单独编译组件: + + ``` + hb build -f -T //applications/sample/hello_world + ``` + + 组件在开发板上功能验证完成后,可按[步骤2\~4](#li11471037297)将组件配置到产品中。 + +2. 添加组件描述。 + + 组件描述位于build/lite/components下,新增的组件需加入对应子系统的json文件中。一个组件描述必选的字段有: + + - component:组件名称。 + - description:组件的一句话功能描述。 + - optional:组件是否为系统可选。 + - dirs:组件源码路径。 + - targets:组件编译入口。 + + 以将hello\_world组件加入应用子系统为例,在applications.json中添加hello\_world对象: + + ``` + { + "components": [ + { + "component": "hello_world", + "description": "Hello world.", + "optional": "true", + "dirs": [ + "applications/sample/hello_world" + ], + "targets": [ + "//applications/sample/hello_world" + ] + }, + ... + ] + } + ``` + +3. 将组件配置到产品。 + + 产品的配置文件config.json位于位于vendor/company/product/下,产品配置文件需包含产品名称、OpenHarmony版本号、device厂商、开发板、内核类型、内核版本号,以及配置的子系统和组件。以将hello\_world组件加入产品配置文件my\_product.json中为例,加入hello\_wolrd对象: + + ``` + { + "product_name": "hello_world_test", + "ohos_version": "OpenHarmony 1.0", + "device_company": "hisilicon", + "board": "hispark_taurus", + "kernel_type": "liteos_a", + "kernel_version": "1.0.0", + "subsystems": [ + { + "subsystem": "applications", + "components": [ + { "component": "hello_world", "features":[] } + ] + }, + ... + ] + } + ``` + +4. 编译产品。 + + 1. 代码根目录输入hb set选择对应产品。 + + 2. 执行hb build。 + + +### 新增芯片解决方案 + +编译构建支持添加新的芯片解决方案厂商,具体步骤如下: + +1. 创建芯片解决方案目录。 + + 按照[芯片解决方案配置规则](#section1625463413327)创建目录,以芯片厂商realtek的“rtl8720“开发板为例, 在代码根目录执行: + + ``` + mkdir -p device/realtek/rtl8720 + ``` + +2. 创建内核适配目录,并编写开发板编译配置config.gni文件。 + + 以realtek的“rtl8720“开发板的liteos\_m适配为例,device/realtek/rtl8720/liteos\_a/config.gni的内容如下: + + ``` + # Kernel type, e.g. "linux", "liteos_a", "liteos_m". + kernel_type = "liteos_a" + + # Kernel version. + kernel_version = "3.0.0" + + # Board CPU type, e.g. "cortex-a7", "riscv32". + board_cpu = "real-m300" + + # Board arch, e.g. "armv7-a", "rv32imac". + board_arch = "" + + # Toolchain name used for system compiling. + # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. + # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. + board_toolchain = "gcc-arm-none-eabi" + + # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. + board_toolchain_path = + rebase_path("//prebuilts/gcc/linux-x86/arm/gcc-arm-none-eabi/bin", + root_build_dir) + + # Compiler prefix. + board_toolchain_prefix = "gcc-arm-none-eabi-" + + # Compiler type, "gcc" or "clang". + board_toolchain_type = "gcc" + + # Board related common compile flags. + board_cflags = [] + board_cxx_flags = [] + board_ld_flags = [] + ``` + +3. 编写编译脚本。 + + 在开发板目录下创建BUILD.gn,target名称应与开发板名称一致。以realtek的rtl8720开发板为例,device/realtek/rtl8720/BUILD.gn内容可以是: + + ``` + group("rtl8720") { # target类型也可以shared_library, static_library, executable + # 具体内容 + ...... + } + ``` + +4. 编译芯片解决方案。 + + 在开发板目录下执行hb build,即可启动芯片解决方案的编译。 + + +### 新增产品解决方案 + +编译构建支持芯片解决方案和组件的灵活拼装,形成定制化的产品解决方案。具体步骤如下: + +1. 创建产品目录 + + 按照[产品解决方案配置规则](#section1625463413327)创建产品目录,以基于“rtl8720“开发板的wifiiot模组为例,在代码根目录执行: + + ``` + mkdir -p vendor/my_company/wifiiot + ``` + +2. 拼装产品 + + 在新建的产品目录下新建config.json文件,以步骤1中的wifiiot为例,vendor/my\_company/wifiiot/config.json可以是: + + ``` + { + "product_name": "wifiiot", # 产品名称 + "ohos_version": "OpenHarmony 1.0", # 使用的OS版本 + "device_company": "realtek", # 芯片解决方案厂商名称 + "board": "rtl8720", # 开发板名称 + "kernel_type": "liteos_m", # 选择的内核类型 + "kernel_version": "3.0.0", # 选择的内核版本 + "subsystems": [ + { + "subsystem": "kernel", # 选择的子系统 + "components": [ + { "component": "liteos_m", "features":[] } # 选择的组件和组件特性 + ] + }, + ... + { + 更多子系统和组件 + } + ] + } + ``` + + 注意:编译构建系统编译前会对device\_company,board,kernel\_type,kernel\_version、subsystem、component字段进行有效性检查,其中device\_company,board,kernel\_type,kernel\_version应与已知的芯片解决方案匹配,subsystem、component应与build/lite/components下的组件描述匹配。 + +3. 适配OS接口 + + 在产品目录下创建hals目录,并将产品解决方案对OS适配的源码和编译脚本放入该目录下。 + +4. 配置系统服务 + + 在产品目录下创建init\_configs目录,并在init\_configs目录下创建init.cfg文件,按需配置要启动的系统服务。 + +5. 配置init进程(仅linux内核需要) + + 在init\_configs目录下创建etc目录,然后在etc下创建init.d文件夹和fstab文件。最后按产品需求在init.d文件下创建并编辑rcS文件和Sxxx文件。 + +6. 配置文件系统镜像(可选,仅支持文件系统的开发板需要) + + 在产品目录下创建fs.yml文件。fs.yml需按产品实际情况配置,一个典型的fs.yml文件如下: + + ``` + - + fs_dir_name: rootfs # 镜像的名称 + fs_dirs: + - + # 将编译生成的out/my_board/my_product/bin目录下的文件拷贝到rootfs/bin中,并忽略测试bin + source_dir: bin + target_dir: bin + ignore_files: + - Test.bin + - TestSuite.bin + - + # 将编译生成的out/my_board/my_product/libs目录下的文件拷贝到rootfs/lib中,忽略所有.a文件,并设置文件和文件夹的权限为644和755 + source_dir: libs + target_dir: lib + ignore_files: + - .a + dir_mode: 755 + file_mode: 644 + - + source_dir: usr/lib + target_dir: usr/lib + ignore_files: + - .a + dir_mode: 755 + file_mode: 644 + - + source_dir: config + target_dir: etc + - + source_dir: system + target_dir: system + - + source_dir: sbin + target_dir: sbin + - + source_dir: usr/bin + target_dir: usr/bin + - + source_dir: usr/sbin + target_dir: usr/sbin + - + # 创建一个proc空目录 + target_dir: proc + - + target_dir: mnt + - + target_dir: opt + - + target_dir: tmp + - + target_dir: var + - + target_dir: sys + - + source_dir: etc + target_dir: etc + - + source_dir: vendor + target_dir: vendor + - + target_dir: storage + + fs_filemode: + - + file_dir: lib/ld-uClibc-0.9.33.2.so + file_mode: 555 + - + file_dir: lib/ld-2.24.so + file_mode: 555 + - + file_dir: etc/init.cfg + file_mode: 400 + fs_symlink: + - + # 在rootfs/lib下创建软连接ld-musl-arm.so.1 -> libc.so + source: libc.so + link_name: ${fs_dir}/lib/ld-musl-arm.so.1 + - + source: mksh + link_name: ${fs_dir}/bin/sh + - + source: mksh + link_name: ${fs_dir}/bin/shell + fs_make_cmd: + # 使用脚本将rootfs制作为ext4格式的image + - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 + - + fs_dir_name: userfs + fs_dirs: + - + source_dir: storage/etc + target_dir: etc + - + source_dir: data + target_dir: data + fs_make_cmd: + - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 + + ``` + +7. 配置产品Patch(可选,视产品涉及组件是否需要打补丁而定) + + 在产品目录下创建patch.yml文件。patch.yml需按产品实际情况配置,一个典型的patch.yml文件如下: + + ``` + # 需要打patch的路径 + foundation/communication/dsoftbus: + # 该路径下需要打的patch存放路径 + - foundation/communication/dsoftbus/1.patch + - foundation/communication/dsoftbus/2.patch + third_party/wpa_supplicant: + - third_party/wpa_supplicant/1.patch + - third_party/wpa_supplicant/2.patch + - third_party/wpa_supplicant/3.patch + ... + ``` + + 配置完成后,编译时增加--patch参数,即可在产品编译前将配置的Patch文件打到对应目录中,再进行编译: + + ``` + hb build -f --patch + ``` + +8. 编写编译脚本 + + 在产品目录下创建BUILD.gn文件,按产品实际情况编写脚本。以步骤1中的wifiiot为例,BUILD.gn示例如下: + + ``` + group("wifiiot") { # target名称与产品名一致 + deps = [] + # 拷贝init配置 + deps += [ "init_configs" ] + # 将hals加入编译 + deps += [ "hals" ] + # 其他 + ...... + } + ``` + +9. 编译产品。 + + 在代码根目录执行hb set按提示选择新增的产品,然后执行hb build即可启动编译。 + + +## 常见问题 + +### ninja版本问题导致编译失败 + +- **现象描述:** + + 编译失败,提示“usr/sbin/ninja: invalid option -- w”。 + +- **可能原因:** + + 编译环境中ninja版本太低,不支持--w选项。 + +- **解决办法:** + + 卸载环境中ninja和gn,按照HarmonyOS官网[获取工具](../get-code/gettools-ide.md)。 + + +### ncurses库缺失导致编译失败 + +- **现象描述:** + + 编译失败,提示“/usr/bin/ld: cannot find -lncurses”。 + +- **可能原因:** + + 编译环境ncurses库缺失。 + +- **解决办法:** + + ``` + sudo apt-get install lib32ncurses5-dev + ``` + + +### 未安装mcopy导致编译失败 + +- **现象描述:** + + ​编译失败,提示“line 77: mcopy: command not found”。 + +- **可能原因:** + + 编译环境未安装mcopy。 + +- **解决办法:** + + ``` + ​sudo apt-get install dosfstools mtools + ``` + + +### 权限问题导致编译失败 + +- **现象描述:** + + 编译失败,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。 + +- ​**可能原因:** + + 当前用户对riscv编译器路径下的文件访问权限不够。 + +- ​**解决办法:** + + 查询gcc\_riscv32所在目录。 + + ``` + which riscv32-unknown-elf-gcc + ``` + + 使用chmod命令修改目录权限为755。 + + +### 未安装Crypto导致编译失败 + +- **现象描述:** + + 编译失败,提示“No module named 'Crypto'”。 + +- **可能原因:** + + python3未安装Crypto。 + +- **解决办法:** + 1. 查询Python版本号。 + + ``` + python3 --version + ``` + + 2. 需使用python3.7以上版本,然后安装pycryptodome。 + + ``` + sudo pip3 install pycryptodome + ``` + + + +### 编译环境为shell导致编译失败 + +- **现象描述:** + + 编译失败:“xx.sh \[: xx unexpected operator”。 + +- **可能原因:** + + 编译环境shell不是bash。 + +- **解决办法:** + + ``` + sudo rm -rf /bin/sh + sudo ln -s /bin/bash /bin/sh + ``` + + diff --git "a/zh-cn/device-dev/subsystems/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-build-mini.md old mode 100755 new mode 100644 similarity index 31% rename from "zh-cn/device-dev/subsystems/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-build-mini.md index e85c33895c2..df6e2e0c54c --- "a/zh-cn/device-dev/subsystems/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-build-mini.md @@ -1,9 +1,5 @@ # 轻量和小型系统编译构建指导 -- **[编译构建概述](编译构建概述.md)** - -- **[编译构建使用指导](编译构建使用指导.md)** - -- **[编译构建常见问题](编译构建常见问题.md)** +- **[编译构建子系统—轻量和小型系统](subsys-build-mini-lite.md)** diff --git "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274-1.md" b/zh-cn/device-dev/subsystems/subsys-build-standard-large.md old mode 100755 new mode 100644 similarity index 66% rename from "zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274-1.md" rename to zh-cn/device-dev/subsystems/subsys-build-standard-large.md index 661ff10cf6b..9259a8073d9 --- "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274-1.md" +++ b/zh-cn/device-dev/subsystems/subsys-build-standard-large.md @@ -1,12 +1,73 @@ -# 编译构建使用指导 +# 标准系统编译构建指导 -- [目录结构](#section56731811102915) -- [编译](#section1069873833818) - - [编译命令](#section2740182614395) +- [概述](#section17466112012244) + - [基本概念](#section445513507246) + - [运作机制](#section12541217142510) + - [约束与限制](#section886933762513) -- [开发步骤](#section4207112818418) +- [编译构建使用指导](#section16901215262) + - [目录结构](#section109065332264) + - [编译命令](#section123265539266) + - [开发步骤](#section591084422719) -## 目录结构 + +## 概述 + +编译构建子系统提供了一个基于gn和ninja的编译构建框架。主要提供以下功能: + +- 构建不同芯片平台的产品。如:Hi3516DV300平台。 + +- 根据产品配置可以按照组件组装打包产品需要的能力。 + +### 基本概念 + +在了解编译构建子系统的能力前,应了解如下基本概念: + +- 平台 + + 开发板和内核的组合,不同平台支持的子系统和组件不同。 + +- 子系统 + + OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 \> 子系统 \> 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或组件。子系统是一个逻辑概念,它具体由对应的组件构成。 + +- 组件 + + 对子系统的进一步拆分,可复用的软件单元,它包含源码、配置文件、资源文件和编译脚本;能独立构建,以二进制方式集成,具备独立验证能力的二进制单元。 + +- gn + + Generate ninja的缩写,用于产生ninja文件。 + +- ninja + + ninja是一个专注于速度的小型构建系统。 + + +### 运作机制 + +OpenHarmony侧的编译构建流程主要包括编译命令行解析,调用gn,执行ninja: + +- 命令行解析:解析待编译的产品名称,加载相关配置。 +- 调用gn: 根据命令行解析的产品名称和编译类型,配置编译工具链和全局的编译选项。 +- 执行ninja:启动编译并生成对应的产品版本。 + +### 约束与限制 + +- 需按照[源码获取](../get-code/sourcecode-acquire.md)指导下载全量源码(采用方式三获取)。 +- 编译环境需要Ubuntu18.04及以上版本。 +- 安装编译所需的程序包。 + + 安装命令: + + ``` + sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 + ``` + + +## 编译构建使用指导 + +### 目录结构 ``` /build # 编译构建主目录 @@ -27,9 +88,7 @@ └── toolchain # 编译工具链配置 ``` -## 编译 - -### 编译命令 +### 编译命令 - 代码根目录下执行全量版本的编译命令: @@ -51,7 +110,7 @@ ``` -## 开发步骤 +### 开发步骤 1. 添加组件。 diff --git "a/zh-cn/device-dev/subsystems/\346\240\207\345\207\206\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-build-standard.md similarity index 38% rename from "zh-cn/device-dev/subsystems/\346\240\207\345\207\206\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-build-standard.md index 6c6cf033328..d5d5ce6278b 100644 --- "a/zh-cn/device-dev/subsystems/\346\240\207\345\207\206\347\263\273\347\273\237\347\274\226\350\257\221\346\236\204\345\273\272\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-build-standard.md @@ -1,7 +1,5 @@ # 标准系统编译构建指导 -- **[编译构建概述](编译构建概述-0.md)** - -- **[编译构建使用指导](编译构建使用指导-1.md)** +- **[编译构建子系统—标准系统](subsys-build-standard-large.md)** diff --git a/zh-cn/device-dev/subsystems/subsys-build.md b/zh-cn/device-dev/subsystems/subsys-build.md new file mode 100644 index 00000000000..487b7bf7b22 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-build.md @@ -0,0 +1,7 @@ +# 编译构建 + +- **[轻量和小型系统编译构建指导](subsys-build-mini-lite.md)** + +- **[标准系统编译构建指导](subsys-build-standard-large.md)** + + diff --git "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\345\256\236\344\276\213.md" b/zh-cn/device-dev/subsystems/subsys-densor-demo.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\345\256\236\344\276\213.md" rename to zh-cn/device-dev/subsystems/subsys-densor-demo.md diff --git "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-densor-guide.md old mode 100755 new mode 100644 similarity index 91% rename from "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-densor-guide.md index 99c79334499..b8d7fa3101e --- "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-densor-guide.md @@ -25,7 +25,7 @@ void SensorDataCallbackImpl(SensorEvent *event) } ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >回调函数的格式为RecordSensorCallback类型。 1. 获取设备支持sensor列表 @@ -55,7 +55,7 @@ int32_t ret = ActivateSensor(0, &sensorUser); int32_t ret = SubscribeSensor(0, &sensorUser); ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >到这步就可以在实现的回调方法中获取到传感器数据。 1. 取消传感器数据订阅 diff --git "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-densor-overview.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-densor-overview.md index fa1d50d515b..caee5f57cad --- "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241\345\255\220\347\263\273\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/subsystems/subsys-densor-overview.md @@ -9,7 +9,7 @@ Sensor服务子系统提供了轻量级传感器服务基础框架,您可以 **图1** Sensor服务框架图 -![](figures/zh-cn_image_0000001077724150.png) +![](figure/zh-cn_image_0000001077724150.png) - Sensor API:提供传感器的基础API,主要包含查询传感器的列表、订阅/取消传感器数据、执行控制命令等,简化应用开发。 - Sensor Framework:主要实现传感器的订阅管理、数据通道的创建、销毁等,实现与传感器服务层的通信。 diff --git a/zh-cn/device-dev/subsystems/subsys-densor.md b/zh-cn/device-dev/subsystems/subsys-densor.md new file mode 100644 index 00000000000..2c5ea0dbbee --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-densor.md @@ -0,0 +1,9 @@ +# Sensor服务 + +- **[Sensor服务子系概述](subsys-densor-overview.md)** + +- **[Sensor服务子系使用指导](subsys-densor-guide.md)** + +- **[Sensor服务子系使用实例](subsys-densor-demo.md)** + + diff --git "a/zh-cn/device-dev/subsystems/HiLog_Lite\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-dfx-hilog-lite.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/HiLog_Lite\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-dfx-hilog-lite.md diff --git "a/zh-cn/device-dev/subsystems/HiLog\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-dfx-hilog-rich.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/HiLog\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-dfx-hilog-rich.md diff --git "a/zh-cn/device-dev/subsystems/HiSysEvent\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-dfx-hisysevent.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/HiSysEvent\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-dfx-hisysevent.md diff --git a/zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md b/zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md new file mode 100644 index 00000000000..333dd112b45 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md @@ -0,0 +1,103 @@ +# HiSysEvent订阅指导 + +- [概述](#section315316685112) +- [接口说明](#section0342191810519) +- [开发实例](#section123181432175110) + +## 概述 + +HiSysEvent提供了跨进程订阅机制,用户可以通过注册订阅接口。 + +## 接口说明 + +**表 1** HiSysEvent订阅接口 + + +

    参数

    @@ -384,3 +494,73 @@ void SpiClose\(DevHandle handle\); SpiClose(spiHandle); /* 销毁SPI设备句柄 */ ``` +## 使用实例 + +SPI设备完整的使用示例如下所示,首先获取SPI设备句柄,然后配置SPI设备属性,接着调用读写接口进行数据传输,最后销毁SPI设备句柄。 + +``` +#include "hdf_log.h" +#include "spi_if.h" + +void SpiTestSample(void) +{ + int32_t ret; + struct SpiCfg cfg; /* SPI配置信息 */ + struct SpiDevInfo spiDevinfo; /* SPI设备描述符 */ + DevHandle spiHandle = NULL; /* SPI设备句柄 */ + struct SpiMsg msg; /* 自定义传输的消息 */ + uint8_t rbuff[4] = { 0 }; + uint8_t wbuff[4] = { 0x12, 0x34, 0x56, 0x78 }; + uint8_t wbuff2[4] = { 0xa1, 0xb2, 0xc3, 0xd4 }; + + spiDevinfo.busNum = 0; /* SPI设备总线号 */ + spiDevinfo.csNum = 0; /* SPI设备片选号 */ + spiHandle = SpiOpen(&spiDevinfo); /* 根据spiDevinfo获取SPI设备句柄 */ + if (spiHandle == NULL) { + HDF_LOGE("SpiOpen: failed\n"); + return; + } + /* 获取SPI设备属性 */ + ret = SpiGetCfg(spiHandle, &cfg); + if (ret != 0) { + HDF_LOGE("SpiGetCfg: failed, ret %d\n", ret); + goto err; + } + cfg.maxSpeedHz = 115200; /* 将最大时钟频率改为115200 */ + cfg.bitsPerWord = 8; /* 传输位宽改为8比特 */ + /* 配置SPI设备属性 */ + ret = SpiSetCfg(spiHandle, &cfg); + if (ret != 0) { + HDF_LOGE("SpiSetCfg: failed, ret %d\n", ret); + goto err; + } + /* 向SPI设备写入指定长度的数据 */ + ret = SpiWrite(spiHandle, wbuff, 4); + if (ret != 0) { + HDF_LOGE("SpiWrite: failed, ret %d\n", ret); + goto err; + } + /* 从SPI设备读取指定长度的数据 */ + ret = SpiRead(spiHandle, rbuff, 4); + if (ret != 0) { + HDF_LOGE("SpiRead: failed, ret %d\n", ret); + goto err; + } + msg.wbuf = wbuff2; /* 写入的数据 */ + msg.rbuf = rbuff; /* 读取的数据 */ + msg.len = 4; /* 读取写入数据的长度为4 */ + msg.csChange = 1; /* 进行下一次传输前关闭片选 */ + msg.delayUs = 0; /* 进行下一次传输前不进行延时 */ + msg.speed = 115200; /* 本次传输的速度 */ + /* 进行一次自定义传输,传输的msg个数为1 */ + ret = SpiTransfer(spiHandle, &msg, 1); + if (ret != 0) { + HDF_LOGE("SpiTransfer: failed, ret %d\n", ret); + goto err; + } +err: + /* 销毁SPI设备句柄 */ + SpiClose(spiHandle); +} +``` + diff --git "a/zh-cn/device-dev/driver/UART\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-uart-des.md old mode 100755 new mode 100644 similarity index 69% rename from "zh-cn/device-dev/driver/UART\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-uart-des.md index 1d1ee50a8c1..182cad984a4 --- "a/zh-cn/device-dev/driver/UART\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-uart-des.md @@ -1,32 +1,141 @@ -# UART使用指导 +# UART -- [使用流程](#section47784125013) -- [获取UART设备句柄](#section146445153110) -- [UART设置波特率](#section1862705516339) -- [UART获取波特率](#section1263651563414) -- [UART设置设备属性](#section1770091483814) -- [UART获取设备属性](#section117543316384) -- [设置UART传输模式](#section187233112369) -- [向UART设备写入指定长度的数据](#section82416423368) -- [从UART设备中读取指定长度的数据](#section192177171373) -- [销毁UART设备句柄](#section63131236354) +- [概述](#section833012453535) + - [接口说明](#section1680292311549) -## 使用流程 +- [使用指导](#section12779050105412) + - [使用流程](#section1858116395510) + - [获取UART设备句柄](#section124512065617) + - [UART设置波特率](#section86881004579) + - [UART获取波特率](#section897032965712) + - [UART设置设备属性](#section129141884588) + - [UART获取设备属性](#section18689637165812) + - [设置UART传输模式](#section72713435918) + - [向UART设备写入指定长度的数据](#section128001736155919) + - [从UART设备中读取指定长度的数据](#section92851601604) + - [销毁UART设备句柄](#section1477410521406) -使用UART的一般流程如[图1](#p58686354483)所示。 +- [使用实例](#section35404241311) -**图 1** UART使用流程图 +## 概述 +- UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的缩写,是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输。 +- UART应用比较广泛,常用于输出打印信息,也可以外接各种模块,如GPS、蓝牙等。 +- 两个UART设备的连接示意图如下,UART与其他模块一般用2线(图1)或4线(图2)相连,它们分别是: + - TX:发送数据端,和对端的RX相连; + - RX:接收数据端,和对端的TX相连; + - RTS:发送请求信号,用于指示本设备是否准备好,可接受数据,和对端CTS相连; + - CTS:允许发送信号,用于判断是否可以向对端发送数据,和对端RTS相连; -![](figures/zh-cn_image_0000001054006983.png) + **图 1** 2线UART设备连接示意图 + -## 获取UART设备句柄 + ![](figure/zh-cn_image_0000001170262141.png) + + **图 2** 4线UART设备连接示意图 + + + ![](figure/zh-cn_image_0000001123582482.png) + + +- UART通信之前,收发双方需要约定好一些参数:波特率、数据格式(起始位、数据位、校验位、停止位)等。通信过程中,UART通过TX发送给对端数据,通过RX接收对端发送的数据。当UART接收缓存达到预定的门限值时,RTS变为不可发送数据,对端的CTS检测到不可发送数据,则停止发送数据。 +- UART接口定义了操作UART端口的通用方法集合,包括获取、释放设备句柄、读写数据、获取和设置波特率、获取和设置设备属性。 + +### 接口说明 + +**表 1** UART驱动API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    UART获取/释放设备句柄

    +

    +

    UartOpen

    +

    UART获取设备句柄

    +

    UartClose

    +

    UART释放设备句柄

    +

    UART读写接口

    +

    +

    UartRead

    +

    从UART设备中读取指定长度的数据

    +

    UartWrite

    +

    向UART设备中写入指定长度的数据

    +

    UART获取/设置波特率接口

    +

    UartGetBaud

    +

    UART获取波特率

    +

    UartSetBaud

    +

    UART设置波特率

    +

    UART获取/设置设备属性

    +

    +

    UartGetAttribute

    +

    UART获取设备属性

    +

    UartSetAttribute

    +

    UART设置设备属性

    +

    UART设置传输模式

    +

    UartSetTransMode

    +

    UART设置传输模式

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 + +使用UART的一般流程如[图3](#fig1852173020185)所示。 + +**图 3** UART使用流程图 + + +![](figure/zh-cn_image_0000001170227689.png) + +### 获取UART设备句柄 在使用UART进行通信时,首先要调用UartOpen获取UART设备句柄,该函数会返回指定端口号的UART设备句柄。 DevHandle UartOpen\(uint32\_t port\); -**表 1** UartOpen参数和返回值描述 +**表 2** UartOpen参数和返回值描述

    参数

    @@ -70,13 +179,13 @@ if (handle == NULL) { } ``` -## UART设置波特率 +### UART设置波特率 在通信之前,需要设置UART的波特率,设置波特率的函数如下所示: int32\_t UartSetBaud\(DevHandle handle, uint32\_t baudRate\); -**表 2** UartSetBaud参数和返回值描述 +**表 3** UartSetBaud参数和返回值描述

    参数

    @@ -124,13 +233,13 @@ if (ret != 0) { } ``` -## UART获取波特率 +### UART获取波特率 设置UART的波特率后,可以通过获取波特率接口来查看UART当前的波特率,获取波特率的函数如下所示: int32\_t UartGetBaud\(DevHandle handle, uint32\_t \*baudRate\); -**表 3** UartGetBaud参数和返回值描述 +**表 4** UartGetBaud参数和返回值描述

    参数

    @@ -179,13 +288,13 @@ if (ret != 0) { } ``` -## UART设置设备属性 +### UART设置设备属性 在通信之前,需要设置UART的设备属性,设置设备属性的函数如下图所示: int32\_t UartSetAttribute\(DevHandle handle, struct UartAttribute \*attribute\); -**表 4** UartSetAttribute参数和返回值描述 +**表 5** UartSetAttribute参数和返回值描述

    参数

    @@ -241,13 +350,13 @@ if (ret != 0) { } ``` -## UART获取设备属性 +### UART获取设备属性 设置UART的设备属性后,可以通过获取设备属性接口来查看UART当前的设备属性,获取设备属性的函数如下图所示: int32\_t UartGetAttribute\(DevHandle handle, struct UartAttribute \*attribute\); -**表 5** UartGetAttribute参数和返回值描述 +**表 6** UartGetAttribute参数和返回值描述

    参数

    @@ -296,13 +405,13 @@ if (ret != 0) { } ``` -## 设置UART传输模式 +### 设置UART传输模式 在通信之前,需要设置UART的传输模式,设置传输模式的函数如下图所示: int32\_t UartSetTransMode\(DevHandle handle, enum UartTransMode mode\); -**表 6** UartSetTransMode参数和返回值描述 +**表 7** UartSetTransMode参数和返回值描述 - - diff --git "a/zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" b/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" rename to zh-cn/device-dev/porting/transplant-thirdparty-makefile.md index a2a6a92ee5a..ddabc1ef30a --- "a/zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" +++ b/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md @@ -148,7 +148,7 @@ ## 测试 -yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法: +yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法: **表 3** 生成的test目录结构示意 @@ -236,7 +236,7 @@ echo "All tests completed successfully." ## 将该库编译添加到OpenHarmony工程中 -yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下: +yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下: - yxml库新增的BUILD.gn实现如下: @@ -289,7 +289,7 @@ if (TEST_ENABLE == "YES") { - diff --git "a/zh-cn/device-dev/porting/\346\246\202\350\277\260.md" b/zh-cn/device-dev/porting/transplant-thirdparty-overview.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/porting/\346\246\202\350\277\260.md" rename to zh-cn/device-dev/porting/transplant-thirdparty-overview.md diff --git a/zh-cn/device-dev/porting/transplant-thirdparty.md b/zh-cn/device-dev/porting/transplant-thirdparty.md new file mode 100644 index 00000000000..ca27b2d3398 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-thirdparty.md @@ -0,0 +1,9 @@ +# 三方库移植指导 + +- **[概述](transplant-thirdparty-overview.md)** + +- **[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md)** + +- **[Makefile方式组织编译的库移植](transplant-thirdparty-makefile.md)** + + diff --git a/zh-cn/device-dev/porting/transplant.md b/zh-cn/device-dev/porting/transplant.md new file mode 100644 index 00000000000..bc8d8a3ad12 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant.md @@ -0,0 +1,9 @@ +# 移植 + +- **[三方库移植指导](transplant-thirdparty.md)** + +- **[轻量系统芯片移植指导](transplant-minichip.md)** + +- **[小型系统芯片移植指导](transplant-smallchip.md)** + + diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" deleted file mode 100755 index e54970ed8fe..00000000000 --- "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 三方库移植指导 - -- **[概述](概述.md)** - -- **[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md)** - -- **[Makefile方式组织编译的库移植](Makefile方式组织编译的库移植.md)** - - diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" deleted file mode 100755 index c6c7b4103e7..00000000000 --- "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 三方芯片移植指导 - -- **[移植准备](移植准备.md)** - -- **[内核移植](内核移植.md)** - -- **[板级系统移植](板级系统移植.md)** - -- **[常见问题](常见问题.md)** - - diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" deleted file mode 100755 index 1dfe36434a1..00000000000 --- "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 内核移植 - -- **[移植概述](移植概述.md)** - -- **[内核基础适配](内核基础适配.md)** - -- **[内核移植验证](内核移植验证.md)** - - diff --git "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" "b/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" deleted file mode 100755 index 3029464912d..00000000000 --- "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 板级系统移植 - -- **[移植概述](移植概述-0.md)** - -- **[板级驱动适配](板级驱动适配.md)** - -- **[HAL层实现](HAL层实现.md)** - -- **[系统组件调用](系统组件调用.md)** - -- **[三方组件适配](三方组件适配.md)** - -- **[XTS认证](XTS认证.md)** - - diff --git a/zh-cn/device-dev/bundles/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/public_sys-resources/icon-caution.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/public_sys-resources/icon-caution.gif rename to zh-cn/device-dev/public_sys-resources/icon-caution.gif diff --git a/zh-cn/device-dev/bundles/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/public_sys-resources/icon-danger.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/public_sys-resources/icon-danger.gif rename to zh-cn/device-dev/public_sys-resources/icon-danger.gif diff --git a/zh-cn/device-dev/bundles/public_sys-resources/icon-note.gif b/zh-cn/device-dev/public_sys-resources/icon-note.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/public_sys-resources/icon-note.gif rename to zh-cn/device-dev/public_sys-resources/icon-note.gif diff --git a/zh-cn/device-dev/bundles/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/public_sys-resources/icon-notice.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/public_sys-resources/icon-notice.gif rename to zh-cn/device-dev/public_sys-resources/icon-notice.gif diff --git a/zh-cn/device-dev/bundles/public_sys-resources/icon-tip.gif b/zh-cn/device-dev/public_sys-resources/icon-tip.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/public_sys-resources/icon-tip.gif rename to zh-cn/device-dev/public_sys-resources/icon-tip.gif diff --git a/zh-cn/device-dev/bundles/public_sys-resources/icon-warning.gif b/zh-cn/device-dev/public_sys-resources/icon-warning.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/bundles/public_sys-resources/icon-warning.gif rename to zh-cn/device-dev/public_sys-resources/icon-warning.gif diff --git "a/zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277.md" "b/zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277.md" deleted file mode 100755 index 1a6f14d262b..00000000000 --- "a/zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277.md" +++ /dev/null @@ -1,11 +0,0 @@ -# Hi3516开发板 - -- **[安装开发板环境](安装开发板环境-2.md)** - -- **[运行Hello OHOS](运行Hello-OHOS.md)** - -- **[驱动开发示例](驱动开发示例.md)** - -- **[常见问题](常见问题-3.md)** - - diff --git "a/zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277.md" "b/zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277.md" deleted file mode 100755 index 61807ea64d5..00000000000 --- "a/zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277.md" +++ /dev/null @@ -1,9 +0,0 @@ -# Hi3518开发板 - -- **[安装开发板环境](安装开发板环境-4.md)** - -- **[运行Hello OHOS](运行Hello-OHOS-5.md)** - -- **[常见问题](常见问题-6.md)** - - diff --git "a/zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277.md" "b/zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277.md" deleted file mode 100755 index f6c5f5833f1..00000000000 --- "a/zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277.md" +++ /dev/null @@ -1,11 +0,0 @@ -# Hi3861开发板 - -- **[安装开发板环境](安装开发板环境.md)** - -- **[WLAN联网](WLAN联网.md)** - -- **[运行Hello World](运行Hello-World.md)** - -- **[常见问题](常见问题-1.md)** - - diff --git a/zh-cn/device-dev/quick-start/Readme-CN.md b/zh-cn/device-dev/quick-start/Readme-CN.md index 69991d66bec..f7f7e0d9315 100644 --- a/zh-cn/device-dev/quick-start/Readme-CN.md +++ b/zh-cn/device-dev/quick-start/Readme-CN.md @@ -1,41 +1,41 @@ # 快速入门 -- [轻量和小型系统入门](轻量和小型系统入门.md) - - [概述](概述.md) - - [了解开发板](了解开发板.md) - - [Hi3861开发板介绍](Hi3861开发板介绍.md) - - [Hi3516开发板介绍](Hi3516开发板介绍.md) - - [Hi3518开发板介绍](Hi3518开发板介绍.md) +- [轻量和小型系统入门](quickstart-lite.md) + - [概述](quickstart-lite-overview.md) + - [了解开发板](quickstart-lite-introduction.md) + - [Hi3861开发板介绍](quickstart-lite-introduction-hi3861.md) + - [Hi3516开发板介绍](quickstart-lite-introduction-hi3516.md) + - [Hi3518开发板介绍](quickstart-lite-introduction-hi3518.md) - - [搭建系统环境](搭建系统环境.md) - - [概述](概述-0.md) - - [Windows开发环境准备](Windows开发环境准备.md) - - [Ubuntu编译环境准备](Ubuntu编译环境准备.md) - - [常见问题](常见问题.md) + - [搭建系统环境](quickstart-lite-env-setup.md) + - [概述](quickstart-lite-env-setup-des.md) + - [Windows开发环境准备](quickstart-lite-env-setup-win.md) + - [Ubuntu编译环境准备](quickstart-lite-env-setup-lin.md) + - [常见问题](quickstart-lite-env-setup-faqs.md) - - [开发步骤](开发步骤.md) - - [Hi3861开发板](Hi3861开发板.md) - - [安装开发板环境](安装开发板环境.md) - - [WLAN联网](WLAN联网.md) - - [运行Hello World](运行Hello-World.md) - - [常见问题](常见问题-1.md) + - [开发步骤](quickstart-lite-steps.md) + - [Hi3861开发板](quickstart-lite-steps-board3861.md) + - [安装开发板环境](quickstart-lite-steps-board3861-setting.md) + - [WLAN联网](quickstart-lite-steps-board3861-connection.md) + - [运行Hello World](quickstart-lite-steps-board3861-running.md) + - [常见问题](quickstart-lite-steps-board3861-faqs.md) - - [Hi3516开发板](Hi3516开发板.md) - - [安装开发板环境](安装开发板环境-2.md) - - [运行Hello OHOS](运行Hello-OHOS.md) - - [驱动开发示例](驱动开发示例.md) - - [常见问题](常见问题-3.md) + - [Hi3516开发板](quickstart-lite-steps-board3516.md) + - [安装开发板环境](quickstart-lite-steps-board3516-setting.md) + - [运行Hello OHOS](quickstart-lite-steps-board3516-running.md) + - [驱动开发示例](quickstart-lite-steps-board3516-program.md) + - [常见问题](quickstart-lite-steps-board3516-faqs.md) - - [Hi3518开发板](Hi3518开发板.md) - - [安装开发板环境](安装开发板环境-4.md) - - [运行Hello OHOS](运行Hello-OHOS-5.md) - - [常见问题](常见问题-6.md) + - [Hi3518开发板](quickstart-lite-steps-board3518.md) + - [安装开发板环境](quickstart-lite-steps-board3518-setting.md) + - [运行Hello OHOS](quickstart-lite-steps-board3518-running.md) + - [常见问题](quickstart-lite-steps-board3518-faqs.md) -- [标准系统入门](标准系统入门.md) - - [入门介绍](入门介绍.md) - - [Windows开发环境准备](Windows开发环境准备-7.md) - - [搭建Ubuntu环境及编译(Docker方式)](搭建Ubuntu环境及编译(Docker方式).md) - - [搭建Ubuntu环境及编译(安装包方式)](搭建Ubuntu环境及编译(安装包方式).md) - - [镜像烧录](镜像烧录.md) - - [常见问题](常见问题-8.md) +- [标准系统入门](quickstart-standard.md) + - [常见问题](quickstart-lite-env-setup-faqs.md) + - [Windows开发环境准备](quickstart-standard-windows-environment.md) + - [搭建Ubuntu环境及编译(Docker方式)](quickstart-standard-docker-environment.md) + - [搭建Ubuntu环境及编译(安装包方式)](quickstart-standard-package-environment.md) + - [镜像烧录](quickstart-standard-burn.md) + - [常见问题](quickstart-standard-faq.md) diff --git a/zh-cn/device-dev/quick-start/figures/1.png b/zh-cn/device-dev/quick-start/figure/1.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/1.png rename to zh-cn/device-dev/quick-start/figure/1.png diff --git a/zh-cn/device-dev/quick-start/figures/10.png b/zh-cn/device-dev/quick-start/figure/10.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/10.png rename to zh-cn/device-dev/quick-start/figure/10.png diff --git a/zh-cn/device-dev/quick-start/figures/2.png b/zh-cn/device-dev/quick-start/figure/2.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/2.png rename to zh-cn/device-dev/quick-start/figure/2.png diff --git a/zh-cn/device-dev/quick-start/figures/2021-01-27_170334-17.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-16.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/2021-01-27_170334-17.png rename to zh-cn/device-dev/quick-start/figure/2021-01-27_170334-16.png diff --git a/zh-cn/device-dev/quick-start/figures/2021-01-27_170334-2.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-2.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/2021-01-27_170334-2.png rename to zh-cn/device-dev/quick-start/figure/2021-01-27_170334-2.png diff --git a/zh-cn/device-dev/quick-start/figures/2021-01-27_170334-5.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-5.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/2021-01-27_170334-5.png rename to zh-cn/device-dev/quick-start/figure/2021-01-27_170334-5.png diff --git a/zh-cn/device-dev/quick-start/figures/2021-01-27_170334.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/2021-01-27_170334.png rename to zh-cn/device-dev/quick-start/figure/2021-01-27_170334.png diff --git a/zh-cn/device-dev/quick-start/figures/3-0.png b/zh-cn/device-dev/quick-start/figure/3-0.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/3-0.png rename to zh-cn/device-dev/quick-start/figure/3-0.png diff --git a/zh-cn/device-dev/quick-start/figures/3.png b/zh-cn/device-dev/quick-start/figure/3.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/3.png rename to zh-cn/device-dev/quick-start/figure/3.png diff --git "a/zh-cn/device-dev/quick-start/figures/3516\346\255\243\351\235\242.png" "b/zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/3516\346\255\243\351\235\242.png" rename to "zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" diff --git "a/zh-cn/device-dev/quick-start/figures/3861\346\255\243\351\235\242.png" "b/zh-cn/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/3861\346\255\243\351\235\242.png" rename to "zh-cn/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" diff --git a/zh-cn/device-dev/quick-start/figures/4.png b/zh-cn/device-dev/quick-start/figure/4.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/4.png rename to zh-cn/device-dev/quick-start/figure/4.png diff --git a/zh-cn/device-dev/quick-start/figures/5-1.png b/zh-cn/device-dev/quick-start/figure/5-1.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/5-1.png rename to zh-cn/device-dev/quick-start/figure/5-1.png diff --git a/zh-cn/device-dev/quick-start/figures/5.png b/zh-cn/device-dev/quick-start/figure/5.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/5.png rename to zh-cn/device-dev/quick-start/figure/5.png diff --git a/zh-cn/device-dev/quick-start/figures/6.png b/zh-cn/device-dev/quick-start/figure/6.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/6.png rename to zh-cn/device-dev/quick-start/figure/6.png diff --git "a/zh-cn/device-dev/quick-start/figures/Hi3518EV300\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/Hi3518EV300\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/Hi3518EV300\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/Hi3518EV300\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/Hi3518\346\255\243\350\203\214\351\235\242.png" "b/zh-cn/device-dev/quick-start/figure/Hi3518\346\255\243\350\203\214\351\235\242.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/Hi3518\346\255\243\350\203\214\351\235\242.png" rename to "zh-cn/device-dev/quick-start/figure/Hi3518\346\255\243\350\203\214\351\235\242.png" diff --git "a/zh-cn/device-dev/quick-start/figures/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" "b/zh-cn/device-dev/quick-start/figure/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" rename to "zh-cn/device-dev/quick-start/figure/SCons\345\256\211\350\243\205\346\210\220\345\212\237\347\225\214\351\235\242-\347\211\210\346\234\254\350\246\201\346\261\2023-0-4\344\273\245\344\270\212.png" diff --git "a/zh-cn/device-dev/quick-start/figures/U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figures/changjian1-10.png b/zh-cn/device-dev/quick-start/figure/changjian1-10.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/changjian1-10.png rename to zh-cn/device-dev/quick-start/figure/changjian1-10.png diff --git a/zh-cn/device-dev/quick-start/figures/changjian1.png b/zh-cn/device-dev/quick-start/figure/changjian1.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/changjian1.png rename to zh-cn/device-dev/quick-start/figure/changjian1.png diff --git a/zh-cn/device-dev/quick-start/figures/chuankou1-6.png b/zh-cn/device-dev/quick-start/figure/chuankou1-6.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/chuankou1-6.png rename to zh-cn/device-dev/quick-start/figure/chuankou1-6.png diff --git a/zh-cn/device-dev/quick-start/figures/chuankou1.png b/zh-cn/device-dev/quick-start/figure/chuankou1.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/chuankou1.png rename to zh-cn/device-dev/quick-start/figure/chuankou1.png diff --git a/zh-cn/device-dev/quick-start/figures/qi1.png b/zh-cn/device-dev/quick-start/figure/qi1.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/qi1.png rename to zh-cn/device-dev/quick-start/figure/qi1.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001057335403.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001057335403.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001057335403.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001057335403.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001072468991.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072468991.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001072468991.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072468991.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001072757874.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072757874.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001072757874.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072757874.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001073840162.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001073840162.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001073840162.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001073840162.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001113969542.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001113969542.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001113969542.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001113969542.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001114129428.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001114129428.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001114129428.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001114129428.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001114129432.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001114129432.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001114129432.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001114129432.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001117463460.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001117463460.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001117463460.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001117463460.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001117621400.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001117621400.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001117621400.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001117621400.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311066.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311066.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311066.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311066.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311070.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311070.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311070.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311070.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311072.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311072.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311072.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311072.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311090.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311090.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311090.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311090.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311092.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311092.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311092.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311092.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311094.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311094.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311094.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311094.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311096.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311096.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311096.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311096.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311098.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311098.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311098.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311098.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311100.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311100.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311100.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311100.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311104.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311104.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311104.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311104.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311116.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311116.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311116.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311116.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311118.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311118.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128311118.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311118.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470864.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470864.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470864.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470864.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470880.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470880.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470880.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470880.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470900.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470900.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470900.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470900.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470902.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470902.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470902.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470902.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470904.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470904.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470904.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470904.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470906.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470906.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470906.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470906.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470908.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470908.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470908.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470908.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470922.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470922.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001128470922.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470922.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001130278040.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130278040.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001130278040.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130278040.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001130584312.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130584312.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001130584312.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130584312.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001142794291.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142794291.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001142794291.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142794291.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001142802505.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142802505.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001142802505.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142802505.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270699.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270699.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270699.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270699.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270713.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270713.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270713.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270713.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270715.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270715.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270715.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270715.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270727.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270727.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270727.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270727.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270729.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270729.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270729.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270729.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270731.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270731.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270731.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270731.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270733.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270733.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270733.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270733.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270735.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270735.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270735.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270735.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270737.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270737.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270737.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270737.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270739.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270739.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270739.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270739.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270743.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270743.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270743.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270743.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270749.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270749.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270749.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270749.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270751.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270751.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174270751.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270751.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350615.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350615.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350615.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350615.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350623.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350623.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350623.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350623.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350633.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350633.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350633.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350633.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350641.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350641.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350641.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350641.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350643.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350643.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350643.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350643.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350647.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350647.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350647.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350647.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350649.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350649.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350649.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350649.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350651.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350651.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350651.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350651.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350653.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350653.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350653.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350653.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350655.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350655.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350655.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350655.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350659.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350659.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350659.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350659.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350661.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350661.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350661.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350661.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350669.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350669.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001174350669.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350669.png diff --git a/zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001176317561.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001176317561.png similarity index 100% rename from zh-cn/device-dev/quick-start/figures/zh-cn_image_0000001176317561.png rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001176317561.png diff --git "a/zh-cn/device-dev/quick-start/figures/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" "b/zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" rename to "zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234.png" "b/zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234.png" rename to "zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" "b/zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" rename to "zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257.png" "b/zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257.png" rename to "zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\345\220\257\345\212\250\345\271\266\346\210\220\345\212\237\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250\345\271\266\346\210\220\345\212\237\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\345\220\257\345\212\250\345\271\266\346\210\220\345\212\237\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250\345\271\266\346\210\220\345\212\237\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\345\220\257\345\212\250\346\210\220\345\212\237\345\271\266\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250\346\210\220\345\212\237\345\271\266\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\345\220\257\345\212\250\346\210\220\345\212\237\345\271\266\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250\346\210\220\345\212\237\345\271\266\346\211\247\350\241\214\345\272\224\347\224\250\347\250\213\345\272\217\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\210\252\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\346\210\252\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\210\252\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\346\210\252\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" "b/zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" rename to "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" "b/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" rename to "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" "b/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" rename to "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257.png" "b/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257.png" rename to "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" "b/zh-cn/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" rename to "zh-cn/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" "b/zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" rename to "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" "b/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" rename to "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" "b/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" rename to "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" "b/zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" rename to "zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\350\256\276\347\275\256\345\233\276\344\276\213.png" "b/zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\350\256\276\347\275\256\345\233\276\344\276\213.png" rename to "zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" "b/zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" rename to "zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" diff --git "a/zh-cn/device-dev/quick-start/figures/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figures/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figures/3516\346\255\243\351\235\242-16.png" "b/zh-cn/device-dev/quick-start/figures/3516\346\255\243\351\235\242-16.png" deleted file mode 100644 index 6975fb5fef92e35dec2de84b7e7035a39794bdf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420903 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

    -`862MRvZSD;N654l!^>als0f^x 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

    71! z^Xut|DjN@$N@vz{>>+E@HGyqGOZS%tW5Ksqj^LZ&j=MdK#iI_-!=T)q+%T&t zE?twfFhWp2(4UAxHccG@sHUekO{0T%h^&(o>D?9t@|qR$rf5DHehBtslev>-~5^Ivi*wNlkPa*;X|mrj!F`mP>T+rTCx5zK$}S*w2DNx%+4Cp z!Pe_SVq1Y=`Xh{VCTO#~XRN`7T*pI>zePme#NiHVKrFtL(!Dccn|{^Vq`};z5v=!O z$W<}y=R)1fGfn|;$|KI`!9i@Zj3<9nQ?Jg zrlT7P`Utx;7As`?>x-Vz4vwSrKcHR}t;`#y&s34y+)|+vbpycA1#eMUR+aRe=a0eZ z*-)1pSh1eZOYFp0SF9K;U*YOSRlybw6*_P_jXD)GV?Ql z;)Ef3=3M0ZN*_&}+8CH({m~C>_)NwD4p~{f7H(b0xjAh`TL5oMEL=7_t6~aMhK}C> zd8^s)C#`>e9s2${SLBvxZymAOG<@|U2|%rV^#Iatjm3lQZ@5zdF0_M%P543mdAsK@ z7?T(WZcIq8Q{jaYD;nmXo@9>=x}>|vx{SI(o`wN~zOzE^2fvey8%_SK7VEoDUdH#s z2SxSwhj0ZI=L;>mcC;5l*Smy_$EiF*Tut6-%*5l{c&(<~sISyT zRCWq`9VK~YT6MhfUinLv)iG*&vvM}?tTyOn(uQuMUe>d#z~f>*CS>U2%;(tdDR9_w zN5R;9BOw)dNRZ=msqKGLr*uLr8-V|Cd3vEH^>BNtV2$-)VRDq)Fc$b zSJZ;YDdThu-#)Rb1VU&}CqzhHSvf{!Itrhgb1zH1-1|yUX4~Ig{q-3%S2N^P=VEqe5CWWZA}R~zCEV-%qwVir$C6G0&sQ&XBy!5ZeDJ&oaB-<-5PJ7lBtpCV?XXR~Yjj4yV!_{q`1ik3DMk z17$jDNNeUZho2uZ@B#XUGST(;%wgoZM3OY%=#AdnD|u(2`Kj5?I-wNHng_>N%*w0$ z+&aDv^_j-KH;hs&(IFCH< z57-&zU^@nzvc=*@01_Ev4AhD@7zS#J^YEX05`yghE=2LVHJAidVN~W^cAU9=Egr^C z-2!B|n`Nw&p6Oxr^(VS&w|6?pln2A=+{ssg5roh5o|+#2lE^(f)m0x-(+%oiPeNTX zMVQ0%K=2H;hFy6v>u_B(wor;Q&7R{nEOVuUx%lw%>+COIn^eIs^z*s2ts7J!Ve@mdc+PL)rm958;SttnP zmK#L`)?7{l{Y>EW@?o$1PEWFxZjNq{#6{%FzAU6?j_(^VfZquD8%Q?GEJ@4N4>)?y za^D9oRpVFY7U0${0hL5yep4PMy$>aHSf`J+h?FJznVhW!vBz`cJ$X-BKEZ_kYb#5k z#oq66vS(u>VQ;P?!!=XQ~%rgi6V#U1CLow6GlZ#gsqm{Jt!T$rg+XW1S zuS|eoIv6(tXK^$=`_>R&-a=K{n;=5wp!JiMhJe%JmgBX2o0DOTnf29q0fd8&L(hSZ z1H8vZpvUckz6<|?p$D*IfwMdDx7Akq+|t(jaMV`VxF&-_Hr;eSS0qC?PFgR24-sc2 zLUg`fZy!m9*c?g56&=b%;d{};6&e`fSMzZzA@gc0up71YS-@>@8ov|*=3j{1W@<5V z$1x84!w95eVBKyxEhC)nw>~`-oY1a@;6*q)l-rS1W3yCc4T;O|brNN?uT)cs*~$i-%v_P<`FFaupt!hYMx>aH-tG zM?93SAzw*PVbheZL=m>qMMbZ}45~Bk%&jWWCk@$zggFvh&7^9?Y|3VYCfUTf~f)``WF?{_#qAi}Us_-{p1eyvy=P%kgnGj`P?XN#~2$`QtO; z`D0X%&dPz#nDqVJX*^EAX{I`M$IS>>(R?{T@Un-vgNFB5z;|ZnDCj&pVfl8es7v;; zi`bvYisqp0TEn4I%2Q=$OK(%wXk0sFss5!q9(@C3Cch~%7{z;F*{t1CQd-XV*5OS` z>0SsJ(5C~)@p&TagrT>3+FPDAsR1QT3z`fic38>w`y;(ZDZB>GQn>Iv@;G~(mGtQl z3+u>79croGZ&Ol_&}yDn!SH(d2_*F_8tm(m0pSv9q7f%QHzg-ODYbS70T!sMET500 zpU)Jc3vKTdcszSq@rRncN<@1_ROgl+eT6>6@S3|GHdHnP*|WhXD6P$66Iv|8im5SF z(H$k5(6O@I5GUhQ1B(GeXBljOz6MZM^$<}9scOU1*JEZC=S~0{DbZ6mSH3VCjDb)y z>*&S9-=UTm-FS!!CL3#j_M%gUZl;sv%=402RC_PxM^4mgqG|<0LWPBDe?eU^GF2}w z^0<^7+80SFJIFi5S~WCKH;iczYHFRt_7WFDwj$zE6wBr2X~)0H`b13ftiowUS59Z{ zMS4bQUwoYKv1Ec`p-2L%x97V>tojE?)DMAiTAEL9ZNX2*>FuJ&>9|~Uy55J@f|-fP z_Aj4+?b-mS-Wqxs5uYFW4ER_hRHv@}2Z>7V0q&uvU%BRf%HffFL@ETjZ5@7Brd*HI z`pOI~+b0e&9SknR&%>NEV?*fVW_*~PfiX5AgqUCNR|fNVygY0&B$O*%W^OIHWqo<< zejD$VTi^9QVENbeH?->$PlcMc(Lf-Ua~gf=8xWTyET@iDttNXmD4x2L>{p1bNd3NzT}53dvz{+dD4*Et#l+68NU<=lJ!3ooZWus ze_5{df_S}0l=C`%#jjG9_j>^DQO7;=lHY;ZME;s=+{KbN=&0k0V(DR8(_0B}PzH6N zZ`v@m6FPPLc^Y^ZeQ_Kwds8*hW?2*P|5uZ9Tba{J85iq&;w6a)rdAh$z?1v+Kcd&n zftRT}v8R`Z_7^KkPO`zk)X5xpJL+TDxc`)~ZJpV%!?;sG^#Vj^n{WXRn z+i8?4q(X|A+GvW@nYto*;#dBjAzZFD{haq+qb~!5l|yoy~rcG=GzJB^iHgS?}$4t*3j^-urzm$M71PlXYT7M91wl zVtYa5A-`VTt@3^YSZ5hhw!(@wIHD!ECnhI8SENeR(uh@vW>}2S(#d(&AUx_)o_us+ zvn!#et~Y7z2C6@~n+po2{^*(8EQhV8v2kRzMu^@!ns3?xGpSV3ueoEQR0gr2SjJed zqNBM&X1ZNr8cLt}cvFPf#`SeSc7sSA%wWMK!R2zc@*yni_|99~V7xM_C$g0!SXYYu zLws@-pEqv}IYwO_)!Ku9euhZu4Em6bB~>G{KllTIIC*;wN*@BE>C&XQ%W!g`_o;H&e59qk1{{V_&f0yR*AJ=iz1> zffd`ndJ^iISZWzr@PozJ{KTC6$D3Bp5G$|5(o4$owXFm|BGT-=ur9PfAIEHfP2a`gs2Ph5>?tFG;P9uDS zFZc2h8oalcMMC=p&r=$`+TtW3$IF6>e&}k-WI`na9D)mV<{;OR!EH1yPxYyp~PB^C^~)w9=;a^ zw*$Qi@5Lhqshr3#Wrodq!j!w%ANo>JeJ=xWwYrit6xJWwzfi6_^Fi&|&*uMNQQO^w*Q&PerwYCv++IH`4WOOvlD9 zH4A?Yy5MFMN?}au=J4JJ>sID*BFv=&o)@Evf(I>-X!dAHRd(z4bKbRj0@`_nUM~oQ`IHgZL5o`@L$` zMvScX&oivvc5`550LN|RZaLU~tTrfeuYr?*XokVkV)~L#)^nw*Z6^y3Eylprvlrcj zv355rb@&$ne-D!`?+rjr%YpKY8YXacS$`VYhhw@wPj4gwPdDnC{;gqZjmuR* zZ8HVp%U&IeOo$#&9<_%v1zl+Q|6SBMP9kPK?-Ko?s*L)iv*}$)efNG%*2l#BsN*A3 z;EkgH@wDdUXaoPs{IWmA5gu>H$r{EbT=-(OkK<5iu{76vgE`DW37A$vv z6~VKh0+}xg0Coy89sjpe$lVftK(W|R1zcYH_#emKoU}P*AzB2M0Pv_YFE`ug>xlFNGWqL|mDpj6P9miJzGw)dYs2k$GCu@pzJ|HG(bmVrr#&e2?C z$IUU*r_)|7*?JhEtZ-myA5zMRcl${k|saaOTOJ2X%(IRMd9t1k*)fmxwbRRJ>ejYAG zAKMIAK_6QM9#$Yeu-RP$gDF3Iyy*DJX%Z~T)EB0q!@2p4>o!CN?!yn&aM4ieL-fAZ^M}DI*38XSXJHkXkYe2#xS}FUYE&G>tJoJY zm+t{yDv9Ew_b(M+C>w<)v-A}`A)#Shy;kUJ{BlWZwhE7TrevgI7vwf%6=bQ8meYOJ zh*nhlsDMzx`*Z(gT=$P*$hWTd=}O3L(l?n~cFn(GQVf%YswonYZzxTkObXa!KK- zh#_g}N2L{z*M{MccP{NhgvyiH^+4+&rS%Pe zcA2-b@A6^=4a#&(g56$a!`V%FIfh*C9=onvAc*0(5%AZG)G&(}27zfTr9&3lBfG5L zgFoZS72$TcF}{Pzz&XGCMsxR9Wo%#V33=}IL&F8*ik9JabI_r*xZqEgN35&~p*w9C zONx}HQGSNcp$Ii|M67uXY_~7nvGe^TjH~d%(N~bc5N2`1>gk`D)Vm?`;CFSu++r&XX_;gB>!3eU2ipUqwY1PkSZW z2gm(WLeBSS;&QjdZiLosvMwpfBbtbQ6?xWpx!kKQITl5l$TUUs=OERPxOPOOU7)e z3Xs90eJ#ptiiBwGtKHLingjv*tKd;4!x84zFKUN+uZw6@(fhZFTgOaWzsQ)Gh&Sh) zS7a+@roH)IARIo?tAq1v+~#_+q{(6@zdYLZWXi?&+s4o7#oEa zmJ)0g5tsc4*thuwW57q^@5URRHyj#f+5YBK*7Vq8gA@MHmk78O4HnI)w5cMyGMCS5Xy23Us(O(83&kFbNe;PtsW!b{L+ z^g$0a1Uw7z7HT@%i{4AnjUB!?UX9V6kpOM+)xz;b@2l#?3h&e6QRz=G$dE^NR^bnP zj;2Y*`sjpiE?0$aGEdM%Ig~m6gU9uA?IWyY^zM4}md&63c6QhleuSLZJ4*xu_w`-6 zyicJBLW-7?;Z_RI>P-r48*Fpz71nU%Mzu1^az-ssD2>BqE?xfInkD|5_?NCZa;5Z? zA=c!P6ml9U=^zBnd}G#APE3IRKq3S^<1v!jMOHm<1YpJvp7&=qpJN)St4LyFMXPgpeuiPW_;2pbVjI zY;2szH<54!q%yd!&D0>dKIAynHE@L8(tG4{^q1{$8iyB_^&Wl%&Lg9N^PjUNCIHMT zVSn;l)SKvoQ?!mh^A2U45fO@SGc*c3+eEFrL;dF53@kgqj@lLO=R4E8Y3k6zXeEeH zuMlhQoLSy^(qs#@H$!7v@3`NWbudkiK-PjhSlv1ttd6p*+DZu6Wt~~SE=2Vb)x7p6 zl{x$|mWzB10EG%`lpvWYtC|rq&(H|o%2aP-NYo~w`|JzNwRNFy7-dqq&C*^^ZWry0 znHXnnGFHC}G^s4v`4MbbJE)#3+iXAE>4u{-ks&>_D;)ky(=TnJfW?02vVzTh_gKH# z*B=8z=mv=`(P|}gpevGM9p{@0Cl2^%?9(jDmjj6*a?pFRFQY3byw$33Q{SO3Da!X< zS(AOD8>?n_aW-i;d!TaSYZ&=%=bmk?{piy<=}jMr%h93Qhiv&;iv>9esa4WzyD`J- ztwFWxy*0;c)PmNtvZ#ohTRN?o-jar20F%q2uUx8N|-HM3lB@P#g^WAb` z`)Z9xjTqXo^O_u)Ar8RIS;H*d2BjChFQ{jBd`#5+80Km5wfLv(n3us<4Eq#!Fk)rOdY6Z>@eAS?SISBu`o+5s=K#t=FPh8Y&qg=)vb%n4fF@{SUcWNMj-^4kt1iJ`D8F#5ErB>YcH z1cUX~etx2~RK};C59XCag;}9hCX1(1TG&kKu8j`D8u1jIt!Aq2vK|c@qn!(P>O7wZ zwST@r7v$yXw?0b`nNjP}74%%ujiIzc78B#&ZcT$~jXBT5&7JglgLz%hDhT0dlbNfc zet!ElACJrH(Pz{!0MSSpZ}5KDVykZb$bbeIm_4aJhdE)*54#&fop>DZNnSVSo!46x zk%HeQ-C=jTO1aX5K6^5VtIcEo^8fRx%M}Vr@|>%%C_0dmo!>?e+zfHn{lJ={!rA6@ zu(7PvR3zP?c<#4qz4@AnX;E+u^l3kgC39yD#^;`4c0L$slglj+Hih)T?g%?ct@ib5s|5w>p$3^)yeS@o@ zu!K@egNh(Xcb7_oAl=K7(zSF;NrQwm3Ifu#bO|oqvB1(@ONaEkdf&hM^FGh}Jb%3W z10T-0&NXLd&dm4Bxy}q=XJgp+>^FVPNbJH%PBQlQvG^~~K;M%`a!`F%D-GwCUElMn zy~d;{#I1N(jrfwqv=8x1Qp5u$S?|#eW!qMTj!o8LbO&vIb2G|ALHv|tUWmyd&YBd^ zK1UMmbG{A@+U2o>VjVsB*_OoWJoqwZYEo`bwtO$Uj9TivFg^Ny*8aGI+0WF*obM=~ zFNw!`x#qWQ%@q<*`rGV@!x<*EdCmLsCNNAt`a|k;hlaQfy&DH(%p{z?BP|R~=H~0G zXWGg+HKUQLS5Vu+pyH=`{x+JC4ub|WDuj4SZ0=}`)~Cj;As zKLiqDSWJ_qP%LOC1=HchqI%{+4|1>p3P5c&qYRi}OQ51(hO#g;pU6XYI57~XQkA%H zZQc;2^nluE>`#xeS3TRcNBJHqP)O`xciwCC^|;qMJspBR2WPMa91XnNh3Lq^d%2`J zjde6*S#pIOb}%ZOw`$0u-@hkJ?)zc?z;r5Pd7QY-0VniJ5!~N^GV+%p9Vzbb8L%d7 ziJza8iS$ac3=cgdE*y4~&CiI$c;#5uT+Y(Q?AYogjE`HljyOBJ*ZS~R{66pE`{k(@ z?4<6&m{w2<35)z=>wpdd*H}fW!oYk3v--JR@-&_K26k0*mrcH{g@$;M zt;zDXSvnvW+OVm|$PU{#VC%l=dkpNBb7VL#OTFo3y&KT^ynMb?-b72{Ww^g+zELpN z1rv2%nhFJWQ-VzRx%=%bWas6yRQA5J~qldzCJaDE7Q(PFcOsH6RkV#oVvIy=n6Gm`3TiP9-shpWk#=&{I9a5g|&te zT4Go>$HO`9f9vcw##G%%CyIgKz^4Q<@sh*nsfwmFAtjup-+Y#zT) zBai1F)!KlKtUa^dq5>R!0Th8!lSjVzuxy@WuDN{ZGD+pXB{&%^^BV4J-BZHNZ;@v_ zE6)Aas5KTH)n|q36|A=CdrHA;et+N#f5Q4umi)1K^j8w+uHo;&5Ua6%EvuFBWXpwg z`fB?#mTKQ|A{Wbb+Rd0NGA_FPuk37l4j32xnhj1z(n8gz2A5$zAI?oK_Y!VSY8x-; z4JgT!i|=;*qZh;{YbiyC`7|gLTr__`)2-wbs%oB=;uFVsWk92idRi!;C>EQe%~` z1dW5HYS3SBAd9+vV_y~Z-0L<$C&t0WxRR>0mMHfxN2r|MAJ3G&pX&*=u4*poG88zg!fQ2@_-mTW z9t5K5v?Zp7Fcu@-J=m!rZ>DR!3VGQI2b&O60j6#C52iMrSYwpZ5=N-9onkaSq~=I+ zUzc~%JOh|&FOuct+R_c;QX%QmiKr~hUY<*pXPnL8woOkHgxu@~8&diFob8^_ktvp`J>1OcU`H@hEU-Gcv+arzQh`<#O$bf?u`M=z-;V^#-g! ztt?Bo`>K7|y;<$tPs1^ya-ypXb}r)eTUuzS&2wqTg&ctbWy4KNlwOZ}J;xt3m^q zLuy=5EPsl|YS|zvJ0cV@4AXdTxsgilvh?kIYb=3s>uIRF17dWmW3#?%bo21m*0OhV zV{jo3VHj@Yakqa95gO9O(8L=Wj>cy~63*WI=@VZkoYJEy8ZZ>@!( zCXe>dFNT1YS7ft6*KN(s18A!)xtB2?MPJWyYC@-M@eZChQPtwB{8#$;}jy_x`zQ+z(KO6s&BQW4<5dyA*cu6=}Zx6SSP!epIXk&q@ z25`6l&U$3A$g~MliwTfp!XVCPJqN=GO{|Y`upI4WC`FEc1x7hPu>|QeTR=HK%0gd^ zHTG4qW}1dcF;(N%+f#1#q7VlBgMmIACpdGZ89ONA0s3;io^*K_V(=PzK@$XwSI{|SY z;sS-i=9#MiCtD6uq{J&nIe^`RNLw#V0Y-GjJS1-Gw9fVv7_I$_yTF4)LJVs_g)OD~ zF@*hKeF8&1zz}nBH_}s$Z1JTPGM*iEMNar~k(qFZcN-n|kK)TMHS)R_!Nl@PAp&p6-CDGc839=_c<>Bjk^Xedt66p`T zsZo2lm0-6<{}ldndbJv2ydO3Se|G~`@wz43Cg zyMw6Y{EJYQZ&Q}og*(52XpmPr`Og8Le&A3SjNB5=fROq9@p^G^&BgKxM+kQAb6GZ| zvM6bQeR0~9c`@U3_soC$O!g0knLaMVuWNsHYoZ#f0m>(0kzC971kOxtVC^ zsy@QXGUfK!QzR5NBEO!mN9HnAE#$h*dj`L4y|nhUk&yA+E4;Ft>z%F!pX#RyLx52p z#}8(jtsW1gibb0brpg{~lv_l7zu;cTO+1E=rh0s{Jl#cD-ZUY$Zrnmf;tSbF;;qVt zznc+l&Mpyb;shNguIy}%j?}oUx8cmR9#VfN%Z;#`hdU~iVWp}(>{n6L93nnhd; zsmvmy_V$q(m*;Z%zUwrm*s)_?<&ADb7%Q1|1mym+499Yl_qrV->{htu?|0p0U(RW& z9#=1ommYTj2k@V}?JbtRNYhw_0^z_`IPe#IkEn!OGX|N`R~pBctPhAijAaA#V3=&o zLjuf-NuQw%1kd!|gj9TZMQ;qs!GquHc#>RgD-Jr-&7Q(Ct=Nd*2(g zyKZ4B1T5~gG(~_;uhnIK3Q{Q!F~Arcyw`iLhwuIdR&29X*&h`qOwXX+e6!g}4LJqn zq-~T^2)j}XlxiC;)`^6ocg*n_8esG*xG}V)Fv_Su+0wx>NT?z(YjxTyBuaCgxw0oi zAQc!6cDupG!nVi|BYPp1E6j>1Hf&j(T~ExZp{cja_ZmDZnls4!tGMZST4A;4_iQu= zZG8$?g0)vM2^scSha&Q*IgJMfrLUpnSA&CCrNzUPtwgV4na=tEbvRm=JJT^$=bB-$@Er~%jqgsLtC4-`;LfEg%@XrczOKo^@YqI zkU_Ir;|xb!*xtd!MdtaVXm*i7SR8Z<5ni#F-CIYr-GgS6+Hd&$j#mvo%sp_J&Ew9) zj27fM9Hho$a#Qq*{ctLfbQn@Fu`S$pwz{oVs#!Fl%^4kTzloc#qtiwTmRtm#!3>_x z-a7g(35%pJe}xPJJ&xjDpI0*)|NO+&aYWO4Ucup$2H)#wFrk{Qyb4ImV}3oofX&Y$ zlQGrmxp?ty@O=^ciVmP_a)ivHmg3znzsFgEOdAW3dU{5*1C#~362_m?Y%-)p<@ zmmMA|(Fmv9;3!cXb47U_zeyE1Gt=!M6oDMQ(}fv7De<<)8AuaM)nw1;JrD^X9U|{K z5cxD&k}6q5s*+PbHlJPlwzb>!?J&dqodvBuSk_H5j@`Gjs|NBoL$o}w^vDq%uiKpS z2|vvbg(Xs4znj?#@DUyfx*6Td5o_)@5*3Wy6)EVuo=foh;tGFXJU6VPG}uH&?qEar zWiD~WA-Otw{LwkRn~jPUweUM#Z2W11S@(@IRC>OSbC>{IeTZ;PP<>=av@H_kW*J1X z0)#gu9tSJUr)O?L3F@03QWkWNn(a~H?!SajO&X5<* zTrp)xf7VwOmAE)t3hMA>=`^$`eX?OwpMGhM-rmD}zPRpb#-d0}w2w?(r=l$^iixjE z=#VV%C$&-D#Tdw<>n!r}WRUJKJ0pKgDygcfnifJpOS7DLcC8noB0-zz z*yuf!MOrugqw(D+fib^=Mp$K8Zoy>CPxOIFjde$00OL7pKBRFT!ZasA7E_$ZEEH|3)I&b6BWs?O5-qE<&j`y&WEq!stKzq}*GX?%5A{;To$Km5FOR|r zwyxs{HfLpuHdlODEEg_yT=o`m8k}rcZw@9#q&#G`oUEB&>=Tt{I#%riSt-O#r}k+! z?=qAGX8$_HOzZmFwFKRIK&aw+}FKplMbx@Tu2E{K&6jd%@l2zz0Zdlgl{Ym z7hU^1otjBYvKvG1%M#gES^$V()k!~Y%pbgpMn)XZ@UxpQ+V%PKxpNS-v0!llxO8ii z18}is4AyLHgA4&vMx(B0b&aQn1TiaZDFbbpV135y7#pVSKnn{>PlilN+$K*nk`lgy zc(dH!m^4IZ{^M)Eo?qaqbeJHSF;%R@z zl-f=xVoRkNWt7tcG5jj`jQpbv=4b4&RYz&d>l7`^+3sYkeoA((gBFQz^WFg+WP zLK*NU406%=LARwZ`w)ycYc!@Jb?nDJ4ZdvyE!?kP-&I(S7L8>!wgN;aTd_sQYY9Xh z?A<7a^BXbOT0|?p&PMH_MiO(-2pxRB?oJEcr?DC@YFs(7%ZT!V1`BiYaD(z)b7`!o z_GbecI@0$h3!5RibM9IzFyJ7HYoP5_(SQ|(d9ENWVN|G>AWOduV4|e(J(dI@3A2Y4 z9sK8$c52iFcJ1cBoBVCXZ5NCB?j-RJtRvvq8UqK?yTht!oQbpJF& zwzBB)UDxRj2Qk9TzjWZ;K&es0u`!_UVMblRS}N6KfwXH8f>WiUR4)TeZrl$>QB07> zV)pSWHkqG(0QT;F@HfR;{-9CldHO@WN>}LzxZUxT+25@AsWZjJ?hpN1ocyI9<^B#K ztlC(_T2R{2U*NS~VABg1{YP8!z~Hw5mGqH`Cu$@ePdpWk3WtJH%FK5g9ij)UNb4D)H7l={`g}Bup45y?#Vt< z-6L&vd^NUta!Yc;xqsY0PqMq_VuE-&bJ&h_`7rdP!O5EyaO8N2%)-U$-rGKOI}%G& zX`P3&HdIxgcQ6>dXg%tr&GIW}!SklepxHqN(QKtD6P)iz6P%$2hG!$tTY$cg@N_r7 zEJL1bErNztH@Aiu(QGY#irD$!OHP4v)JX6pbia3<&|!ek$G(=03YsG}H(J0i?Xq7= zT}al?kugY@F?e{wW|M$uU!`29dZYD(Dcf4&*iK@pk-F9lNY|`9~zSK|yMpT39oX~je zTmg-K3`G^?M2C?CeN^I_(0Ddm2YaI(I!`R$GH~!zA7Li(w!scHqn>7voKvq{BBYK4 z-9@~*OWZ96A(jPbW;Jl3T5*mSyqalCx)VQCqqZmJ`YMW4l|oGFusR%+Qrhd^PB6c~ zPboDl!3lCE3E7kfj@#fDX_V~N>At}Se+H8@Jn7&{)+&^pV9{C?NCSgBG|2sbX~cF7 z>kr@+X)@dYWG0zT*P5;i@_&iCWyctX2n2!zA z!6!i(h7R*&+ei(%W!c~ruq8)&`&U2!{TQaJl=0ZY43TR#G3i!wR|iis}Mi zEv|z(2B|w~0V_3`{UQRlHxHeY!Ksj-Es8y{{%2$Zmbbkw9&`~AVp680hxM5{IgoYp zwBb3xwI|-+vdfVwG=qn3>VZaE3FfS#02>KJnkVxE>$_-1m4)3DkO#f`IV9 zVTM7)jzCnHz2$g?{2dJW9!A;$i9V?f-Bkl?wX0?Vjg@J(Gw_zVI*>;tj?FTaP_mLm zh|}(%e1%PffG?r3Lo_gdczF0ut4y9=F4tjs^ij*|s56JhY}A^^b=kqw>zX5EIfut;_Fbw7 z^q~@nKLvgaBkBU?gad~mscJWtXnJG~K>U_FA6BD*T?+DrBBbDioqndkZMzpv3|*F4LG`7x5)? z6B(SjyO5aKP{txEn2o#NN-26HLEw3GOT%*@7A-y%6jLO;;VihnUwBnlERJZ*s@+0l zWbPspklXSxxwSbhR;&ej$fWTav-k4Ws#!vOMKV?;l;J|EzO$apXr2XZQS#vE@)Eh6M}`gAG`!D%;{&Btp7veRvS z!CR;m)S(OPs3{;1br{3q^+4(Zhg?B*^>Z&Q)4-|i^@7q)xI|8RyX$zMx*g%G5AzSN zjJ56GWf>&veq{r=;)X1nyIQM_3Go)l8O+oE)a5M%mu!z`Yw~`0_YH@)pr=%IqK>|6 z$JwxXn@Y1x-t{q8)1)~@$u9@pw455gj>06#85%3 z=_BAzo54_PrzX-MTh@@tR1(3Mz9J1~nF#^I8WX_~ZRiIsjle!e?$0l{jep7k)8&A% zX5?&r?}ArfGiOn$tR*ZL-fQ%p7QkN-F!*%5!c_ALZ5x{J4=Nb9MdlML=YLi*4qJ6` zB9~WU?x3$tPVe_m?R<+g^ALZjPR|g|>}2==dXZcCU0>7heV*@=XiWMUDPgmEd;kNj z5l-lu;#KtfdeLg5XiONDeGEq;lBLT(t@j{p`<`8;Rm`zKMsK!mra?3&Um_-dqGWBL zBTk}p}=Bhk*7ARze_dxJn`q1gx4C#KjFf3UV=lo5J*cYZ7&G2b-p1M8zlB+ z?E!YlnLS|=tl+Wl*m}(uy4Gk~O2?>W*=cMrGY$};ga{+d;)cNFA0O$nb7q2t=d0f* zA-UHcPMb}czYz>rnkp7?7O4PsQUB(P&3Nc6iceH8`Z5%A0INJo6>eq64rnqH#$O>H zRsakWfj%pAIa3Qn)2GuXgGI!|qIc@v8tT8~>w26d)kG{^O$2xJrCM%MqJl+4m~n5W za@8sqrlc8gr6R+jE8P*UHZa%aJQE10TyV7^Z?+-tUGkV?1%v*xK@T{(s%biMqnrmJ zqy1@&V;jVM|JzMG=ZN}~oE=_6AnI65&BW(w4n{MN-Mcw1U z7{jOyuo@3vM=YlXOrk1l+0H_j(>Gdv%1!7K61#6FC+0;=!Sm#q$~8)-R^zVim*Z?$qjX zsc7s3Wzn@c<}AF`-+pejQYpvdHj2yRyt}`36dvVr)71pvYO6E3RLSbT!j!$O^~DS&8YS7O$%F(MjRJv1Qluo@IQpvjg33XXO)Qb-ZZKRJBnVz@P zni-s0A8mK*U@!6FzrIqyHuL(7d}~lh+aB#gy++|UJt;<7s24~*5N(!hn(Wj8;ycQt z2D#>m^?IaHGHk)`vc+H90{#$GFwer`Ln zzh$;4@2=_N4A%4QTa{W4zpZ4o+=yIs*$*<#{az~Sq%<;+YdQ?t5zk~%5O=z*C5zu` zWzU=az1Qc2xZBa)KD}#*_q>@&9MAH-7P){E7$w&q4p~1si4k{3E-(t9{Lll_qVw=) z`6_d_s@I!!%>-S!lUYF}Lk%tS2}6O5NSr zrX(ICo?rb)Zk%+gqW3Yuz&ypF{&DSFJUcPp&WM37{5#u(IO$AV9+RnkifEccsg98j zLrW2-?qj95z)PR8_90QE_itL?F_X^44PAV{HU5&2mZKfbpsX8>KFJ}GS(o9l7(VZ< zFI|+^c8fuHS$@m6Z-?%-+h3slx_ynD6#T3o6sIz`oIF4)JXc za_(k-qusj4>O0*kbBwu_k&3rDS!z~R%~vue%x^#T4blhQvSOWCKvwAF&u5@Bvsf-X zFHsw!ZHe!x@j#N%T22&rBKef8VfJ&`A42g@nceo@q03L7MSXDD8Ll%Qnmn~W`OsxI zR`9{I&y%--w?wPixp`YdXrfRx2hz-p{-Z?wWr^g(IGgK_@6ZwrhC;6l`L(f~Dr+s~ zg(78iX4V;!ga!?zXq1{@p6P~s&!Lq@!b+p2qVldT{mUG$i^@l$EDXte8Voh2Ss&J( zTxlrDZ5n;)I7(0cX=c`!v>nb-@3J-Db9m^}%iyFl{SkAm_p@)d)E6~^B$Y_NIurTj zXC&zVlzU6f`hWgdcMCkY>4pC~Wv3()&Q>g(y6Wrf6o~~99XojUY|1=YUZ#m+(K#B4 z9~o(VMM89HY!e=a>Bt}t42uZcq@{e!>F?vG{(2L@sk%fU6B;W1gpB&a(#GXvh2g2R zF9{{hk$cZUtc=OiPof|qic4cf_f2UI#Fd$i`|p*CIIv2&-@v;Ab;Z}?+z#PkVT=l| z-`;*&S`ObV=YXyf#eu=C_z_IErmtTg=0B5)5T~S}xoj*rSZ<90vfp~Un;vdFd%EYr z_w~1^3R&yMh6+jRMkXV=Lixp5&M&`P#n+Cdde>yFxU9Dk8&VNueqvm?QxS3W^z6Z* zM^JPRG78meoipy7U(!lxOF211!6Bhyv=oNB!Gz;cKrg|kPj?f;!eS-k;+ELohJ@bI z3-MgnTb7cMQ(StRx_3t`E&VdY!NnyfeoV@ha`Qo5yZc}>tb9rJF}Td});Pa-iiQ4H zBsO<-6NTz48|~M!QwImjOV55rgtoMIE!X`PefIPdnn90`aM{?;bXP^sBg0<#5*#gr zy}He^N55`ER)Fg|GmhbBM61qIk&}Ux?%~HHs^AXDbUKad)6dj2LY1#ge-{*V4_A1< zTB*13c2OS}IGdWXWQ+`tq#Af9z|1V-q^SP7(_Jhx{PC}j7l*!#G9PD;HDAjfhI6!L z*8Y@|n#XzRJJcC#(#_7tAd)*(eGnVFl|xU@U1#H|U12izQ|glvuNj#B{j-h;rHDu- zzTk!0mvKwrvERp;G?e5*&zMC_UwCP{m~JYbMW%F@7e0i1`)QH*=~Ftn)>9`e{rIuj zEc33{9|yx9;ihSEy)rTE2|K8tbzA@Z+E8Hmv2%TElU`t7{m`qh$S`gFry|~R;pGPm zk8{8g9a7R8G9N<*BXIE2$bKP{!@_ji2pj8Ozh3p?j8pCVeaapY{z<>R3l&3TB9el)XhAcLeQ6fWJ!t9;f9%@_fBuNHa9i$ASRm5bzJm9o;p%C zyQAo=$ZP4f@f{j@Ci11s)OsIyuY!JW#_ueD{kC-K$Y3)0Ir5XC2D6aoo5GY$4M$GS z{jRRJWoyt$#wr*E{1YXkR!8BJ>ipD_3Vaf2+|Zy`*mC zEL7YYKv#{@>r0lKN=l6_FOf3YqAm8K5&zCdo=gv@-_|kB)@EMn9%|{ za>mPTb~sevfer$AUf?)@}-R0SU(5R+R!+m!JN3g zAT3gdit8Z>%1$d$D^&kMN0O}#w|%hMsP{MM?3$*YgHRzj6dWhx~4+$&abTh}D0Hy}i9(;k88j;q5FUIN9G?gi<)|=(ZSdBOwhsPh4 ziQZifFNoc&?+g*7b3iwV?3LValE)ZhTKvu;dz$Bc+~o5aaM$^an$Vxyto4!QzA_N1 z`iN97&AXAxQ!B)wql~?Hy))>2lr5j9Hunbo>hQmNX8C`&KSgJpkk4zV%JnaP@)xQl z%3lSeyOO*{Q5?XDf2R?>jW@HZC7j3Prn zph37K&SOTX@pp=gS{El-<~?;K{@!j1mzcZeh3Yfx>dc8h=>B2B+5gZsO2qmvl2%~< z4m18U^j3J%pIPXPI_mv5noeFTpl7@HYOAi~zfHsQE4o45Eos+LFN@moe<9;Pk|?Y; zDo|(Ekj%ZyFZ}!1$=!~|(=F`sv^+Jd)^}*J1$JYZcFx(LDO7tjWs6gsc zJS#y`{qL&-jsBmxd~AirOA_CeY?&9KdCx5S3vx=vWyeCdF!w*p^*_hpiN=wJMoi8km@23CF5JC*W?=xxY zA~2F){QC7H1L!5etl{wCo&3g7*-lRxPW(lqVv)}bnfh1BznYjRo>$QdfgH?sv<%7H zgJmkvN+?g_KF4F2Tzq=A8n)VXM-g{Y9*uCz=eq0|ieNPS^y+-I`0kYU*WD)`y{nG7 z!Zi3p0y^ugKT@<&5B5ok!aT->62Y<#{JIMOJATjp%o3FxjbPTBp;b4u`rFYPrj-z$OUF36=a9 zaPkCcPuspM`A1uh5~309YZ5Vt8QQ?Ub`C%5tcPqnf*JCz*gx1QjTQ}GVh=q3bo9n?`9u0eEdKX)MruVgpR!z<@WmcDHBH_UdgGj2m-syWO}zPcFnVgm zAQhpMAL`8FTkh1}IIHd@H}vSn3%#q?2QP~JLG^cg`2h>~;uDk`oZv~rh@kw5-Wj76K})gKygBw)eb zO`(D>`A<#7Q)u7(w(&LXJ2M2NsA6rLIit_kYL8pkzGPJiEie__6ZK=EL$hy=5v_b; z>M8z_;n;^w4F!zFvp8KCkf-cnBxqx&p}MIoeDPp>(H&C~#xeP9!M?w%E}RQPP4Xk( z;&pUKy#`&^&h;6#M@&^^lZCIDj$q>uu2w+KVE&8Ksw`JCTo9zC^R|h!`;NC3sx9*E^;m{~l_wDU-k4oerAFHgAW%E1zX#Uvnia&9?|H9qitO^i z=qUCzhW6rATGm9&(5Tx;X>C8tR+VpAEeBdNgtam1Ip!C3XX1w*)AyneY@@!aXJ37k z&+82hB#+IT`&#Md7r&pVxao`RmSa-B-^>_rk@zq1d61WxU4Krjn(a2M>67EKgV>z( z5=5_=^0dPB>EoMrS8Fr0>I)MR(CSR~fDV}qduC+JC;ZJ&GnU?&(WZ5%(ukc-!E3V? zDwa+{7ctD3w?KbV#CXF|#E0_(%|>+X+~3y+9!uO63|fiVnOUppI7kIOU)MF~{vR2$ zvNKwLoKkH82PSzC{jx`mqGuS{YfHf3ekUVR`U!j3u@}|9R>GQD6Y0C|zO^6>J@VGd zMr>_mC-6Q&kW(Pb84=v`^F`DJh+j2nPR<%?8Qj59w1GQP7_Nh2^naSY`EQ` zO9hru`v7uobQW*?odI77Vdqy(rt^tINZ+gxbTFgL*iME2$k=^w*` z**!%AQ-N_zUEmpV6-*Q50kh}5%T`y}iZCCW`Pz2p`A>x|Jj!|KT1mlF#gc$f*B)(G z&r`c7ELZk5W5Bk(h|1?Ozq~PKVyvF0r8Z-e5d0{x%P7csimdIYp3bN?N5EvaP5JXz zzbh-FZC}R1tuf$J)54KXxA(fm=N^mXjOKXTa`r7Re|pS!l#vw#UV}+|H9qQq zUBJyu+3e2lAX%ka_Qt+3!1Q5Of_JpLQFGp+aGcP4QHdOsS7U5-erre4 zeb~Tp2{06%iLIx27j`~x*q+$(bU)z)aOIOA5Qe>2{ z#!Hg)Z`*}(XJt&E&JbCCP3&s=3!yTK4;KSDwmOcg6yTBt=c0Z(L7m_Jk&ywhKM*{h za7%wS=*N}(HIw%DRD6S4G_9hI#2fv~)N8txIe3e=cv1ZnsUct{7K%a*fA2?fth--f z2Lv(=AG>j2at&6j-XtFLdn_D&=}QT8k`;qsYBsW#_` za`CGK7AzWJBV(d9XbZxU7Qn1L9}5eXB=Z0%suCnkM9(&n0(-esO=!6SJQ)oxCT7a| zlYry@*OKcCXN;`SR92?{{AhU9#l$jev6pW;Di~&Z=NnH1p28xc%HPG#@tK7=%nDLB zR>xe>Gv?rL_lA2K68{mSvFy5_SLUxP@X*B3mxoQu&XPV~gu&xII9#e^uET7w8m*WS ztX|X*h2zU}`E@-vcz#80_CMnE#eNTT0Cj)r6;x6N4L8A!lP4Z&X#VV>!E)NaUCpKEPhdIA z$U5g>*)sm2R(SmxaY(U3ku9mL3HDbsWYb8jARHWUXNtGA0XLBlwmX_JM6T3huI)ZA zBR`f?ep22$)B{C(&A_%;ypQ)HYd>CVx`tuHAQ)V&@%f(#WMjXdDEXH; z*ixn_TU#Z%r@e+1iLRqYk)2M4`E!>R%c)Yr#1OqqbT{@F-=mkXFi9+mcDd>7s^Tq1 zJslle*N;B{)-F!D{2w5-mwTvNiuL3oV|88gLPxU2;16Otc0)s@nu~b#p z3EzlI&j0m8{YRrT8X?96g8w`tf|K+Y*)eJVd4}2lpy-=-+(ZE9{M}!S+N+H2I^WLo z2TV2v+5Q2O?$~;Nz$6-yqW3lbAHUp!eb1`yXg|pGxB7QT5@Vo$i0kw@ z3KA0Xt&)j3q5|1LMd~9`*$C+_;s(`BOkNBLsWKAd&hROM(^E-K?Gu6y?|cUDeE!gm zC}6;6G#}cK;4?b#HY7FUj#$<(AZ{~a1Lia}RN&iLh}It)f}L2H89kQ!s2F}MA{gL* zz9BTc#KooaM|5Bge$v%kCP5!G2OpO})N*pLHMDiXHxnqlA&=eLOol^u9uOAqA%OP~ z|JAogyTBJL5Df66W<(PRVnJ>id{huoK>QH3j|}S(kF8&?KD492yKxXz@NPUrj%YL~ zAre0K6~Qw$-2KRNP$MoWg{XSu8RkNa@lkv=@UiOhaYU}%YT^jJQ;sSMsz`8n0UXW= zXMn@Y;qVV|#P4lA{00sujD*A6=H%d_kEC9;#~eNie|Y!;hb#ScBRUH=_JhMw;cy5% z)EaI8hhxIG+u*T|uU{kTk5fJ2T916!IdJhs*U?c#u>{WR1Gk%fq{1Q97l?ej87_DS zmxiARc2L9NK3(ewK?ykg51f4vA^q(d4nKiUBKV#ot_L`LG0+_T68;>)6$!T^MHC<4 z`|w0WcWB^*aQJx!eC0j-EgYtP*+q&N-wQiwZ3iSI0^G+7d4TR*1PMt7Pewva%~k)f zH8N*I!)g14;q%wuh>FFk=Nbq|lE*5)9>>%HnAh3EE15dN*surHJ`!@WkqG)N`pcY9 zq2MIVlZ_s{S+6up4`gF7C8%E*4RCsb+&lY%+*B(t-+$ic9_Ns6o4m+twuGXIwrKf! z^1k@ud~c_uJfci(V!GtbxeQR49yk-Mv6=Hs>YOdj8DB8XC5+=X%^^>r^$Gv>%W7}C z0m8%n@ghx8GgABC4;|^w5t*vx?d-28NdFY7mUqj=_ui1D*{fn-HrpxLVWW>Q=C5>Z zjumOX)xl14f9lwigD8ud(a5z;kB{`xM6=~*fqp#dUPt|6_nH>^ottq^qBX(!)t3qx zm3K?os^vZ-uCMto(Rae6vQ&X+_MZ?s`O2Q|r#tc)IXmr z`R$%cPZ*jCA^j+WjOx+EUsd7JakjkoDZY@k_Y_Vf$|YolNEWeLfZlOsKLN!jYcMbQKgv|N*5Q}%fTPX z>wa5mkRj|=BLm%OA0xmCs(x4ZrsOFFU+WuET2CD@Cnw_Mn&zpc;LacJ6KVr*YqWGv zZZ7@^@!i*P>wED_yvn~aPtN)s@#cN69Uu9Gg^UPS7f0-FkT}bbf`IQE0em**bh>SL zslmt>#s+KtYvODKuXX2#iyYyn>=l#yTLynDFxyQt^`li!zdL1!p#RHE3;uN@8JhKn zVuEty;-e6i*DU-T*)-m5QIk~H`;g#l%3!JjhT(#mqjw%AU68+WW&&e`$(=xsSGI4|w z*Yc6Zq}n=&6aV=Wuguu8q0VM}#}uaqmknn;@>y-sqDx3tI&bDATq<1+PFu%>}V zOOM^i8Sf;r_7$C@fK#BBq_RVp*qFU@TF-NwXZ z&dSe^=rcm+=8m_tX1tDH>_qZt6pA$2-%tC3J~zjBqog_#F>9Lgy1O$sm~8~c*2qwB z%A}yhjdqzEG*RN<)_h4e^t_#tQxu8IHq7>!;K4c`Jcdu1$caAf)A~3#Y)Y7{ACi%@ zT-%cnt(vgg{B{dpE~Yy=ImN5gKsz+94s~DZ;^5_{L9%4AIy}fz!@`gc{ETcGCw(|- zG+NGcLu2;6RM_GRZ-)T@6;3m#Yg zu5#2+v?7<)PdYrq2-m7>v!$*BSK9VruW^j zDzsLX_b}E9 zR7$p&iM5v%>9+6x*-~Sf4tANxz?99-{Qow-0YVYFV4 z$}p0fvQ%RIg(ULRc%%0xIRF~E7Ke65V`N^0olNneh$w}@=KT1_>s_CKD_(>9dB$XX zRzX4e!zcQ$NK^FueEycm&f^!HUITcjFPQ|z4#sQXI=u>-Rm*ClzagE%?Suu&i^?8{8a99j~8mKgS-Eu=n!7 z5g$3wboQ;mY#c=eNNtL;>1U@MGtrYW-S)she?bkQ#5MT??&VEglwk-Z6%+iU}j?9J!W6s{{BX0tr+e%-hw}ZLIF&x3gnkfS;t<|C&*{=gRXI zd+j9m4o7#a{li`WYW>5``T1(dqXg^w4BfOZ`FE#2&_C^cC}f}`8~b0W?hVG+NsGzW zedm;Fc2n6n{QjAf*vTG2f0sbf&%Yb@NhVVK!eZ>WZepG!?#NsH4H}D#)1S(i_V!$D zsLgmtqKh=Ut9SPth21cz;vm=XP4XMd@5wsvpU>F_3InUKZBmmoGP}BR9ZeLviML*o z2|uf}ww5m#U;M2oj8F3(JE<$rN5=Z0GMu7wAp7uJZ`gJM5tc&`b_Q1OU?gup5mSyV zTXkp#F!*x(L*UNI$3nw)S=IUhoG0n1$g?af_>3MwU<+5Pp+$T4QcF%gW<7 zE_kw~JA2cc&3Sl!EI|qXOkM9YEG6sIm+jL82GrFCF;5KZ(V~ObF zT#p(FClOA=uD?P3I$l)p9}I`E-4yc*&TN_Ro#A~M+VMk~@L>ImYr&j6KC{z742?B? z<_TKBn91<=_@o-sa_Xh|9cR3&+>Igh&w9!3L~RfrV*d!24W{(^2jcLmc{M<%qH!U) z{`{MDm*jP69ZWiFZyK&1XqRy-gRX5h8}Hck;eTXo3=Kb}yY1@fbkDe!yD0nX#O}Ay z*Az0J3`FB>v;Iza|LuI=(T(KXH?c;#z*8g98MW@-kNT!KVK<6mKl@FUi=FfFL9(B2 zjSCB_c^39KEpxzPd#2x?ad|^eFi~QBRX`7zZd^&l#358b{bd1ef@0g;gXOY~DMbHoN4O_h|=8M4-V{G>Y zk(nLQGR+ExQ(-x8>fL8n-b6X+n3ghf4qmO%4u=KHFoACu^DFuY7y-I@NjoJ*?teBC zTi=sDMHbOvJ+GqL_+dmV{!QTmX)>1b9R*eHQBMr?P18^C5+)hu$DL9@m8bFA6Sy+KlWOoNa}*BDYsPQJP|RZQ-rd_XXJvI!aag3kxHWvgZ5MZ$P&2I4&q zqc68h>dyGz>}|VB>DTnNshvo(r1DoogWOJ8-a~qtC7?OCD&LBhE9KW?PhGnTe<$AP zDzmQG7-viR^_0In?mW}(&KsZzOBd!! zMeJ#0LKp9*w`P7yzs{)&^v=%)d;4j!am=S%?p?x;TNSsgyPv`RxlUu;In*J4=~o2r44urko8Kli$3k7p7dd@t1R37R!& zbe(;A${#`SxFwn~yhNNa)|~#923A)ytTcrRm+qP4qcs&vF*@%}$DZP&uBAy3sJ#qw zd8Ie@9+QVGK|*XuGjp=<#NXlTR;_lPF$l_T%lVw4r-9^?41-9q8uv2I*(B##P891= zU_ONBEbI&a_Gdv=`<6QaJI)orODa6#40rKK?Gq!Z{!@Dl*Ew)(|$Cb6lo z@k{Dn3jfJM;}FS}3@hMCN~RN`3|JjcIjL!hbjNrP&rqpabJ8<0+>ReGBQK?5!j zCeCb&@nw%JIe_3?;kZ?2YUXCzfxflYbt`YbHi+16y7u)c7Q|y68v3a<&z(s4BtLY! z{DJw+zKeIJ?*VB&WCvs(%kO3Q2P$^#7H(nIFyo;#TSnC~-K-{FB2w>hJYHM;n&(g9 z>GV%l;cTWFZk5D3QqqHSw?Re+yMc&B)Zgu~&5G&}C2e>)N z%;ZoADfu@0iyq*9#Oj?J`s}>pc*oWk{NE-PD0&m}y z3Pg=$mFs5yl{BX7hgmzdP;3ok`8VW=W$jxoYzSkD`myq9eQWk!_X2 zan_#KoTXO^QkpDc8$DvT=zXh@5r97%v4!K6ti9u)>PsY;b=p|e{>CZa@S`}f@)QMl z!-l0-37`>HI@qe`wS*Tu?B-MmjLcoft}MGvY=M}cg<54R1fHRUbAxOTj~F5%!FSvg z0g#V0?DmQx+-I-AT7U|A6oJa;J!GzMY1?l;z^- zKU!k@g!Qx$i^LDYv-AY?_r(5-6%r%m?Ww9CLz6~h!4qRVFVNF72J=j&vEv5f=GgwB) z5@d|oiHZ8sW~p@Ye;Pt!9H^I#1uYm{N>d6m&{bVZkFvdYGg?y_YsKz{We4Oa6MY`020k{I0p6N>p#VMx=!!{#zJPS!6|0(K|W{jx2{7koSw zOH9vH;?3Y--z`!u>txsdc`>>LvF4X`D&Z zF>I%1Y{alpGA^o}vw;i4HuWG;^G}|zx6wOE7pXlb)C5_AfVV+M5~EojOX zA4c}#>@PhLf}1)vI%~%CS}nJGcbuJF74sACc{(^>N)^E_suuH!J1GOcY{r{|414A|hJ_qt_Z`Ys88gf#}EU0ioEQ@n;f3RuH)bpQ? zPVsPA#F}owGGFYi&^7ORzaH?3OWfRu$jj3eT3v1M~$HVv%MVVVHeRs74z4@|Dc6$8JWjt;kdsd!JfNpfjH5lwOfC3hfx>m5J^9Lo+o z#c~}+;~c(AJty(>c1zE3Zz<*^N=*1AA#C5r57qpv&F3`}`-Fkzfe)HEXfRPIM%i6w zX5C}bXG*yI6No0{aSUDxH=kw%$5BjWlPRDLeZ9QXO};UM)qgELfb6Y&ft+f3CP|YQ z=|tP?34FVQaNfmVZVHJy*Hw1WaMS|r1~7Eb7<&!B=dX@jmFmoSqE9DwZQTA+3x>)o z#l<`g7Llc$qV@$6KNR17etAZj!6*{^28;Mk>-D9Bf1!;h`ohH}W!<+bFE@h8iPuHP zAF@lW)Bq*S(?|#H!(9Mn$f~T*4#$he6q}fYrJs`Inw#Go4>k#F6@`n?WYj&~-YWG8 zBxH$#suNFMYR@KlL#c;Sok3FnCd{w*bQ~$P`&05_?%t{R|Gn4SNj3zHU-G7}K(+p>XAHa> z&A6RfMaj60LpVZctPue2g88CUPc+(LWFT8?Ch0T85cwbb(cbg&Z~!Z;63iBKOi-(L z#qy_xUL2;mIk&fH@x#y;`aX_~B&6~q-$4mREJ<$_4a zMEzi%VY3eOn%X^^!&S~Y4#~w5kymLP|9LCN8PvR_AJ?NiWxZLJhkN%yUV5I!qsQ!1 z1n@z=^B`Jvk4<^;BK3^M(irXAlnk`P&`pwZW&7Q%d|R&;Bue5O#p~{e1Q&`3xrFe1 z)9$sjYSp)TzLjm&7jIe{^SgUBA&39;EL9k{8pK$y7+!WWkInwKiPpYkVrBPwF;z`S}$H(;rtd`l` z5cR_g#}xMQjA2XqsNa-(k;hOI0*UJh*Rid>~b zeFJJdJmXl?K_?zSLGN#=n(lu`e%#E^wuii)%E>R@5Lx;RXyX@-KiKu@p2H3<@KzR3 zVk4AQKWqB_YI>Vh_~yI270J(rn<*hkvv0y(xA&B&bM&mpmK%iO`rT$)##Kw(n4NPN zI(=zn3;zAoGHFWRwA(y82zW-OC}S*lQ1@tNDwn#iGEg{U*46*l*t6 z)7(V?;&tBKq!7O*29&bzwhD>A#su&PsJH)yB)W8UltXUL=E1EOg9p1NmmCDx>G9uE z?Y_~MW#Gqnd{TSh1tpZDX7K0uaj*BzT7_|K<+SB9RpT~-3$BL2m7imKNX|O3zX0GH zFvJW~&0ZV8S5d0zi#q%AuEOV#LEbmodWo0OLnWkwO+Y8QJf6|^F-@Y|MBx$Alk)RV zcfxHbx68VAUasSUw+GV4rUyP?5vHpfXFEGA5Pt6Qq(CN+^0HbAxT?sslWZ0))I9eE za(pCuf1sXd`*428$CT%p&gWq#7U{}vhw@;_ zy4tpg%@(TsoQvNVaEw?L`o*M923}n%8$U!!bkCTbE`HAHQEzE3&`IA~zgMj8bN%P| zUTuAW?4b{KB;a&EunBN?IhZL25@j?_H^al5VrWlSV1ma+#3L;BFh#*pk4s(XRiO>} znZn&P$p`@Sg84S^ctX@Uc@gMwlowmS{HdgwKk&AdxL(-#EDt7}6Z#B86o&fWg5ZCj z0UH|90$*c4MEP`1GYD(A@>w%P=>i|UMPvvheXt)#ZwPsD6Q!p2i2VuG3IBTHBOdzy zniAFvfwFCyG-MJei}(xWCcNag3p0+WDh2U0&eGXAW-)yg^@ zd?ICqU&;GT$$VrYB&q_c;7KTROuk!HB$uA-=e)&@GRdPRVG)wGE4?_Zx|d^R>o+jq z`kK7MdN}{WJ=^|@=a!8|UNx56WakwrHAtW(V^Wj)#X?qacLSzOo~6Gqtp0crtPBdy z{6)5LEO(NFcgi*~yED!h{_%6W*w^1|`CSw#xLS}3!`Oh&sk>IMe49K|W@wC|Wyb6N zr1YRm0fl?Xi7OH>%lp!%!EuF)%@@PwpI4B{_(@;=AxeGAh1)2|^bHw-*H6oXr`l@P zLx$sZRU$_CF}1EZz+}g;{gYG-ph^$WP^m z8{#BN+1*{(TyNauLn$lXImsusm4Z2yZV#Y=_{kS?VL;FR=`{m9?v1F1r1k9bhH2+$ zFSco-vpa#n_PNiM>YguUpZa+!RwqmHY+6cXeqvc6gldlK=y1OE)evndRdUf7P$m@t z)gwZJ|CIh7Aw(g6`tuJo`9CrK|0W9A*TrXW@Re_N^i>BUu=syki+J4)agv>Gpc&Wk8MdJP*|BFqs(4m>-M6@yaDs!wfpPLp20g z4Z)2OocSr?nNR%<&3AxR%C%(E^%?d8liwEh=!J|fYi}j8II~!oNh3Zi^GNo2d>qgX z)K!Xq0kXZ1oXQJEMK%Fn@ghR|jzvhkbK-WVKf zJSKl5-&4Nx*Tiia!-urOMXQN)MREEIn;$=2V#TI5^r+AqDXqS%r7<5zYz3MszP`*u zcGnP9TVdrFc3Pye<<1^voEj4z0m!t;_TadF(DisvThUz?ZO2xZCV=JU95c<*;T2I4 zddn^U5RxF)OaRTA4s@sGbCjE;dm`{7R`Ti-gP(Z#Qm*?wrzu{Rg*(Z}`n$8!S*|2C>B;U7(t9;MIoT$QIKs!FV8Z*7zOh)6* zyN0HrXlOrJ&(C7mMH?NIg74DC7Gj_4aM4mY=NekpR>^e%`lTPj-M?{!>!xMg2)zOo5whw{W03Uw2^L}oEU`sRJ(kN$sPqKmb7NRd`3j| zt6WvXkf8U#umtEwQ!o&~`h*E#noXl(W?C4)(4C|M^UP|1C61CdM%)cWFg3E78Pj{hoiUjw_kF(Q$HJ^I5mpjK-NU zMs)YUtp@#r+pYcj!$dbXzNo*FCvrU1?-9#@xYfEA=1}6}#01{dKS`_vA4}w=F^Y!^ zc@|>!7_4@5<8RD%2P?B!^#b+qg)Hy}CN+8R2%z z8Lu8*Qmn`ZtA}`dd71aH+fd23(pgBz5(Ss{!h9u+&5dPKt_oUvuq(W;jH*t(Z29XL zuRhc~2p>8b?wor`t}pbUvX7!#Z3bF)i|9fEfvR8n=DwMd?PVK}NTUrQ=U&~1L-lgE-S3L0${wib{ z!4fENAYfCd`Z+BG=)8W9@~+$rhxQv&F3OAWd{zN(;c3*8EeQH=5gxedWWI_<-96v> zwFMFmM_S|QFt9}=F9-GTa|;evY++i%$)omiR`2t`tYJK~pM8A3*XGCTrEjFE&uf12 zMk=n^N+R1#K*O&cg2~)|J*Q-~>aTB8mpI!%wb~tol=QN8VT8e@L3}niJaPq;tOak$ z@(iKfH#J@6o}Oy`%lO98$*!u~2ytUZ3iLkde6bStut>Ai<%dqX+p;$z_ouMD*Sibv zAGB}LgpX05fN*Z)89S$jq@stTc$O);qeqv1mM|OzfF(=DLv>UVStTLwev8NgEc`RL zgS|>4r$(i~$>T?iXw|)Ce@#>x#k-yXXcj->^s8ZphiK7g!uZs`kIz~eGIGO2!-MT@ z0)mE_KMf$rBlKz`R0j}a#LjX0@5wTW;@4pk8{l}k--PyxFY?~0UmmJRT!Cz^s?J{q zJH_RfioVO>XV@nUy)_S+O4MxEhr~Oe5odSwRc2V~CuDa5)B!B~HPLc}Zl3{Omt}gv zG`ou!G+;#vwKk$6BNp-K+pPsmf!7f-%aGrYPyTJ$V4Je|P_S~MrKdbBV!ZBDAe&XQ znZyxW!c-c{9@NUqo13Ty*6l!+@Vy;Ce;)g>+WV3|$XW||wY;#r&*C!gyoQAtQd8tL zoG2s>;47ibGa_a@nvo@MtUkZJK0{`Iy2r%yc7u}8YDDt06{Wzc667)Z2Qc!^Cc>n( zn`@MoG07@K4r*VK(~2@)ApZ?h9Zt zGtBV1LJk121ag3%eU`rAulg(SKX02(eD|`2_Y(LyP4Zy}@ zByuRsN1o}$DiwXZhipxQdPsPysS$Fn`#2C_I{}ZYGFe6fC6tGB3((j}Urt$j8$w%U zZeB*StMV(t<1o{NQ3;@pEGAyDRa*$&Sb6Z#_!V@bIi>k|D@|H|I%S&T<2nuvXGUDY zY*Yx?(?5QdwV$M>AUOzN`?K$OQC2k*?EI9FKLPhk=(g-GGFgF}oQC-G&aaOKON~kR z&RQ@~w<7B@Z*9}%Q78$1|9C3#c0ecPb<{m`(Qh}Na?I542wsSKUUC2v5%(aoeDp1g zmT%t3ohBw?F%4!a{U?;QtBa!c`_Y3+puB(i?2~PLaWBq44i5hHN%3!%vqgT+5a>l3 z4X^<~+yDNV?%nm{aYljgWkxN|>*0)*Ck?t<%ObP3N`lq~ho~$*prteVieuED>?NUy zw+HX;eT4rDQv4fm9Aul(Bo2wIpU3@WIu)mR_fn9`szXixX}dYR7;)~Lx|C~_%5EYA zy)?9VXOj{FZnb@R9wY~mgQ@d@ZxQbcubgd~Cs5jYk3VO&iItDq^ycT|VKsE9GO=Fh z;oEl2)dh?IOV9B#YHVok-mI6c)_;4J1%egUtvBoV4U0#Vd#mIm8r zPZEP8zvs^!tMe`Q^4Khhgy_n|4W#x#nYVkuS>pv*2EDy!Mb*E0DiNSBrN(4YS~2HM z-dC@#4=-f#pDGL_h;3Ata{BcA`ptG-?ilsM@Dsa;42BY7JXp^vS^fq!W4CZbT)!_TLpPy*N0LB;A2vR27yyC8M zxC>D5Xbll(=E&i|eqE{A72f^S)>q(3D$t^%G@d%t$N&-(bv3CVk(}&MA#|ygY*Y#~ z$I;hwEC2kl0FQ=OTw83JeNJvu=mlfjA7h({O0X{SZPU~Ll1vCLesL1h^!ZTz`|;tw z!-)<3a75&QF$f#2C3%fQq9x#qVF0N2B)oFMIPiF#_;5s~&)2e9M`4cHJRs%Wb?&uI zaxBOYC1(IL(NWo)LZ^~R!(P{+*w}kRa zG?B}iyJ2BHwIp{_9)V>#pBj$5L6YK&PleY&qO&FZcWDJ3(;3@GvrfgYBM(B_f!B`V z?|KrQC03qna8YLrRaoKa!_>noX1>6lHSzCPx6uQ#i)~)Z^D>F^v^Q%Tm2&vcU8e|5 zbCM`MKlYY3DrKAX*3~oxjijsZe}<47-mHJWuvGHjU__owi1VK=JKmzym#Sz!Xt+n zGvg!`2$>zcCKeJZ@~t~NJG(7y2g{*}efuTs9oV~Le!WyI*Q-BXWyfH?;jgJo#zT@{ z&g8=@M_TqXb{9&+`Od#4IFF{Y*Ppz+^>AE24<&H!0GGQ@>s{~MT1#vJ`kVZX15u7I zi4BKOxyzq4uLz7k{!wySW6m*S=ETl;}$;LAmb z>we;K!89BS{NwmOg0H!I5%Q7b2oDH?n>ksL8|e$fp%k%%^yLtLT_NWT!2MC%X-hf0 zgKe-*>huEQHGdAifr+R`i{dvzkG$8H;Jqe70;+Dy7g?GffEFD5HB0+Rf>x5{OkMP$ z)wTF#kvk!LOtpYT$lAT1lp~(6zvpg-8@+dKmG3*dbMfW)r+>tDf~w8VQ#VHRmD}&_ zNzTvWm&NN#95WrgMqxmly#&TkkjMHA>TP=;5tM3VFKWVV(xtUoT~LYr@z_X%G4-I4 z#QuD&V0NS4HJvMRV!P|pA6zgS#aWp;RJ6#m_T3@bP}T7VCLCZc$o2f$75a+hF&qBN zxW4Ar;fxZdkmUK<)e?^x z3+a~+IE(a(9FE3CKTmAcUWmE<*#gPeOYMfGIBQ*l5)K9uN3PD8usz}{j;&fF3x8xv zymQ!Gonqc1J|wLzzq$TXR6Kv3*kG@LMSiAVkeaJTPG+%Y)D0#WNiu`3ccy2l@`x38 z(VmNRw5qRCFN=7^+QwJCJx=deVU1qAuIcx#nd6AGOckq-vxOuAPaZ!0M#*!4i7zJt zW|&o9Nx@^B4dH6bd1SPwog$~U-SPtJYdJV>@O5~$?z8tBBi;u>R~+$JY607T)3Q?2 z5)S+|p+wj6JKS`VVw!sRZ@uM`Hq9jgdfBZ_mphc>_-!StLiR+j1C~+Pg{rzaUf#zq z*L|#l$MK3sj?`2FUBeL1q4O39bY1GCeXHXc_`-!Jig0%MhuNRK-}@qG>b5^OdfQx= zgaGegwpYI#)?}~mmRN6IKs6PX@2}rIFQgQ?9RdhnCsZwmX%V}$Y&JrgEqha_P#4iy zP0+Z|uAcs%xGpyoaU57?#gL`~{#Y&|*pUH@N>yv{ZVB}zdc zRSpbtj-cuzub3pskDR5c{K(;Z+>No43q@fvHX^uvcSD(*B$Lk@ImY{YR+C>*H_I$K zLYat_q^-?*77~rZCOHoS3#{mEbJ>6$HG_Qo76BD zUsn<=PG_Tp;|-bvR6hsHafb+|&Zkw`MqXn@q8(Rxr9`q3>MCah$$V@=8Tb5zB9_<9bfym6;TbXGBw4>=>iX~1VkjYTh->0YW9Tz#mZM9eJ195{KOU8UGIhNls{m{pUCX@wN$ zW)XKf5B|k#vZ(x&vffBTNjf=oxQA}Tm!p4c&$8_|b{;VgJZIp;^atyKNZNHEI>KIG z7I_B2FUYza9BIV37RTl0`VNJ@0#cO(y3i%{+a<2BM(vH(iL*xFu3yn!+q=aW z7QLc2xiSwq81VDFDB^LrF-0t-_DT>`C%LwKiXSERO!H%)n^gQ%q@0#Ldbu zjd*KZ;u)!*Pgq@UdW5~{zzzhHROIaD07J84J9kw(E`2~uKDw~0d6l}ew>A9(sBSg= znugFgxsjPC#i#{p&3$q_I#F^m>s3FA=9pTBf$KNYvyx}vSFW`y0LJOe;qVz{Jo$H#(- zLeeB;y1Lc&$&_&2gN+_1L@5a*U>KF(af8!&pQJaqtIAwo1WJ`;Q8vb`W?ihbS(}mm zok`KnJsJaAjN9;g|9pAc0J4<1GSJ2L|9*Fk^}OmJF8qNsgo=&)f5Kh-=Qe6L`gu44 z1J4krlcG~_ZZjTiL)R4J;a!C;hn9S`BC1h`bxSFuaBN$MBmc> zBLA9=Y0O4&c;TWs%>;4PLFS~aPSjM2pY7)+s)A`n5=<*FTwl+S3( zHnk?cBio~)`%I+sR4gAKwuPsa|3w5Du{0uT%5CMGXVtFAIOP_d=MP8*xPjWuN^dy9 zO)+6|+GR>G^sf1dKeo)1o2A4l0mieK3VqbQL3I`u1hFQN0ABBv)bv9DDngS+ks!@I z-R7j%*J@&2AJ2t2(wPrzpxgZDiJFu~_k7vpBpdO5m#Oz03}fJ7r4RWg0(qG8xsL-0U$QXDe%4r1cR|=9 zJF=5gX(%l$AfF^w$XsOQD}#6J=B}bAZzfBI^OJNLEJ=YdV4DS@yd3r*6MglemBrw9 zDIyJWb1^k(Vw2|853sT)h(0G&u#!P{?*dCdZJFp8v)UVFaKr&)EMN7NB;7kxvT<=ioOqjQCyL_iH%0SP|l`UISJ}?|e&L1Z(N*oyk*HAlt?O%|X z+yZ_)96X9AR!*6=m;x7-qHrV+nLRF$&3*7sV-8*{m%g0)gO@_~D&0!0l+8$+sbJSg zCD_8M)M6sWHoCN>yNoa$r5TnLPFKknBQK-t7#SOTvV;L;x?dVpP(XrQAQIo}LQr)l zFZobArEv+Y;h3L}RxCCi+YweTwwS+*MuE-vsvj^3NhDZW zc$h&gsbDHILmV{P;yBlnSMjm6^98n;L=kxAvvd0nSAvnFkcP-F1lt%ym8|mddAh}C zNt`8+E1TZ86?oVvbRzXmR0DI`TUhHY2lEIoZ14g$p^fb=ZvxTp)=vtdaMKSFj32uqr0v7v{(7ynOh zZo~skEB_416#3sl6aT?em|Hm*V5xmXGPQTTF+F^e>D&&^?D^kw^`_y>CUufdh5XWs}$w%|sUf60VPih}KZA4rg)15a;(s2fZKJ8l2pD)#Lg z!D2rezC80iJiQn3@ZlBQ7!`qmu~7$OVFX9aeuLziP#lUjxo5uWN(kq=8HGSqBaQJa z=5M0E+;6MMA1&d9Hw#=n()JdS2UYJV#y^y9wetuqj$#t*4Qd5UlVJAXX=zB#5uRuo zJh>&$?YSZkHiCVGCzmFHl5-)PbVu}{MOmwfOh?vc&93f?-SdYn4X`k)>UgX02GZ9I zVNSLkb0e2+<;#YjV%Gf5J)~r*xMP`Gpl_Uu{b0-simDXE3ujF(8G(>S!)gzD?(B6R zrjNNaAhh%Ahq#N&L-fs8!G*zyKc>8#JBe7dtat)SlQkhBZ!tII)FU=oj0_!%u+XB8 zmfzkUYx;w$cyKSTlOQKHXl0K|w-Z=H8e7+SAX?}1YtCixcANGjH-5_74R%#TBa&sU zu*SyxF5}ES!-W$bXto^0Qo*gPM%)RS|Fe8pUGB%+DWcX#a7 zMAFqa{v)nELx{~@IpB-yr%ON=ctYGbPc>-XmZ!2kE5Ghc+=-hPS0z{94^E+ zE0ecl12OMC`Nb~jC;Ik2JTLvwMH`)N^Xmtex%h;NTgZoeek^sJ#`x^don0E;{K_F@SrK= zVal1%teEuS*D^kS?XevOX0jpRu)=uWWku1paJ=aw?UaiZ01W72{|dNg^AZ(cgXbE# zoFM*jL66A$1$>-?$S~-07Dl#kUIozfX5s#K)%DF;0V%a9a2N9j;{XuXu?{C}0_}NK zv)zSlu=4%8EU+#N+n>0WmCX3nNXM1Is}wD?{xZHGRq!z9&`@e*W;JRR-(~m)$^w?; zOT|d?wwR8oZ|6ZjDqkSFSIU+C*t^10ch8a}Q*@a4NfI?v7FZQFv1dM;3xaKomQIXb zTN+;{yf8M`@&3jdK9(xY_#zTt+EL2%vy^8VYYCfM!+#7q%$ zUk`Ns@HvcLwk$lJ0&ff*P<4%g)si<;C3=}~T1(H`wP(v*#7FQ_w22dBIdiUP?j@_DjB2;rrgTmkN$!4mr7I1h-T^aHVWO3iiO8Vw$zZr&Yedh-moq0yG*|iDV zxj}XmXsdjDy!FO~wyPmR4fIV?F+^uB3qTBb72a)D34|VL-dS5~5R^0}Egt=)SA~619V$BEu38(Z>J0@tq@h?dxub zQuDUr$veHgBB{7$j0?!~K24S}Z|b*zMp1aUkLTu-d!8p}@&CV9teu<;Uv2{KOW>-_ zmKX=kxHwaf;HX@WOOgkb*Lf^UycwyGtb(CH4{xnAJWik-Or<{ud6SbnAc|2j-enFH#mvWWN7s>#U(~ zB}!AGx2ipGQAeC4v?m-|5#P-#CM8((UyJrgc*&97&vB|`0Rtt2Wo)Djx|fwFFn)~= z)3Cc+J>ur(EBW81h9bLpLY1})LkELLH0Pg-$v6*qj1EciD~CRBVK2(0cSy+?Le_gV z4oNWe=HtICe9(@uNp+qic6<(?lmmWDZtr5FpscX2E3zrot-S z`Hdkt#wpf3Dk+LSG%o;jg=7War3z}J#Et}|Qo6Wb@ z(s^1~<=ZZC1JFznm355YHgVWV}O`9Bk*5l*hdRDx>} zEu#cli3yy*w5j8DDForAn!=dNUOpou7BDBo+qw)rd>q!V#l$elE$X&toWtKw`rGP` z7Om_qDJ{P#8m#>|=Tz(jO;BE8$w%%}hSzbGlEqdel63LcIv`GMDokMc`2vJLj1BpO zawJmo!Cx@xVAyxOq%>+|`R=TdWEa_9w(_Z=jbG&o^BPS%HqsBb6XWZV5K(KLH6ZJM zbZ)LcO&wquA3-i|nGBVoY|zOh)P|I8O)Yn`AvedR+$0-q*^H$Th2k10rO-wg)2&7{ znK}CCifSA9z2#&xhyt%Y&Oq zX^-7d8>7=Lva_G;!MR?Ec#j+W6AS%Yd-)5XW@a9Ebmferb(3d*@csW4p#K^=FD=59 zP1hEXAKKb9?nfdkr5{?-{srBZ-j%XF zP{`EgDkF00Kke$+CD#=6WKE`t^+K(9yA06g8dJR~eiKm?KVu7z9*7JHx?xouQb7jZ zOM?vRWJjW}Wp3-owvl%`_3p0Bv6cv^ry4OSmUUM{Oo=XbV^@~A3Mj-Vgizxz@?@;( zCONkUYVES5Cp#pSRnqhOAc?8u7W zgq$^6rNHW*+`#fm5dx^epwPFG`Q70hQT*WVBBuQMV`lbAAfCa?bq;MPdwzRr9rFSD zmO5=qh}mh)9V%BiG{}#q1q zeX~YJn_KrgV7aUCVo|dS4gj%xs6Psf)p$_9k>0(?4>qrM6w@;8q$ZzI6|U4YpmO=? zx_sb*dfw}YgRBvD^xlyeP;J#q`cWJ^rSp%n-rV){Il)Q+==7bjO;olg%EXtbkEJEotZxJ&|m$O&ZQ%;v>Lh+kL@L3JI-gxd#qP!yYiB8OX>lHlKfupTws8&Vb zLKlu|hQZFONkPN_a3civ(qO5K{7v?1q&Fj@+f(^naWStZwCicYsUJq2ExyzyiGMCHBZx$utfh>(I{kb6J9GP71RKl z?Y3kzF`l!!gX1%8`FM{oK29>Tg=#!~PeB}*S4DpUm+Vjr diff --git a/zh-cn/device-dev/quick-start/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/quick-start/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/quick-start/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/quick-start/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/quick-start/public_sys-resources/icon-note.gif b/zh-cn/device-dev/quick-start/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/quick-start/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/quick-start/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/quick-start/\346\246\202\350\277\260-0.md" b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-des.md similarity index 100% rename from "zh-cn/device-dev/quick-start/\346\246\202\350\277\260-0.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-des.md diff --git "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230.md" b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-faqs.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-faqs.md diff --git "a/zh-cn/device-dev/quick-start/Ubuntu\347\274\226\350\257\221\347\216\257\345\242\203\345\207\206\345\244\207.md" b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md old mode 100755 new mode 100644 similarity index 95% rename from "zh-cn/device-dev/quick-start/Ubuntu\347\274\226\350\257\221\347\216\257\345\242\203\345\207\206\345\244\207.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md index 168c6184821..ddd8fd5f4fb --- "a/zh-cn/device-dev/quick-start/Ubuntu\347\274\226\350\257\221\347\216\257\345\242\203\345\207\206\345\244\207.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md @@ -26,10 +26,10 @@ 5. 安装LLVM 6. 安装hb ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考[Docker方式获取编译环境](../get-code/Docker编译环境.md)。 +>![](../public_sys-resources/icon-notice.gif) **须知:** +>- 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考[Docker方式获取编译环境](../get-code/gettools-acquire.md)。 >- 通常系统默认安装samba、vim等常用软件,需要做适当适配以支持Linux服务器与Windows工作台之间的文件共享。 ->- 想要详细了解OpenHarmony编译构建模块功能的开发者可参考[编译构建使用指南](../subsystems/编译构建.md)。 +>- 想要详细了解OpenHarmony编译构建模块功能的开发者可参考[编译构建使用指南](../subsystems/subsys-build-mini-lite.md)。 ## 获取软件 @@ -50,7 +50,7 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示

    -

    参数

    @@ -350,13 +459,13 @@ if (ret != 0) { } ``` -## 向UART设备写入指定长度的数据 +### 向UART设备写入指定长度的数据 对应的接口函数如下所示: int32\_t UartWrite\(DevHandle handle, uint8\_t \*data, uint32\_t size\); -**表 7** UartWrite参数和返回值描述 +**表 8** UartWrite参数和返回值描述

    参数

    @@ -410,13 +519,13 @@ if (ret != 0) { } ``` -## 从UART设备中读取指定长度的数据 +### 从UART设备中读取指定长度的数据 对应的接口函数如下所示: int32\_t UartRead\(DevHandle handle, uint8\_t \*data, uint32\_t size\); -**表 8** UartRead参数和返回值描述 +**表 9** UartRead参数和返回值描述

    参数

    @@ -470,10 +579,10 @@ if (ret < 0) { } ``` ->![](public_sys-resources/icon-caution.gif) **注意:** +>![](../public_sys-resources/icon-caution.gif) **注意:** >UART返回值为非负值,表示UART读取成功。若返回值等于0,表示UART无有效数据可以读取。若返回值大于0,表示实际读取到的数据长度,该长度小于或等于传入的参数size的大小,并且不超过当前正在使用的UART控制器规定的最大单次读取数据长度的值。 -## 销毁UART设备句柄 +### 销毁UART设备句柄 UART通信完成之后,需要销毁UART设备句柄,函数如下所示: @@ -481,7 +590,7 @@ void UartClose\(DevHandle handle\); 该函数会释放申请的资源。 -**表 9** UartClose参数和返回值描述 +**表 10** UartClose参数和返回值描述

    参数

    @@ -504,3 +613,70 @@ void UartClose\(DevHandle handle\); UartClose(handle); /* 销毁UART设备句柄 * ``` +## 使用实例 + +UART设备完整的使用示例如下所示,首先获取UART设备句柄,接着设置波特率、设备属性和传输模式,之后进行UART通信,最后销毁UART设备句柄。 + +``` +#include "hdf_log.h" +#include "uart_if.h" + +void UartTestSample(void) +{ + int32_t ret; + uint32_t port; + DevHandle handle = NULL; + uint8_t wbuff[5] = { 1, 2, 3, 4, 5 }; + uint8_t rbuff[5] = { 0 }; + struct UartAttribute attribute; + attribute.dataBits = UART_ATTR_DATABIT_7; /* UART传输数据位宽,一次传输7个bit */ + attribute.parity = UART_ATTR_PARITY_NONE; /* UART传输数据无校检 */ + attribute.stopBits = UART_ATTR_STOPBIT_1; /* UART传输数据停止位为1位 */ + attribute.rts = UART_ATTR_RTS_DIS; /* UART禁用RTS */ + attribute.cts = UART_ATTR_CTS_DIS; /* UART禁用CTS */ + attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; /* UART使能RX FIFO */ + attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN; /* UART使能TX FIFO */ + /* UART设备端口号,要填写实际平台上的端口号 */ + port = 1; + /* 获取UART设备句柄 */ + handle = UartOpen(port); + if (handle == NULL) { + HDF_LOGE("UartOpen: failed!\n"); + return; + } + /* 设置UART波特率为9600 */ + ret = UartSetBaud(handle, 9600); + if (ret != 0) { + HDF_LOGE("UartSetBaud: failed, ret %d\n", ret); + goto _ERR; + } + /* 设置UART设备属性 */ + ret = UartSetAttribute(handle, &attribute); + if (ret != 0) { + HDF_LOGE("UartSetAttribute: failed, ret %d\n", ret); + goto _ERR; + } + /* 设置UART传输模式为非阻塞模式 */ + ret = UartSetTransMode(handle, UART_MODE_RD_NONBLOCK); + if (ret != 0) { + HDF_LOGE("UartSetTransMode: failed, ret %d\n", ret); + goto _ERR; + } + /* 向UART设备写入5字节的数据 */ + ret = UartWrite(handle, wbuff, 5); + if (ret != 0) { + HDF_LOGE("UartWrite: failed, ret %d\n", ret); + goto _ERR; + } + /* 从UART设备读取5字节的数据 */ + ret = UartRead(handle, rbuff, 5); + if (ret < 0) { + HDF_LOGE("UartRead: failed, ret %d\n", ret); + goto _ERR; + } +_ERR: + /* 销毁UART设备句柄 */ + UartClose(handle); +} +``` + diff --git "a/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/driver/drive-platform-watchdog-des.md old mode 100755 new mode 100644 similarity index 68% rename from "zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/driver/drive-platform-watchdog-des.md index b8fd5753d46..b6eba28de35 --- "a/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/driver/drive-platform-watchdog-des.md @@ -1,31 +1,112 @@ -# 看门狗使用指导 +# WATCHDOG -- [使用流程](#section0719414187) -- [打开看门狗设备](#section198171379261) -- [获取看门狗状态](#section206592910275) -- [设置超时时间](#section19605128182714) -- [获取超时时间](#section11111516208) -- [启动看门狗](#section141174192814) -- [喂狗](#section179101435113910) -- [停止看门狗](#section15282123192816) -- [关闭看门狗设备](#section7857850173411) +- [概述](#section14918241977) + - [接口说明](#section20177131219818) -## 使用流程 +- [使用指导](#section10103184312813) + - [使用流程](#section10181195910815) + - [打开看门狗设备](#section66089201107) + - [获取看门狗状态](#section786624341011) + - [设置超时时间](#section182386137111) + - [获取超时时间](#section1883310371114) + - [启动看门狗](#section82501405123) + - [喂狗](#section3547530101211) + - [停止看门狗](#section944595841217) + - [关闭看门狗设备](#section96561824121311) + +- [使用实例](#section1724514523135) + +## 概述 + +看门狗(watchdog),又叫看门狗计时器(watchdog timer),是一种硬件的计时设备,当系统的主程序发生某些错误时,导致未及时清除看门狗计时器的计时值,这时看门狗计时器就会对系统发出复位信号,使系统从悬停状态恢复到正常运作状态。 + +### 接口说明 + +**表 1** 看门狗 API接口功能介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    功能分类

    +

    接口名

    +

    描述

    +

    打开/关闭看门狗

    +

    WatchdogOpen

    +

    打开看门狗设备

    +

    WatchdogClose

    +

    关闭看门狗设备

    +

    启动/停止看门狗

    +

    WatchdogStart

    +

    启动看门狗

    +

    WatchdogStop

    +

    停止看门狗

    +

    设置/获取超时时间

    +

    WatchdogSetTimeout

    +

    设置看门狗超时时间

    +

    WatchdogGetTimeout

    +

    获取看门狗超时时间

    +

    获取看门狗状态

    +

    WatchdogGetStatus

    +

    获取看门狗状态

    +

    清除看门狗定时器

    +

    WatchdogFeed

    +

    清除看门狗定时器(喂狗)

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>本文涉及看门狗的所有接口,仅限内核态使用,不支持在用户态使用。 + +## 使用指导 + +### 使用流程 使用看门狗的一般流程如[图1](#fig19134125410189)所示。 **图 1** 看门狗使用流程图 -![](figures/zh-cn_image_0000001057622716.png) +![](figure/zh-cn_image_0000001170229891.png) -## 打开看门狗设备 +### 打开看门狗设备 在操作看门狗之前,需要使用WatchdogOpen打开一个看门狗设备,一个系统可能有多个看门狗,通过ID号来打开指定的看门狗设备: int32\_t WatchdogOpen\(int16\_t wdtId\); -**表 1** WatchdogOpen参数和返回值描述 +**表 2** WatchdogOpen参数和返回值描述

    参数

    @@ -66,11 +147,11 @@ if (handle == NULL) { } ``` -## 获取看门狗状态 +### 获取看门狗状态 int32\_t WatchdogGetStatus\(DevHandle handle, int32\_t \*status\); -**表 2** WatchdogGetStatus参数和返回值描述 +**表 3** WatchdogGetStatus参数和返回值描述

    参数

    @@ -118,11 +199,11 @@ if (ret != 0) { } ``` -## 设置超时时间 +### 设置超时时间 int32\_t WatchdogSetTimeout\(PalHandle \*handle, uint32\_t seconds\); -**表 3** WatchdogSetTimeout参数和返回值描述 +**表 4** WatchdogSetTimeout参数和返回值描述

    参数

    @@ -170,11 +251,11 @@ if (ret != 0) { } ``` -## 获取超时时间 +### 获取超时时间 int32\_t WatchdogGetTimeout\(PalHandle \*handle, uint32\_t \*seconds\); -**表 4** WatchdogGetTimeout参数和返回值描述 +**表 5** WatchdogGetTimeout参数和返回值描述

    参数

    @@ -222,11 +303,11 @@ if (ret != 0) { } ``` -## 启动看门狗 +### 启动看门狗 int32\_t WatchdogStart\(DevHandle handle\); -**表 5** WatchdogStart参数和返回值描述 +**表 6** WatchdogStart参数和返回值描述

    参数

    @@ -268,11 +349,11 @@ if (ret != 0) { } ``` -## 喂狗 +### 喂狗 int32\_t WatchdogFeed\(DevHandle handle\); -**表 6** WatchdogFeed参数和返回值描述 +**表 7** WatchdogFeed参数和返回值描述

    参数

    @@ -314,11 +395,11 @@ if (ret != 0) { } ``` -## 停止看门狗 +### 停止看门狗 int32\_t WatchdogStop\(DevHandle handle\); -**表 7** WatchdogStop参数和返回值描述 +**表 8** WatchdogStop参数和返回值描述

    参数

    @@ -358,16 +439,15 @@ if (ret != 0) { HDF_LOGE("WatchdogStop: failed, ret %d\n", ret); return; } - ``` -## 关闭看门狗设备 +### 关闭看门狗设备 当操作完毕时,使用WatchdogClose关闭打开的设备句柄: void WatchdogClose\(DevHandle handle\); -**表 8** WatchdogClose参数和返回值描述 +**表 9** WatchdogClose参数和返回值描述

    参数

    @@ -389,3 +469,89 @@ void WatchdogClose\(DevHandle handle\); ret = WatchdogClose(handle); ``` +## 使用实例 + +本例程提供看门狗的完整使用流程。 + +在本例程中,我们打开一个看门狗设备,设置超时时间并启动计时: + +- 首先定期喂狗,即按时清除看门狗定时器,确保系统不会因定时器超时而复位。 +- 接着再停止喂狗,观察定时器到期后系统是否发生复位行为。 + +示例如下: + +``` +#include "watchdog_if.h" +#include "hdf_log.h" +#include "osal_irq.h" +#include "osal_time.h" + +#define WATCHDOG_TEST_TIMEOUT 2 +#define WATCHDOG_TEST_FEED_TIME 6 + +static int32_t TestCaseWatchdog(void) +{ + int32_t i; + int32_t ret; + uint32_t timeout; + DevHandle handle = NULL; + + /* 打开0号看门狗设备 */ + handle = WatchdogOpen(0); + if (handle == NULL) { + HDF_LOGE("Open watchdog fail!"); + return -1; + } + + /* 设置超时时间 */ + ret = WatchdogSetTimeout(handle, WATCHDOG_TEST_TIMEOUT); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set timeout fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + + /* 回读设置的超时时间值 */ + ret = WatchdogGetTimeout(handle, &timeout); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: get timeout fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + HDF_LOGI("%s: read timeout back:%u\n", __func__, timeout); + + /* 启动看门狗,开始计时 */ + ret = WatchdogStart(handle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: satrt fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + + /* 每隔1S喂狗一次 */ + for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { + HDF_LOGE("%s: feeding watchdog %d times... \n", __func__, i); + ret = WatchdogFeed(handle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: feed dog fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + OsalSleep(1); + } + /* 由于喂狗间隔小于超时时间,系统不会发生复位,此日志可以正常打印 */ + HDF_LOGE("%s: no reset ... feeding test OK!!!\n", __func__); + + /* 接下来持续不喂狗,使得看门狗计时器超时 */ + for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { + HDF_LOGE("%s: watiting dog buck %d times... \n", __func__, i); + OsalSleep(1); + } + + /* 当不喂狗时间到达之前设定的超时时间的时候,系统会发生复位,理论上观察不到此日志的打印 */ + HDF_LOGE("%s: dog has't buck!!! \n", __func__, i); + WatchdogClose(handle); + return -1; +} +``` + diff --git a/zh-cn/device-dev/driver/drive-platform.md b/zh-cn/device-dev/driver/drive-platform.md new file mode 100644 index 00000000000..6fd91defa4e --- /dev/null +++ b/zh-cn/device-dev/driver/drive-platform.md @@ -0,0 +1,19 @@ +# 平台驱动 + +- **[GPIO](drive-platform-gpio-des.md)** + +- **[I2C](drive-platform-i2c-des.md)** + +- **[RTC](drive-platform-rtc-des.md)** + +- **[SDIO](drive-platform-sdio-des.md)** + +- **[SPI](drive-platform-spi-des.md)** + +- **[UART](drive-platform-uart-des.md)** + +- **[WATCHDOG](drive-platform-watchdog-des.md)** + +- **[MIPI DSI](drive-platform-mipidsi-des.md)** + + diff --git a/zh-cn/device-dev/driver/drive.md b/zh-cn/device-dev/driver/drive.md new file mode 100644 index 00000000000..0e8e677c95d --- /dev/null +++ b/zh-cn/device-dev/driver/drive.md @@ -0,0 +1,19 @@ +# 驱动使用指南 + +- **[HDF开发概述](drive-hdf-overview.md)** + +- **[驱动开发](drive-hdf-development.md)** + +- **[驱动服务管理](drive-hdf-servicemanage.md)** + +- **[驱动消息机制管理](drive-hdf-news.md)** + +- **[配置管理](drive-hdf-manage.md)** + +- **[HDF开发实例](drive-hdf-sample.md)** + +- **[平台驱动](drive-platform.md)** + +- **[外设](drive-peripherals.md)** + + diff --git "a/zh-cn/device-dev/driver/figures/DSI\345\217\221\351\200\201-\346\216\245\346\224\266\346\216\245\345\217\243.png" "b/zh-cn/device-dev/driver/figure/DSI\345\217\221\351\200\201-\346\216\245\346\224\266\346\216\245\345\217\243.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/DSI\345\217\221\351\200\201-\346\216\245\346\224\266\346\216\245\345\217\243.png" rename to "zh-cn/device-dev/driver/figure/DSI\345\217\221\351\200\201-\346\216\245\346\224\266\346\216\245\345\217\243.png" diff --git "a/zh-cn/device-dev/driver/figures/I2C\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/driver/figure/I2C\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/I2C\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" rename to "zh-cn/device-dev/driver/figure/I2C\347\211\251\347\220\206\350\277\236\347\272\277\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/driver/figures/MIPI-DSI\346\216\245\345\217\243.png" "b/zh-cn/device-dev/driver/figure/MIPI-DSI\346\216\245\345\217\243.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/MIPI-DSI\346\216\245\345\217\243.png" rename to "zh-cn/device-dev/driver/figure/MIPI-DSI\346\216\245\345\217\243.png" diff --git "a/zh-cn/device-dev/driver/figures/Sensor\351\251\261\345\212\250\346\250\241\345\236\213\345\233\276.png" "b/zh-cn/device-dev/driver/figure/Sensor\351\251\261\345\212\250\346\250\241\345\236\213\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/Sensor\351\251\261\345\212\250\346\250\241\345\236\213\345\233\276.png" rename to "zh-cn/device-dev/driver/figure/Sensor\351\251\261\345\212\250\346\250\241\345\236\213\345\233\276.png" diff --git "a/zh-cn/device-dev/driver/figures/TTL\346\216\245\345\217\243.png" "b/zh-cn/device-dev/driver/figure/TTL\346\216\245\345\217\243.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/TTL\346\216\245\345\217\243.png" rename to "zh-cn/device-dev/driver/figure/TTL\346\216\245\345\217\243.png" diff --git "a/zh-cn/device-dev/driver/figures/Touchscreen\345\231\250\344\273\266\345\270\270\347\224\250\347\256\241\350\204\232.png" "b/zh-cn/device-dev/driver/figure/Touchscreen\345\231\250\344\273\266\345\270\270\347\224\250\347\256\241\350\204\232.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/Touchscreen\345\231\250\344\273\266\345\270\270\347\224\250\347\256\241\350\204\232.png" rename to "zh-cn/device-dev/driver/figure/Touchscreen\345\231\250\344\273\266\345\270\270\347\224\250\347\256\241\350\204\232.png" diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001053405727.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001053405727.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001053405727.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001053405727.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054280608.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001054280608.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054280608.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001054280608.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054564784.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001054564784.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054564784.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001054564784.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001057902344.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123509750.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001057902344.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123509750.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001072553354.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123514210.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001072553354.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123514210.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054440624.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123540984.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054440624.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123540984.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054007499.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123582482.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054007499.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123582482.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054728498.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123675706.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054728498.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123675706.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054726248.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123703482.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054726248.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123703482.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054142582.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001123742254.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054142582.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001123742254.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001057342245.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001170187071.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001057342245.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001170187071.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001054006983.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001170227689.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001054006983.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001170227689.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001057622716.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001170229891.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001057622716.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001170229891.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001053926237.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001170262141.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001053926237.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001170262141.png diff --git a/zh-cn/device-dev/driver/figures/zh-cn_image_0000001055299108.png b/zh-cn/device-dev/driver/figure/zh-cn_image_0000001170383063.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/driver/figures/zh-cn_image_0000001055299108.png rename to zh-cn/device-dev/driver/figure/zh-cn_image_0000001170383063.png diff --git "a/zh-cn/device-dev/driver/figures/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204Display\351\251\261\345\212\250\346\250\241\345\236\213.png" "b/zh-cn/device-dev/driver/figure/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204Display\351\251\261\345\212\250\346\250\241\345\236\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204Display\351\251\261\345\212\250\346\250\241\345\236\213.png" rename to "zh-cn/device-dev/driver/figure/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204Display\351\251\261\345\212\250\346\250\241\345\236\213.png" diff --git "a/zh-cn/device-dev/driver/figures/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204input\351\251\261\345\212\250\346\250\241\345\236\213.png" "b/zh-cn/device-dev/driver/figure/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204input\351\251\261\345\212\250\346\250\241\345\236\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204input\351\251\261\345\212\250\346\250\241\345\236\213.png" rename to "zh-cn/device-dev/driver/figure/\345\237\272\344\272\216HDF\351\251\261\345\212\250\346\241\206\346\236\266\347\232\204input\351\251\261\345\212\250\346\250\241\345\236\213.png" diff --git "a/zh-cn/device-dev/driver/figures/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" "b/zh-cn/device-dev/driver/figure/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/driver/figures/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" rename to "zh-cn/device-dev/driver/figure/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" diff --git a/zh-cn/device-dev/driver/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/driver/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/driver/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/driver/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/driver/public_sys-resources/icon-note.gif b/zh-cn/device-dev/driver/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/driver/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/driver/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\345\256\236\344\276\213.md" deleted file mode 100755 index 2222c0fde7e..00000000000 --- "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\345\256\236\344\276\213.md" +++ /dev/null @@ -1,583 +0,0 @@ -# 传感器驱动开发实例 - -基于HDF驱动模型,加载启动加速度计传感器驱动,代码形式如下,具体原理可参考[HDF驱动开发指南](驱动开发.md)。加速度传感器选择通讯接口方式为I2C,厂家选择博世BMI160加速度传感器。 - -1. 加速度计传感器驱动入口注册 - -- 加速度计传感器驱动入口函数实现 - -``` -/* 注册加速度计传感器入口数据结构体对象 */ -struct HdfDriverEntry g_sensorAccelDevEntry = { - .moduleVersion = 1, /* 加速度计传感器模块版本号 */ - .moduleName = "HDF_SENSOR_ACCEL", /* 加速度计传感器模块名,要与device_info.hcs文件里的加速度计moduleName字段值一样*/ - .Bind = BindAccelDriver, /* 加速度计传感器绑定函数 */ - .Init = InitAccelDriver, /* 加速度计传感器初始化函数 */ - .Release = ReleaseAccelDriver, /* 加速度计传感器资源释放函数 */ -}; - -/* 调用HDF_INIT将驱动入口注册到HDF框架中,在加载驱动时HDF框架会先调用Bind函数,再调用Init函数加载该驱动,当Init调用异常时,HDF框架会调用Release释放驱动资源并退出 */ -HDF_INIT(g_sensorAccelDevEntry); -``` - -- 加速度计传感器设备配置描述 - -加速度传感器模型使用HCS作为配置描述源码,HCS配置字段详细介绍参考[配置管理](配置管理.md)介绍。 - -``` -/* 加速度计传感器设备HCS配置 */ -device_sensor_accel :: device { - device0 :: deviceNode { - policy = 1; /* policy字段是驱动服务发布的策略 */ - priority = 105; /* 驱动启动优先级(0-200),值越大优先级越低,建议默认配100,优先级相同则不保证device的加载顺序 */ - preload = 2; /* 驱动按需加载字段,0表示加载,2表示不加载 */ - permission = 0664; /* 驱动创建设备节点权限 */ - moduleName = "HDF_SENSOR_ACCEL"; /* 驱动名称,该字段的值必须和驱动入口结构的moduleName值一致 */ - serviceName = "sensor_accel"; /* 驱动对外发布服务的名称,必须唯一 */ - deviceMatchAttr = "hdf_sensor_accel_driver"; /* 驱动私有数据匹配的关键字,必须和驱动私有数据配置表中的match_attr值相等 */ - } -} -``` - -1. 加速度计传感器驱动初始化和去初始化 - -- 初始化入口函数init - -``` -/* 加速度计传感器驱动对外提供的服务绑定到HDF框架 */ -int32_t BindAccelDriver(struct HdfDeviceObject *device) -{ - CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - - static struct IDeviceIoService service = { - .object = {0}, - .Dispatch = DispatchAccel, - }; - device->service = &service; - - return HDF_SUCCESS; -} -/*在探测到器件在位后,需要调用RegisterAccelChipOps注册差异化适配函数*/ -int32_t RegisterAccelChipOps(struct AccelOpsCall *ops) -{ - struct AccelDrvData *drvData = NULL; - - CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); - - drvData = AccelGetDrvData(); - drvData->ops.Init = ops->Init; - drvData->ops.ReadData = ops->ReadData; - return HDF_SUCCESS; -} -/* 挂载加速度计传感器驱动归一化的接口函数 */ -static int32_t InitAccelOps(struct SensorDeviceInfo *deviceInfo) -{ - struct AccelDrvData *drvData = AccelGetDrvData(); - - (void)memset_s((void *)deviceInfo, sizeof(*deviceInfo), 0, sizeof(*deviceInfo)); - deviceInfo->ops.GetInfo = SetAccelInfo; - deviceInfo->ops.Enable = SetAccelEnable; - deviceInfo->ops.Disable = SetAccelDisable; - deviceInfo->ops.SetBatch = SetAccelBatch; - deviceInfo->ops.SetMode = SetAccelMode; - deviceInfo->ops.SetOption = SetAccelOption; - - if (memcpy_s(&deviceInfo->sensorInfo, sizeof(deviceInfo->sensorInfo), - &drvData->accelCfg->sensorInfo, sizeof(drvData->accelCfg->sensorInfo)) != EOK) { - HDF_LOGE("%s: copy sensor info failed", __func__); - return HDF_FAILURE; - } - /* 传感器类型标识可以在数据HCS配置文件里面配置,也可以在此处 */ - drvData->accelCfg->sensorInfo.sensorTypeId = SENSOR_TAG_ACCELEROMETER; - drvData->accelCfg->sensorInfo.sensorId = SENSOR_TAG_ACCELEROMETER; - - return HDF_SUCCESS; -} -/* 传感器寄存器初始化操作 */ -static int32_t InitAccelAfterConfig(void) -{ - struct SensorDeviceInfo deviceInfo; - - if (InitAccelConfig() != HDF_SUCCESS) { - HDF_LOGE("%s: init accel config failed", __func__); - return HDF_FAILURE; - } - - if (InitAccelOps(&deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: init accel ops failed", __func__); - return HDF_FAILURE; - } - - if (AddSensorDevice(&deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: add accel device failed", __func__); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} -/*通过器件探测函数,挂载器件差异化函数接口*/ -static int32_t DetectAccelChip(void) -{ - int32_t num; - int32_t ret; - int32_t loop; - struct AccelDrvData *drvData = AccelGetDrvData(); - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); - - num = sizeof(g_accelDetectIfList) / sizeof(g_accelDetectIfList[0]); - for (loop = 0; loop < num; ++loop) { - if (g_accelDetectIfList[loop].DetectChip != NULL) { - ret = g_accelDetectIfList[loop].DetectChip(drvData->accelCfg); - if (ret == HDF_SUCCESS) { - drvData->detectFlag = true; - break; - } - } - } - - if (loop == num) { - HDF_LOGE("%s: detect accel device failed", __func__); - drvData->detectFlag = false; - return HDF_FAILURE; - } - return HDF_SUCCESS; -} -/* 加速度计传感器驱动初始化入口函数,主要功能为对传感器私有数据的结构体对象进行初始化,传感器HCS数据配置对象空间分配,传感器HCS数据配置初始化入口函数调用,传感器设备探测是否在位功能,传感器数据上报定时器创建,传感器归一化接口挂载,传感器设备注册功能 */ -int32_t InitAccelDriver(struct HdfDeviceObject *device) -{ - /* 获取传感器私有数据结构体对象 */ - struct AccelDrvData *drvData = AccelGetDrvData(); - - /* 同类型传感器不同厂家设备探测时,判断此类型传感器是否已经在位,若已经在位,无需再继续探测,直接返回 */ - if (drvData->detectFlag) { - HDF_LOGE("%s: accel sensor have detected", __func__); - return HDF_SUCCESS; - } - - CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - /* 分配存放传感器数据配置的私有结构体数据对象,需要在驱动释放时释放分配的资源空间 */ - drvData->accelCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*cfg)); - if (drvData->accelCfg == NULL) { - HDF_LOGE("%s: malloc sensor config data failed", __func__); - return HDF_FAILURE; - } - - drvData->accelCfg->regCfgGroup = &g_regCfgGroup[0]; - /* 初始化传感器配置数据主要是解析传感器通讯总线配置类型信息,传感器基本信息,传感器属性信息,传感器是否在位信息,寄存器分组信息 */ - if (GetSensorBaseConfigData(device->property, drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: get sensor base config failed", __func__); - goto Base_CONFIG_EXIT; - } - - if (DetectAccelChip() != HDF_SUCCESS) { - HDF_LOGE("%s: accel sensor detect device no exist", __func__); - goto DETECT_CHIP_EXIT; - } - drvData->detectFlag = true; - if (ParseSensorRegConfig(drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: detect sensor device failed", __func__); - goto REG_CONFIG_EXIT; - } - - if (InitAccelAfterConfig() != HDF_SUCCESS) { - HDF_LOGE("%s: init accel after config failed", __func__); - goto INIT_EXIT; - } - - HDF_LOGI("%s: init accel driver success", __func__); - return HDF_SUCCESS; - -INIT_EXIT: - DestroySensorThread(&drvData->thread, &drvData->threadStatus); - (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); -REG_CONFIG_EXIT: - ReleaseSensorAllRegConfig(drvData->accelCfg); - (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); -DETECT_CHIP_EXIT: - drvData->detectFlag = false; -BASE_CONFIG_EXIT: - drvData->accelCfg->root = NULL; - drvData->accelCfg->regCfgGroup = NULL; - OsalMemFree(drvData->accelCfg); - drvData->accelCfg = NULL; - return HDF_FAILURE; -} - -/* 释放驱动初始化时分配的资源 */ -void ReleaseAccelDriver(struct HdfDeviceObject *device) -{ - (void)device; - struct AccelDrvData *drvData = NULL; - - drvData = AccelGetDrvData(); - (void)DestroySensorThread(&drvData->thread, &drvData->threadStatus); - (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); - drvData->detectFlag = false; - - if (drvData->accelCfg != NULL) { - drvData->accelCfg->root = NULL; - drvData->accelCfg->regCfgGroup = NULL; - ReleaseSensorAllRegConfig(drvData->accelCfg); - (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); - OsalMemFree(drvData->accelCfg); - drvData->accelCfg = NULL; - } - - drvData->initStatus = false; -} -``` - -1. 加速度计传感器寄存器组配置信息 - -加速度计传感器数据配置只需要按照模板配置即可,基于模板配置的解析功能已经在**InitSensorConfigData**函数完成,只需初始化时调用即可。如果有新增配置项,需要同步修改此函数。 - -``` -加速度传感器数据配置模板(accel_config.hcs) -root { - sensorAccelConfig { - accelChipConfig { - /* 传感器设备信息模板 */ - template sensorInfo { - sensorName = "accelerometer"; /* 加速度计名字,字符最大长度16字节 */ - vendorName = "borsh_bmi160"; /* 传感器设备厂商,字符最大长度16字节 */ - firmwareVersion = "1.0"; /* 传感器固件版本号,默认1.0,字符最大长度16字节 */ - hardwareVersion = "1.0"; /* 传感器硬件版本号,默认1.0,字符最大长度16字节 */ - sensorTypeId = 1; /* 传感器类型编号,详见{@link SensorTypeTag} */ - sensorId = 1; /* 传感器的标识号,有传感器驱动开发者定义,推荐用{@link SensorTypeTag}枚举 */ - maxRange = 8; /* 传感器的最大量程,根据开发者需要配置 */ - precision = 0; /* 传感器的精度,与上报数据配合使用,上报数据结构体{@link SensorEvents } */ - power = 230; /* 传感器的功耗 */ - } - /* 传感器使用的总线类型和配置信息模板 */ - template sensorBusConfig { - busType = 0; /* 0:i2c 1:spi */ - busNum = 6; /* 芯片上分配给传感器的器件号 */ - busAddr = 0; /* 芯片上分配给传感器的地址 */ - regWidth = 1; /* 传感器寄存器地址宽度 */ - regBigEndian = 0; /* 传感器寄存器大小端 */ - } - /* 传感器设备属性模板 */ - template sensorAttr { - chipName = ""; /* 传感器芯片名字 */ - chipIdRegister = 0xf; /* 传感器在位检测寄存器地址 */ - chipIdValue = 0xd1; /* 校验传感器在位检测寄存器值 */ - } - } - } -} - -/* 根据不同器件硬件差异,修改模板配置,不修改的就会默认采用模板配置 */ -root { - sensorAccelConfig { - accel_bmi160_chip_config : accelChipConfig { - match_attr = "hdf_sensor_accel_driver"; /* 需要和加速度传感器设备配置match_attr字段保持一致 */ - accelInfo :: sensorInfo { - vendorName = "borsh_bmi160"; - sensorTypeId = 1; - sensorId = 1; - } - accelBusConfig :: sensorBusConfig { - busType = 0; /* i2c通讯方式 */ - busNum = 6; - busAddr = 0x68; - regWidth = 1; /* 1字节位宽 */ - } - accelAttr :: sensorAttr { - chipName = "bmi160"; - chipIdRegister = 0x00; - chipIdValue = 0xd1; - } - accelRegConfig { - /* regAddr: 寄存器地址 - value: 寄存器值 - mask: 寄存器值的掩码 - len: 寄存器值的数据长度(字节) - delay: 配置寄存器延时(ms) - opsType:操作类型 0-无 1-读 2-写 3-读并检查 4-位更新 - calType: 计算类型 0-无 1-写 2-取反 3-异或 4-左移 5-右移 - shiftNum: 移动位数 - debug: 调试开关,0-调试关闭 1-调试打开 - save: 保存数据开关,0-不保存数据 1-保存数据 - */ - /* 传感器寄存器操作分组,按照分组进行有序配置 */ - /* 寄存器地址, 寄存器值, 寄存器值的掩码, 寄存器值的数据长度, 配置寄存器延时, 操作类型, 计算类型, 移动位数, 调试开关, 保存开关 */ - /* 初始化寄存器组 */ - initSeqConfig = [ - 0x7e, 0xb6, 0xff, 1, 5, 2, 0, 0, 0, 0, - 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 - ]; - /* 使能寄存器组 */ - enableSeqConfig = [ - 0x7e, 0x11, 0xff, 1, 5, 2, 0, 0, 0, 0, - 0x41, 0x03, 0xff, 1, 0, 2, 0, 0, 0, 0, - 0x40, 0x08, 0xff, 1, 0, 2, 0, 0, 0, 0 - ]; - /* 去使能寄存器组 */ - disableSeqConfig = [ - 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 - ]; - } - } - } -} -``` - -1. 加速度计传感器驱动操作接口实现 - -开发者需要根据每种类型的传感器实现归一化接口。 - -``` -/* 不使用函数暂时置空 */ -static int32_t SetAccelInfo(struct SensorBasicInfo *info) -{ - (void)info; - - return HDF_ERR_NOT_SUPPORT; -} -/* 下发使能寄存器组的配置 */ -static int32_t SetAccelEnable(void) -{ - int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); - - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); - ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel sensor disable config failed", __func__); - return HDF_FAILURE; - } - - drvData->threadStatus = SENSOR_THREAD_RUNNING; - - return HDF_SUCCESS; -} -/* 下发去使能寄存器组的配置 */ -static int32_t SetAccelDisable(void) -{ - int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); - - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); - - ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel sensor disable config failed", __func__); - return HDF_FAILURE; - } - - drvData->threadStatus = SENSOR_THREAD_STOPPED; - - return HDF_SUCCESS; -} -/* 配置传感器采样率和数据上报间隔 */ -static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) -{ - (void)interval; - - struct AccelDrvData *drvData = AccelGetDrvData(); - drvData->interval = samplingInterval; - - return HDF_SUCCESS; -} -/* 设置传感器工作模式,当前支持实时模式 */ -static int32_t SetAccelMode(int32_t mode) -{ - return (mode == SENSOR_WORK_MODE_REALTIME) ? HDF_SUCCESS : HDF_FAILURE; -} -/* 设置传感器可选配置 */ -static int32_t SetAccelOption(uint32_t option) -{ - (void)option; - return HDF_ERR_NOT_SUPPORT; -} -``` - -- 差异化处理接口 - - ``` - /* 器件探测时,如果探测成功,则注册差异化处理函数到accel驱动模型里 */ - int32_t DetectAccelBim160Chip(struct SensorCfgData *data) - { - int32_t ret; - struct AccelOpsCall ops; - CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); - - if (strcmp(ACCEL_CHIP_NAME_BMI160, data->sensorAttr.chipName) != 0) { - return HDF_SUCCESS; - } - ret = InitAccelPreConfig(); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: init BMI160 bus mux config", __func__); - return HDF_FAILURE; - } - if (DetectSensorDevice(data) != HDF_SUCCESS) { - return HDF_FAILURE; - } - - /* 差异化处理函数 */ - ops.Init = InitBmi160; - ops.ReadData = ReadBmi160Data; - ret = RegisterAccelChipOps(&ops); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: register BMI160 accel failed", __func__); - (void)ReleaseSensorBusHandle(&data->busCfg); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - /* 初始化处理函数 */ - static int32_t InitBmi160(struct SensorCfgData *data) - { - int32_t ret; - - CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); - ret = SetSensorRegCfgArray(&data->busCfg, data->regCfgGroup[SENSOR_INIT_GROUP]); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: bmi160 sensor init config failed", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - /* 数据处理函数 */ - int32_t ReadBmi160Data(struct SensorCfgData *data) - { - int32_t ret; - struct AccelData rawData = { 0, 0, 0 }; - int32_t tmp[ACCEL_AXIS_NUM]; - struct SensorReportEvent event; - - (void)memset_s(&event, sizeof(event), 0, sizeof(event)); - - ret = ReadBmi160RawData(data, &rawData, &event.timestamp); - if (ret != HDF_SUCCESS) { - return HDF_FAILURE; - } - - event.sensorId = SENSOR_TAG_ACCELEROMETER; - event.option = 0; - event.mode = SENSOR_WORK_MODE_REALTIME; - - rawData.x = rawData.x * BMI160_ACC_SENSITIVITY_2G; - rawData.y = rawData.y * BMI160_ACC_SENSITIVITY_2G; - rawData.z = rawData.z * BMI160_ACC_SENSITIVITY_2G; - - tmp[ACCEL_X_AXIS] = (rawData.x * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; - tmp[ACCEL_Y_AXIS] = (rawData.y * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; - tmp[ACCEL_Z_AXIS] = (rawData.z * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; - - event.dataLen = sizeof(tmp); - event.data = (uint8_t *)&tmp; - ret = ReportSensorEvent(&event); - return ret; - } - ``` - -- 数据处理函数 - -创建传感器定时器,按照配置的采样率定时采样,并上报给数据订阅者。 - -``` -/* 传感器定时工作线程 */ -static int32_t ReadAccelDataThreadWorker(void *arg) -{ - (void)arg; - int64_t interval; - struct AccelDrvData *drvData = AccelGetDrvData(); - - drvData->threadStatus = SENSOR_THREAD_START; - while (true) { - if (drvData->threadStatus == SENSOR_THREAD_RUNNING) { - if (drvData->ops.ReadData != NULL) { - (void)drvData->ops.ReadData(drvData->accelCfg); - } - interval = OsalDivS64(drvData->interval, (SENSOR_CONVERT_UNIT * SENSOR_CONVERT_UNIT)); - OsalMSleep(interval); - } else if (drvData->threadStatus == SENSOR_THREAD_DESTROY) { - break; - } else { - OsalMSleep(ACC_DEFAULT_SAMPLING_200_MS / SENSOR_CONVERT_UNIT / SENSOR_CONVERT_UNIT); - } - - if ((!drvData->initStatus) || (drvData->interval < 0) || drvData->threadStatus != SENSOR_THREAD_RUNNING) { - continue; - } - } - - return HDF_SUCCESS; -} -/* 创建传感器定时器和器件初始化 */ -static int32_t InitAccelConfig(void) -{ - int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); - - if (drvData->threadStatus != SENSOR_THREAD_NONE && drvData->threadStatus != SENSOR_THREAD_DESTROY) { - HDF_LOGE("%s: accel thread have created", __func__); - return HDF_SUCCESS; - } - - ret = CreateSensorThread(&drvData->thread, ReadAccelDataThreadWorker, "hdf_sensor_accel", drvData); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel create thread failed", __func__); - drvData->threadStatus = SENSOR_THREAD_NONE; - return HDF_FAILURE; - } - - CHECK_NULL_PTR_RETURN_VALUE(drvData->ops.Init, HDF_ERR_INVALID_PARAM); - - ret = drvData->ops.Init(drvData->accelCfg); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel create thread failed", __func__); - drvData->threadStatus = SENSOR_THREAD_NONE; - return HDF_FAILURE; - } - drvData->initStatus = true; - return HDF_SUCCESS; -} -``` - -- 主要的数据结构 - -``` -/* 传感器转换单位*/ -#define SENSOR_CONVERT_UNIT 1000 -#define SENSOR_1K_UNIT 1024 -/* 传感器2g对应灵敏度转换值 */ -#define BMI160_ACC_SENSITIVITY_2G 61 -/* 传感器数据采样寄存器地址 */ -#define BMI160_ACCEL_X_LSB_ADDR 0X12 -#define BMI160_ACCEL_X_MSB_ADDR 0X13 -#define BMI160_ACCEL_Y_LSB_ADDR 0X14 -#define BMI160_ACCEL_Y_MSB_ADDR 0X15 -#define BMI160_ACCEL_Z_LSB_ADDR 0X16 -#define BMI160_ACCEL_Z_MSB_ADDR 0X17 -/* 传感器数据维度 */ -enum AccelAxisNum { - ACCEL_X_AXIS = 0, - ACCEL_Y_AXIS = 1, - ACCEL_Z_AXIS = 2, - ACCEL_AXIS_NUM = 3, -}; -/* 传感器每个维度值 */ -struct AccelData { - int32_t x; - int32_t y; - int32_t z; -}; -/* 传感器私有数据结构体 */ -struct AccelDrvData { - bool detectFlag; - uint8_t threadStatus; - uint8_t initStatus; - int64_t interval; - struct SensorCfgData *accelCfg; - struct OsalThread thread; - struct AccelOpsCall ops; -}; -/* 差异化适配函数 */ -struct AccelOpsCall { - int32_t (*Init)(struct SensorCfgData *data); - int32_t (*ReadData)(struct SensorCfgData *data); -}; -``` - diff --git "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\214\207\345\257\274.md" deleted file mode 100755 index a544f965063..00000000000 --- "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ /dev/null @@ -1,16 +0,0 @@ -# 传感器驱动开发指导 - -- [开发步骤](#section18816105182315) - -Sensor驱动是基于HDF框架、PLATFORM和OSAL基础接口进行开发,不区分操作系统和芯片平台,为不同Sensor器件提供统一的驱动模型。本篇开发指导以加速度计传感器为例,介绍传感器驱动开发。 - -## 开发步骤 - -1. 加速度计传感器驱动注册。HDF驱动框架会提供统一的驱动管理模型,通过加速计传感器模块配置信息,识别并加载对应模块驱动。 -2. 加速度计传感器驱动初始化和去初始化。HDF驱动框架通过init入口函数,依次启动传感器设备驱动加载和分配传感器设备数据配置资源。HDF驱动框架通过release函数,释放驱动加载的资源和配置。 -3. 加速度计传感器寄存器组配置解析。不同类型传感器需要在hcs里配置器件对应的HCS配置文件,然后再设备驱动启动过程中探测器件是否在位,然后加载对应的配置文件,生成配置的结构体对象。 -4. 加速度计传感器驱动操作接口实现。实现各个类型传感器归一化驱动接口,如init,GetInfo,Enable,Disable,SetBatch,SetMode,SetOption,ReadSensorData等函数,完成传感器驱动配置下发和数据上报功能。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->传感器驱动模型已经提供一部分能力集,包括驱动设备管理能力,抽象总线和平台操作接口能力,通用配置操作接口能力,配置解析操作接口能力,接口参考[表2](传感器驱动开发概述.md#table1156812588320)。需要开发人员实现部分有:1、传感器部分操作接口([表3](传感器驱动开发概述.md#table1083014911336));2、传感器HCS差异化数据配置;3、驱动基本功能验证。 - diff --git "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\346\265\213\350\257\225\346\214\207\345\257\274.md" "b/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\346\265\213\350\257\225\346\214\207\345\257\274.md" deleted file mode 100755 index 7bf51251601..00000000000 --- "a/zh-cn/device-dev/driver/\344\274\240\346\204\237\345\231\250\351\251\261\345\212\250\346\265\213\350\257\225\346\214\207\345\257\274.md" +++ /dev/null @@ -1,82 +0,0 @@ -# 传感器驱动测试指导 - -驱动开发完成后,在传感器单元测试里面开发自测试用例,验证驱动基本功能。测试环境采用开发者自测试平台。 - -``` -/* 标识是否上报传感器数据 */ -static int32_t g_sensorDataFlag = 0; -/* 保持获取的传感器接口实例地址 */ -static const struct SensorInterface *g_sensorDev = nullptr; - -/* 订阅者注册数据上报函数 */ -static int SensorTestDataCallback(struct SensorEvents *event) -{ - if (event == nullptr) { - return -1; - } - float *data = (float*)event->data; - printf("time [%lld] sensor id [%d] x-[%f] y-[%f] z-[%f]\n\r", event->timestamp, - event->sensorId, (*data), *(data + 1), *(data + g_axisZ)); - if (*data > 1e-5) { - g_sensorDataFlag = 1; - } - return 0; -} -/* 用例执行前,初始化传感器接口实例 */ -void HdfSensorTest::SetUpTestCase() -{ - g_sensorDev = NewSensorInterfaceInstance(); - if (g_sensorDev == nullptr) { - printf("test sensorHdi get Module instace failed\n\r"); - } -} -/* 用例资源释放 */ -void HdfSensorTest::TearDownTestCase() -{ - if (g_sensorDev != nullptr) { - FreeSensorInterfaceInstance(); - g_sensorDev = nullptr; - } -} -/* 传感器驱动测试验证 */ -HWTEST_F(HdfSensorTest,TestAccelDriver_001, TestSize.Level0) -{ - int32_t sensorInterval = 1000000000; /* 数据采样率单位纳秒 */ - int32_t pollTime = 5; /* 数据采样时间单位秒 */ - int32_t accelSensorId = 1; /* 加速度传感器类型标识为1 */ - int32_t count = 0; - int ret; - struct SensorInformation *sensorInfo = nullptr; - - ret = g_sensorDev->Register(SensorTestDataCallback) - EXPECT_EQ(SENSOR_NULL_PTR, ret); - - ret = g_sensorDev->GetAllSensors(&sensorInfo, &count); - EXPECT_EQ(0, ret); - if (sensorInfo == nullptr) { - EXPECT_NE(nullptr, sensorInfo); - return; - } - /* 打印获取的传感器列表 */ - for (int i = 0; i < count; i++) { - printf("get sensoriId[%d], info name[%s]\n\r", sensorInfo[i]->sensorId, sensorInfo[i]->sensorName); - } - ret = g_sensorDev->Enable(accelSensorId); - EXPECT_EQ(0, ret); - g_sensorDataFlag = 0; - - ret = g_sensorDev->SetBatch(accelSensorId, sensorInterval, pollTime); - EXPECT_EQ(0, ret); - /* 在时间pollTime内,观察输出打印数据 */ - OsalSleep(pollTime); - EXPECT_EQ(1, g_sensorDataFlag); - - ret = g_sensorDev->Disable(accelSensorId); - g_sensorDataFlag = 0; - EXPECT_EQ(0, ret); - - ret = g_sensorDev->Unregister(); - EXPECT_EQ(0, ret); -} -``` - diff --git "a/zh-cn/device-dev/driver/\345\244\226\350\256\276.md" "b/zh-cn/device-dev/driver/\345\244\226\350\256\276.md" deleted file mode 100755 index 26824613db5..00000000000 --- "a/zh-cn/device-dev/driver/\345\244\226\350\256\276.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 外设 - -- **[LCD](LCD.md)** - -- **[TOUCHSCREEN](TOUCHSCREEN.md)** - -- **[SENSOR](SENSOR.md)** - -- **[WLAN](WLAN.md)** - - diff --git "a/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\345\256\236\344\276\213.md" "b/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\345\256\236\344\276\213.md" deleted file mode 100755 index b8d64e53b75..00000000000 --- "a/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\344\275\277\347\224\250\345\256\236\344\276\213.md" +++ /dev/null @@ -1,86 +0,0 @@ -# 看门狗使用实例 - -本例程提供看门狗的完整使用流程。 - -在本例程中,我们打开一个看门狗设备,设置超时时间并启动计时: - -- 首先定期喂狗,即按时清除看门狗定时器,确保系统不会因定时器超时而复位。 -- 接着再停止喂狗,观察定时器到期后系统是否发生复位行为。 - -示例如下: - -``` -#include "watchdog_if.h" -#include "hdf_log.h" -#include "osal_irq.h" -#include "osal_time.h" - -#define WATCHDOG_TEST_TIMEOUT 2 -#define WATCHDOG_TEST_FEED_TIME 6 - -static int32_t TestCaseWatchdog(void) -{ - int32_t i; - int32_t ret; - uint32_t timeout; - DevHandle handle = NULL; - - /* 打开0号看门狗设备 */ - handle = WatchdogOpen(0); - if (handle == NULL) { - HDF_LOGE("Open watchdog fail!"); - return -1; - } - - /* 设置超时时间 */ - ret = WatchdogSetTimeout(handle, WATCHDOG_TEST_TIMEOUT); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set timeout fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - - /* 回读设置的超时时间值 */ - ret = WatchdogGetTimeout(handle, &timeout); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: get timeout fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - HDF_LOGI("%s: read timeout back:%u\n", __func__, timeout); - - /* 启动看门狗,开始计时 */ - ret = WatchdogStart(handle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: satrt fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - - /* 每隔1S喂狗一次 */ - for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { - HDF_LOGE("%s: feeding watchdog %d times... \n", __func__, i); - ret = WatchdogFeed(handle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: feed dog fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - OsalSleep(1); - } - /* 由于喂狗间隔小于超时时间,系统不会发生复位,此日志可以正常打印 */ - HDF_LOGE("%s: no reset ... feeding test OK!!!\n", __func__); - - /* 接下来持续不喂狗,使得看门狗计时器超时 */ - for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { - HDF_LOGE("%s: watiting dog buck %d times... \n", __func__, i); - OsalSleep(1); - } - - /* 当不喂狗时间到达之前设定的超时时间的时候,系统会发生复位,理论上观察不到此日志的打印 */ - HDF_LOGE("%s: dog has't buck!!! \n", __func__, i); - WatchdogClose(handle); - return -1; -} -``` - diff --git "a/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\346\246\202\350\277\260.md" "b/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\346\246\202\350\277\260.md" deleted file mode 100755 index 467e21ba08e..00000000000 --- "a/zh-cn/device-dev/driver/\347\234\213\351\227\250\347\213\227\346\246\202\350\277\260.md" +++ /dev/null @@ -1,78 +0,0 @@ -# 看门狗概述 - -- [简介](#section3579126111816) -- [接口说明](#section17429111981812) - -## 简介 - -看门狗(watchdog),又叫看门狗计时器(watchdog timer),是一种硬件的计时设备,当系统的主程序发生某些错误时,导致未及时清除看门狗计时器的计时值,这时看门狗计时器就会对系统发出复位信号,使系统从悬停状态恢复到正常运作状态。 - -## 接口说明 - -**表 1** 看门狗 API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    功能分类

    -

    接口名

    -

    描述

    -

    打开/关闭看门狗

    -

    WatchdogOpen

    -

    打开看门狗设备

    -

    WatchdogClose

    -

    关闭看门狗设备

    -

    启动/停止看门狗

    -

    WatchdogStart

    -

    启动看门狗

    -

    WatchdogStop

    -

    停止看门狗

    -

    设置/获取超时时间

    -

    WatchdogSetTimeout

    -

    设置看门狗超时时间

    -

    WatchdogGetTimeout

    -

    获取看门狗超时时间

    -

    获取看门狗状态

    -

    WatchdogGetStatus

    -

    获取看门狗状态

    -

    清除看门狗定时器

    -

    WatchdogFeed

    -

    清除看门狗定时器(喂狗)

    -
    - ->![](public_sys-resources/icon-note.gif) **说明:** ->本文涉及看门狗的所有接口,仅限内核态使用,不支持在用户态使用。 - diff --git "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\345\271\263\345\217\260.md" "b/zh-cn/device-dev/driver/\351\251\261\345\212\250\345\271\263\345\217\260.md" deleted file mode 100755 index 7d5a5437f75..00000000000 --- "a/zh-cn/device-dev/driver/\351\251\261\345\212\250\345\271\263\345\217\260.md" +++ /dev/null @@ -1,19 +0,0 @@ -# 驱动平台 - -- **[GPIO](GPIO.md)** - -- **[I2C](I2C.md)** - -- **[RTC](RTC.md)** - -- **[SDIO](SDIO.md)** - -- **[SPI](SPI.md)** - -- **[UART](UART.md)** - -- **[WATCHDOG](WATCHDOG.md)** - -- **[MIPI DSI](MIPI-DSI.md)** - - diff --git a/zh-cn/device-dev/get-code/Readme-CN.md b/zh-cn/device-dev/get-code/Readme-CN.md index a2dbbc91bbe..82da2d561e3 100755 --- a/zh-cn/device-dev/get-code/Readme-CN.md +++ b/zh-cn/device-dev/get-code/Readme-CN.md @@ -1,7 +1,9 @@ # 获取源码 -- [源码获取](源码获取.md) -- [获取工具](获取工具.md) - - [Docker编译环境](Docker编译环境.md) - - [IDE](IDE.md) +- [获取源码](sourcecode.md) + - [源码获取](sourcecode-acquire.md) + +- [获取工具](gettools.md) + - [Docker编译环境](gettools-acquire.md) + - [IDE](gettools-ide.md) diff --git a/zh-cn/device-dev/get-code/figures/3.png b/zh-cn/device-dev/get-code/figure/3-20.png similarity index 100% rename from zh-cn/device-dev/get-code/figures/3.png rename to zh-cn/device-dev/get-code/figure/3-20.png diff --git a/zh-cn/device-dev/get-code/figures/zh-cn_image_0000001101413884.png b/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001101413884.png similarity index 100% rename from zh-cn/device-dev/get-code/figures/zh-cn_image_0000001101413884.png rename to zh-cn/device-dev/get-code/figure/zh-cn_image_0000001101413884.png diff --git a/zh-cn/device-dev/get-code/figures/zh-cn_image_0000001119755646.png b/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119755646.png similarity index 100% rename from zh-cn/device-dev/get-code/figures/zh-cn_image_0000001119755646.png rename to zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119755646.png diff --git a/zh-cn/device-dev/get-code/figures/zh-cn_image_0000001119915556.png b/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119915556.png similarity index 100% rename from zh-cn/device-dev/get-code/figures/zh-cn_image_0000001119915556.png rename to zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119915556.png diff --git a/zh-cn/device-dev/get-code/figures/zh-cn_image_0000001166715379.png b/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001166715379.png similarity index 100% rename from zh-cn/device-dev/get-code/figures/zh-cn_image_0000001166715379.png rename to zh-cn/device-dev/get-code/figure/zh-cn_image_0000001166715379.png diff --git "a/zh-cn/device-dev/get-code/Docker\347\274\226\350\257\221\347\216\257\345\242\203.md" b/zh-cn/device-dev/get-code/gettools-acquire.md similarity index 96% rename from "zh-cn/device-dev/get-code/Docker\347\274\226\350\257\221\347\216\257\345\242\203.md" rename to zh-cn/device-dev/get-code/gettools-acquire.md index c15f1861f15..942635e189a 100644 --- "a/zh-cn/device-dev/get-code/Docker\347\274\226\350\257\221\347\216\257\345\242\203.md" +++ b/zh-cn/device-dev/get-code/gettools-acquire.md @@ -74,9 +74,9 @@ OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完 在使用docker环境前需要先完成以下操作: 1. 安装Docker,Docker安装请参考[官方指导](https://docs.docker.com/engine/install/)。 -2. 获取OpenHarmony源码,请参考[获取源码](源码获取.md)。 +2. 获取OpenHarmony源码,请参考[获取源码](sourcecode-acquire.md)。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >HPM Docker环境无需单独获取源码。 @@ -153,9 +153,9 @@ hb set **图 1** 设置编译界面 -![](figures/zh-cn_image_0000001101413884.png) +![](figure/zh-cn_image_0000001101413884.png) ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >当前开发板平台和编译界面的对应关系如下: >- Hi3861:wifiiot\_hispark\_pegasus@hisilicon >- Hi3516:ipcamera\_hispark\_taurus@hisilicon @@ -231,12 +231,12 @@ hb set 编译所生成的文件都归档在out/ohos-arm-release/目录下,结果镜像输出在 out/ohos-arm-release/packages/phone/images/ 目录下。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >退出Docker执行exit命令即可。 ## 基于HPM的Docker环境 -docker\_dist是一个[HPM](https://hpm.harmonyos.com/)系统中的模板组件,能够帮助用户快速初始化HPM工程,利用docker镜像来快速编译OpenHarmony发行版,在很大程度上简化了编译前的环境配置。开发者在配置好Ubuntu和[hpm-cli](https://device.harmonyos.com/cn/docs/develop/bundles/oem_bundle_guide_prepare-0000001050129846)开发环境后,可以通过以下步骤来使用我们提供的Docker环境。 +docker\_dist是一个[HPM](https://hpm.harmonyos.com/)系统中的模板组件,能够帮助用户快速初始化HPM工程,利用docker镜像来快速编译OpenHarmony发行版,在很大程度上简化了编译前的环境配置。开发者在配置好Ubuntu和[hpm-cli](../bundles/bundles-guide-prepare.md)开发环境后,可以通过以下步骤来使用我们提供的Docker环境。 ### 搭建Docker环境 diff --git a/zh-cn/device-dev/get-code/IDE.md b/zh-cn/device-dev/get-code/gettools-ide.md similarity index 98% rename from zh-cn/device-dev/get-code/IDE.md rename to zh-cn/device-dev/get-code/gettools-ide.md index 144b67418be..8217ddc1222 100644 --- a/zh-cn/device-dev/get-code/IDE.md +++ b/zh-cn/device-dev/get-code/gettools-ide.md @@ -9,7 +9,7 @@ HUAWEI DevEco Device Tool是OpenHarmony面向智能设备开发者提供的一 Huawei DevEco Device Tool支持 OpenHarmony设备开发的演进路标如下: -![](figures/3.png) +![](figure/3-20.png) ## 获取应用开发工具(HUAWEI DevEco Studio) diff --git "a/zh-cn/device-dev/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" b/zh-cn/device-dev/get-code/gettools.md old mode 100755 new mode 100644 similarity index 42% rename from "zh-cn/device-dev/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" rename to zh-cn/device-dev/get-code/gettools.md index eeb55c71564..4e357725674 --- "a/zh-cn/device-dev/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" +++ b/zh-cn/device-dev/get-code/gettools.md @@ -1,7 +1,7 @@ # 获取工具 -- **[Docker编译环境](Docker编译环境.md)** +- **[Docker编译环境](gettools-acquire.md)** -- **[IDE](IDE.md)** +- **[IDE](gettools-ide.md)** diff --git a/zh-cn/device-dev/get-code/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/get-code/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/get-code/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/get-code/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/get-code/public_sys-resources/icon-note.gif b/zh-cn/device-dev/get-code/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/get-code/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/get-code/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" b/zh-cn/device-dev/get-code/sourcecode-acquire.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" rename to zh-cn/device-dev/get-code/sourcecode-acquire.md index 3b2c0526b4e..de62e5dd995 --- "a/zh-cn/device-dev/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" +++ b/zh-cn/device-dev/get-code/sourcecode-acquire.md @@ -1,426 +1,426 @@ -# 源码获取 - -- [OpenHarmony介绍](#section6370143622110) -- [源码获取概述](#section12763342204) -- [获取方式1:从代码仓库获取](#section537312010229) - - [适用场景](#section10881513459) - - [前提条件](#section102871547153314) - - [操作步骤](#section429012478331) - -- [获取方式2:从HPM获取](#section463013147412) - - [适用场景](#section26661067443) - - [前提条件](#section17544943123315) - - [操作步骤](#section954619433333) - -- [获取方式3:从镜像站点获取](#section1186691118430) -- [源码目录简介](#section1072115612811) - -## OpenHarmony介绍 - -OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。 - -开源代码仓库地址:[https://openharmony.gitee.com](https://openharmony.gitee.com) - ->![](public_sys-resources/icon-note.gif) **说明:** ->当前的OpenHarmony源代码仅支持在Linux环境下编译。 - -## 源码获取概述 - -本文档将介绍如何获取OpenHarmony源码并说明OpenHarmony的源码目录结构。OpenHarmony的代码以[组件](../bundles/概述.md)的形式开放,开发者可以通过如下其中一种方式获取: - -- **获取方式1**:从代码仓库获取。通过repo或git工具从代码仓库中下载,此方式可获取最新代码。 -- **获取方式2**:通过HPM包管理器获取。在[HPM](https://hpm.harmonyos.com)网站,查找满足需求的开源发行版,直接下载(或者定制后下载),再通过hpm-cli命令工具将所需的组件及工具链下载、安装到本地。 -- **获取方式3**:从镜像站点下载归档后的发行版压缩文件。如果要获取旧版本的源码,也可通过此方式获取,此方式下载速度较快。 - -## 获取方式1:从代码仓库获取 - -### 适用场景 - -- 基于OpenHarmony的稳定分支建立自己的基线,分发下游客户。 - -- 已经完成自身软件与OpenHarmony的对接,需要进行OpenHarmony官方认证。 - -- 芯片/模组/app通过OpenHarmony官方认证后,贡献代码到OpenHarmony社区。 - -- 修复OpenHarmony的问题。 - -- 学习OpenHarmony的源码。 - - -### 前提条件 - -1. 注册码云gitee账号。 -2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)。 -3. 安装[git客户端](http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。 - - ``` - git config --global user.name "yourname" - git config --global user.email "your-email-address" - git config --global credential.helper store - ``` - -4. 安装码云repo工具,可以执行如下命令。 - - ``` - curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo #如果没有权限,可下载至其他目录,并将其配置到环境变量中 - chmod a+x /usr/local/bin/repo - pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests - ``` - - -### 操作步骤 - -**获取轻量/小型/标准系统(2.0 Canary)源码** - ->![](public_sys-resources/icon-note.gif) **说明:** ->主干代码为开发分支,开发者可通过主干代码获取最新特性。release分支代码相对比较稳定,开发者可基于release分支代码进行商用功能开发。 - -- **OpenHarmony主干代码获取** - - 方式一(推荐):通过repo + ssh 下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。 - - ``` - repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify - repo sync -c - repo forall -c 'git lfs pull' - ``` - - 方式二:通过repo + https 下载。 - - ``` - repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify - repo sync -c - repo forall -c 'git lfs pull' - ``` - - -- **OpenHarmony release 分支最新代码获取** - - >![](public_sys-resources/icon-note.gif) **说明:** - >当前通过release分支只能获取轻量和小型系统源码。 - - 通过repo下载。 - - ``` - repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify - repo sync -c - repo forall -c 'git lfs pull' - ``` - -- **OpenHarmony** 其他版本源码获取方式请参考版本[Release-Notes](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-Release-Notes.md)。 - -## 获取方式2:从HPM获取 - -### 适用场景 - -对于刚接触OpenHarmony的新用户,希望能够参考一些示例解决方案从而进行快速开发。可以在[HPM](https://hpm.harmonyos.com)网站获取下载开源发行版,也可以在开源发行版的基础上定制(添加或删除组件)。然后通过包管理器命令行工具(hpm-cli)将需要的组件及相关的编译工具链全部下载、安装到本地。 - -### 前提条件 - -先要在本地安装Node.js和hpm命令行工具,安装步骤如下: - -1. 安装Node.js。 - - 官网下载并在本地安装Node.js. - - 推荐安装 [Node.js](https://nodejs.org/) 12.x \(包含 npm 6.14.4\)或更高版本 \(推荐 12.13.0+\)。 - -2. 通过Node.js自带的npm安装hpm命令行工具。 - - 打开CMD,执行以下命令: - - ``` - npm install -g @ohos/hpm-cli - ``` - -3. 安装完成后执行如下命令,显示hpm版本,即安装成功。 - - ``` - hpm -V 或 hpm --version - ``` - -4. 如果升级hpm的版本,请执行如下命令: - - ``` - npm update -g @ohos/hpm-cli - ``` - - -### 操作步骤 - -1. 查找发行版。 - 1. 打开包管理页面[HPM](https://hpm.harmonyOS.com),设定搜索的对象为“发行版“,如下图所示。 - 2. 在搜索框输入关键字搜索,如“摄像头”。 - 3. 结果中显示与关键字匹配的发行版,可以进一步根据组件类别等过滤条件(如:适配的开发板,内核)精确筛选。 - 4. 查找合适的发行版,点击查看发行版的详情介绍。 - - **图 1** 包管理 - - - ![](figures/zh-cn_image_0000001119915556.png) - - -2. 了解发行版详情。 - - 1. 仔细阅读发行版的说明信息,以了解使用场景、特性、组件构成、使用方法以及如何进行定制化,如下图所示。 - 2. 点击「直接下载」,将发行版下载到本地。 - 3. 点击「定制组件」,将对发行版包含的组件进行定制(添加/删除)。 - - **图 2** 发行版示例 - - - ![](figures/zh-cn_image_0000001119755646.png) - -3. 定制组件。 - 1. 进入发行版的定制页面,如下图所示。 - 2. 通过关闭开关移除可选组件,或者通过“添加组件”增加新的组件。 - 3. 在右边填写您的项目基本信息,包括名称、版本、描述等信息。 - 4. 点击“下载“,系统会根据您的选择,生成相应的OpenHarmony代码结构文件\(如my\_cust\_dist.zip\),保存至本地文件。 - - **图 3** 组件定制 - - - ![](figures/zh-cn_image_0000001166715379.png) - - -4. 下载安装组件。 - 1. 解压下载的压缩文件,用命令行工具CMD(Linux下的Shell终端) - 2. 在解压后的文件目录下执行hpm install指令 - 3. 下载的组件存在工程目录下的ohos\_bundles文件夹中(部分组件安装后会将源码复制到指定目录下)。 - - -## 获取方式3:从镜像站点获取 - -为了获得更好的下载性能,您可以选择从以下站点的镜像库获取源码或者对应的解决方案。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->- 本部分只提供**OpenHarmony** Master最新版本和LTS最新版本的源码获取方式, 其他版本源码获取方式以及具体版本信息请参考[Release-Notes](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-Release-Notes.md) ->- 当前Master 1.0版本已经不再维护。 - -**表 1** 源码获取路径 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    LTS版本源码

    -

    版本信息

    -

    下载站点

    -

    SHA256校验码

    -

    全量代码(轻量和小型系统)

    -

    1.1.1

    -

    站点

    -

    SHA256 校验码

    -

    Hi3861解决方案(二进制)

    -

    1.1.1

    -

    站点

    -

    SHA256 校验码

    -

    Hi3518解决方案(二进制)

    -

    1.1.1

    -

    站点

    -

    SHA256 校验码

    -

    Hi3516解决方案(二进制)

    -

    1.1.1

    -

    站点

    -

    SHA256 校验码

    -

    RELEASE-NOTES

    -

    1.1.1

    -

    站点

    -

    -

    -

    Master版本源码

    -

    版本信息

    -

    下载站点

    -

    SHA256校验码

    -

    全量代码(标准系统)

    -

    2.0 Canary

    -

    站点1站点2

    -

    SHA256校验码

    -

    全量代码(轻量和小型系统)

    -

    1.0(不再维护)

    -

    站点

    -

    SHA256 校验码

    -

    Hi3861解决方案(二进制)

    -

    1.0(不再维护)

    -

    站点

    -

    SHA256 校验码

    -

    Hi3518解决方案(二进制)

    -

    1.0(不再维护)

    -

    站点

    -

    SHA256 校验码

    -

    Hi3516解决方案(二进制)

    -

    1.0(不再维护)

    -

    站点

    -

    SHA256 校验码

    -

    RELEASE-NOTES

    -

    1.0(不再维护)

    -

    站点

    -

    -

    -

    编译工具链

    -

    版本信息

    -

    下载站点

    -

    SHA256校验码

    -

    编译工具链获取清单

    -

    -

    -

    站点

    -

    -

    -
    - -## 源码目录简介 - -下表是OpenHarmony源码的目录及简单说明: - -**表 2** 源码目录 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    目录名

    -

    描述

    -

    applications

    -

    应用程序样例,包括camera等

    -

    base

    -

    基础软件服务子系统集&硬件服务子系统集

    -

    build

    -

    组件化编译、构建和配置脚本

    -

    docs

    -

    说明文档

    -

    domains

    -

    增强软件服务子系统集

    -

    drivers

    -

    驱动子系统

    -

    foundation

    -

    系统基础能力子系统集

    -

    kernel

    -

    内核子系统

    -

    prebuilts

    -

    编译器及工具链子系统

    -

    test

    -

    测试子系统

    -

    third_party

    -

    开源第三方组件

    -

    utils

    -

    常用的工具集

    -

    vendor

    -

    厂商提供的软件

    -

    build.py

    -

    编译脚本文件

    -
    - +# 源码获取 + +- [OpenHarmony介绍](#section6370143622110) +- [源码获取概述](#section12763342204) +- [获取方式1:从代码仓库获取](#section537312010229) + - [适用场景](#section10881513459) + - [前提条件](#section102871547153314) + - [操作步骤](#section429012478331) + +- [获取方式2:从HPM获取](#section463013147412) + - [适用场景](#section26661067443) + - [前提条件](#section17544943123315) + - [操作步骤](#section954619433333) + +- [获取方式3:从镜像站点获取](#section1186691118430) +- [源码目录简介](#section1072115612811) + +## OpenHarmony介绍 + +OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。 + +开源代码仓库地址:[https://openharmony.gitee.com](https://openharmony.gitee.com) + +>![](../public_sys-resources/icon-note.gif) **说明:** +>当前的OpenHarmony源代码仅支持在Linux环境下编译。 + +## 源码获取概述 + +本文档将介绍如何获取OpenHarmony源码并说明OpenHarmony的源码目录结构。OpenHarmony的代码以[组件](../bundles/bundles-standard-rules.md)的形式开放,开发者可以通过如下其中一种方式获取: + +- **获取方式1**:从代码仓库获取。通过repo或git工具从代码仓库中下载,此方式可获取最新代码。 +- **获取方式2**:通过HPM包管理器获取。在[HPM](https://hpm.harmonyos.com)网站,查找满足需求的开源发行版,直接下载(或者定制后下载),再通过hpm-cli命令工具将所需的组件及工具链下载、安装到本地。 +- **获取方式3**:从镜像站点下载归档后的发行版压缩文件。如果要获取旧版本的源码,也可通过此方式获取,此方式下载速度较快。 + +## 获取方式1:从代码仓库获取 + +### 适用场景 + +- 基于OpenHarmony的稳定分支建立自己的基线,分发下游客户。 + +- 已经完成自身软件与OpenHarmony的对接,需要进行OpenHarmony官方认证。 + +- 芯片/模组/app通过OpenHarmony官方认证后,贡献代码到OpenHarmony社区。 + +- 修复OpenHarmony的问题。 + +- 学习OpenHarmony的源码。 + + +### 前提条件 + +1. 注册码云gitee账号。 +2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)。 +3. 安装[git客户端](http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading))并配置用户信息。 + + ``` + git config --global user.name "yourname" + git config --global user.email "your-email-address" + git config --global credential.helper store + ``` + +4. 安装码云repo工具,可以执行如下命令。 + + ``` + curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo #如果没有权限,可下载至其他目录,并将其配置到环境变量中 + chmod a+x /usr/local/bin/repo + pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests + ``` + + +### 操作步骤 + +**获取轻量/小型/标准系统(2.0 Canary)源码** + +>![](../public_sys-resources/icon-note.gif) **说明:** +>主干代码为开发分支,开发者可通过主干代码获取最新特性。release分支代码相对比较稳定,开发者可基于release分支代码进行商用功能开发。 + +- **OpenHarmony主干代码获取** + + 方式一(推荐):通过repo + ssh 下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。 + + ``` + repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify + repo sync -c + repo forall -c 'git lfs pull' + ``` + + 方式二:通过repo + https 下载。 + + ``` + repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify + repo sync -c + repo forall -c 'git lfs pull' + ``` + + +- **OpenHarmony release 分支最新代码获取** + + >![](../public_sys-resources/icon-note.gif) **说明:** + >当前通过release分支只能获取轻量和小型系统源码。 + + 通过repo下载。 + + ``` + repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify + repo sync -c + repo forall -c 'git lfs pull' + ``` + +- OpenHarmony其他版本源码获取方式请参考版本[Release-Notes](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-Release-Notes.md)。 + +## 获取方式2:从HPM获取 + +### 适用场景 + +对于刚接触OpenHarmony的新用户,希望能够参考一些示例解决方案从而进行快速开发。可以在[HPM](https://hpm.harmonyos.com)网站获取下载开源发行版,也可以在开源发行版的基础上定制(添加或删除组件)。然后通过包管理器命令行工具(hpm-cli)将需要的组件及相关的编译工具链全部下载、安装到本地。 + +### 前提条件 + +先要在本地安装Node.js和hpm命令行工具,安装步骤如下: + +1. 安装Node.js。 + + 官网下载并在本地安装Node.js. + + 推荐安装 [Node.js](https://nodejs.org/) 12.x \(包含 npm 6.14.4\)或更高版本 \(推荐 12.13.0+\)。 + +2. 通过Node.js自带的npm安装hpm命令行工具。 + + 打开CMD,执行以下命令: + + ``` + npm install -g @ohos/hpm-cli + ``` + +3. 安装完成后执行如下命令,显示hpm版本,即安装成功。 + + ``` + hpm -V 或 hpm --version + ``` + +4. 如果升级hpm的版本,请执行如下命令: + + ``` + npm update -g @ohos/hpm-cli + ``` + + +### 操作步骤 + +1. 查找发行版。 + 1. 打开包管理页面[HPM](https://hpm.harmonyOS.com),设定搜索的对象为“发行版“,如下图所示。 + 2. 在搜索框输入关键字搜索,如“摄像头”。 + 3. 结果中显示与关键字匹配的发行版,可以进一步根据组件类别等过滤条件(如:适配的开发板,内核)精确筛选。 + 4. 查找合适的发行版,点击查看发行版的详情介绍。 + + **图 1** 包管理 + + + ![](figure/zh-cn_image_0000001119915556.png) + + +2. 了解发行版详情。 + + 1. 仔细阅读发行版的说明信息,以了解使用场景、特性、组件构成、使用方法以及如何进行定制化,如下图所示。 + 2. 点击「直接下载」,将发行版下载到本地。 + 3. 点击「定制组件」,将对发行版包含的组件进行定制(添加/删除)。 + + **图 2** 发行版示例 + + + ![](figure/zh-cn_image_0000001119755646.png) + +3. 定制组件。 + 1. 进入发行版的定制页面,如下图所示。 + 2. 通过关闭开关移除可选组件,或者通过“添加组件”增加新的组件。 + 3. 在右边填写您的项目基本信息,包括名称、版本、描述等信息。 + 4. 点击“下载“,系统会根据您的选择,生成相应的OpenHarmony代码结构文件\(如my\_cust\_dist.zip\),保存至本地文件。 + + **图 3** 组件定制 + + + ![](figure/zh-cn_image_0000001166715379.png) + + +4. 下载安装组件。 + 1. 解压下载的压缩文件,用命令行工具CMD(Linux下的Shell终端) + 2. 在解压后的文件目录下执行hpm install指令 + 3. 下载的组件存在工程目录下的ohos\_bundles文件夹中(部分组件安装后会将源码复制到指定目录下)。 + + +## 获取方式3:从镜像站点获取 + +为了获得更好的下载性能,您可以选择从以下站点的镜像库获取源码或者对应的解决方案。 + +>![](../public_sys-resources/icon-note.gif) **说明:** +>- 本部分只提供OpenHarmony Master最新版本和LTS最新版本的源码获取方式, 其他版本源码获取方式以及具体版本信息请参考[Release-Notes](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-Release-Notes.md) +>- 当前Master 1.0版本已经不再维护。 + +**表 1** 源码获取路径 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    LTS版本源码

    +

    版本信息

    +

    下载站点

    +

    SHA256校验码

    +

    全量代码(轻量和小型系统)

    +

    1.1.1

    +

    站点

    +

    SHA256 校验码

    +

    Hi3861解决方案(二进制)

    +

    1.1.1

    +

    站点

    +

    SHA256 校验码

    +

    Hi3518解决方案(二进制)

    +

    1.1.1

    +

    站点

    +

    SHA256 校验码

    +

    Hi3516解决方案(二进制)

    +

    1.1.1

    +

    站点

    +

    SHA256 校验码

    +

    RELEASE-NOTES

    +

    1.1.1

    +

    站点

    +

    -

    +

    Master版本源码

    +

    版本信息

    +

    下载站点

    +

    SHA256校验码

    +

    全量代码(标准系统)

    +

    2.0 Canary

    +

    站点1站点2

    +

    SHA256校验码

    +

    全量代码(轻量和小型系统)

    +

    1.0(不再维护)

    +

    站点

    +

    SHA256 校验码

    +

    Hi3861解决方案(二进制)

    +

    1.0(不再维护)

    +

    站点

    +

    SHA256 校验码

    +

    Hi3518解决方案(二进制)

    +

    1.0(不再维护)

    +

    站点

    +

    SHA256 校验码

    +

    Hi3516解决方案(二进制)

    +

    1.0(不再维护)

    +

    站点

    +

    SHA256 校验码

    +

    RELEASE-NOTES

    +

    1.0(不再维护)

    +

    站点

    +

    -

    +

    编译工具链

    +

    版本信息

    +

    下载站点

    +

    SHA256校验码

    +

    编译工具链获取清单

    +

    -

    +

    站点

    +

    -

    +
    + +## 源码目录简介 + +下表是OpenHarmony源码的目录及简单说明: + +**表 2** 源码目录 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    目录名

    +

    描述

    +

    applications

    +

    应用程序样例,包括camera等

    +

    base

    +

    基础软件服务子系统集&硬件服务子系统集

    +

    build

    +

    组件化编译、构建和配置脚本

    +

    docs

    +

    说明文档

    +

    domains

    +

    增强软件服务子系统集

    +

    drivers

    +

    驱动子系统

    +

    foundation

    +

    系统基础能力子系统集

    +

    kernel

    +

    内核子系统

    +

    prebuilts

    +

    编译器及工具链子系统

    +

    test

    +

    测试子系统

    +

    third_party

    +

    开源第三方组件

    +

    utils

    +

    常用的工具集

    +

    vendor

    +

    厂商提供的软件

    +

    build.py

    +

    编译脚本文件

    +
    + diff --git a/zh-cn/device-dev/get-code/sourcecode.md b/zh-cn/device-dev/get-code/sourcecode.md new file mode 100644 index 00000000000..c5803f640fa --- /dev/null +++ b/zh-cn/device-dev/get-code/sourcecode.md @@ -0,0 +1,5 @@ +# 获取源码 + +- **[源码获取](sourcecode-acquire.md)** + + diff --git a/zh-cn/device-dev/glossary/Readme-CN.md b/zh-cn/device-dev/glossary/Readme-CN.md index 1e55e64c536..e69d48c9378 100755 --- a/zh-cn/device-dev/glossary/Readme-CN.md +++ b/zh-cn/device-dev/glossary/Readme-CN.md @@ -1,4 +1,4 @@ -# glossary +# 术语 -- [术语](术语.md) +- [术语](glossary.md) diff --git "a/zh-cn/device-dev/glossary/\346\234\257\350\257\255.md" b/zh-cn/device-dev/glossary/glossary.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/glossary/\346\234\257\350\257\255.md" rename to zh-cn/device-dev/glossary/glossary.md diff --git a/zh-cn/device-dev/glossary/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/glossary/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/glossary/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/glossary/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/glossary/public_sys-resources/icon-note.gif b/zh-cn/device-dev/glossary/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/glossary/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/glossary/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/guide/Input\346\250\241\345\236\213\345\267\245\344\275\234\346\265\201\347\250\213\350\247\243\346\236\220.md" "b/zh-cn/device-dev/guide/Input\346\250\241\345\236\213\345\267\245\344\275\234\346\265\201\347\250\213\350\247\243\346\236\220.md" deleted file mode 100644 index 90604006df1..00000000000 --- "a/zh-cn/device-dev/guide/Input\346\250\241\345\236\213\345\267\245\344\275\234\346\265\201\347\250\213\350\247\243\346\236\220.md" +++ /dev/null @@ -1,18 +0,0 @@ -# Input模型工作流程解析 - -为了让开发者更清晰的了解Input模型工作流程,本节将对input模型加载的关键流程代码进行说明。 - ->![](public_sys-resources/icon-notice.gif) **须知:** ->本章节为Input模型工作流程说明,开发者无需进行开发。 - -- **[私有配置信息解析](私有配置信息解析.md)** - -- **[管理驱动层初始化及注册驱动至HDF框架](管理驱动层初始化及注册驱动至HDF框架.md)** - -- **[公共驱动层初始化及注册驱动至HDF框架](公共驱动层初始化及注册驱动至HDF框架.md)** - -- **[器件驱动层初始化及注册驱动至HDF框架](器件驱动层初始化及注册驱动至HDF框架.md)** - -- **[具体调用逻辑串联函数](具体调用逻辑串联函数.md)** - - diff --git "a/zh-cn/device-dev/guide/Input\346\250\241\345\236\213\347\256\200\344\273\213.md" "b/zh-cn/device-dev/guide/Input\346\250\241\345\236\213\347\256\200\344\273\213.md" deleted file mode 100644 index 2ad32642152..00000000000 --- "a/zh-cn/device-dev/guide/Input\346\250\241\345\236\213\347\256\200\344\273\213.md" +++ /dev/null @@ -1,12 +0,0 @@ -# Input模型简介 - -Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动层组成。其中: - -- 设备管理层:主要为各类输入设备驱动提供input设备的注册、注销接口,同时统一管理input设备列表; -- 公共驱动层:负责对板级硬件进行初始化、硬件中断处理、向manager注册input设备等; -- 器件驱动层:通过适配平台驱动预留的差异化接口,实现器件驱动开发量最小化; - -此外,Input模型预先实现了数据通道以及设备配置信息解析等函数。 - -关于Input模型的详细介绍请参考《[Touchscreen开发概述](../driver/Touchscreen开发概述.md)》。 - diff --git "a/zh-cn/device-dev/guide/LED\345\244\226\350\256\276\346\216\247\345\210\266.md" "b/zh-cn/device-dev/guide/LED\345\244\226\350\256\276\346\216\247\345\210\266.md" deleted file mode 100755 index fc94423bf4b..00000000000 --- "a/zh-cn/device-dev/guide/LED\345\244\226\350\256\276\346\216\247\345\210\266.md" +++ /dev/null @@ -1,9 +0,0 @@ -# LED外设控制 - -- **[概述](概述.md)** - -- **[开发](开发.md)** - -- **[验证](验证.md)** - - diff --git a/zh-cn/device-dev/guide/Readme-CN.md b/zh-cn/device-dev/guide/Readme-CN.md index 6afa218aca5..b447b4990ae 100755 --- a/zh-cn/device-dev/guide/Readme-CN.md +++ b/zh-cn/device-dev/guide/Readme-CN.md @@ -1,74 +1,39 @@ -# 开发示例 +# 设备开发指南 + +- [WLAN连接类产品](device-wifi.md) + - [LED外设控制](device-wifi-led-outcontrol.md) + - [集成三方SDK](device-wifi-sdk.md) + +- [无屏摄像头类产品](device-iotcamera.md) + - [概述](device-iotcamera-control-overview.md) + - [示例开发](device-iotcamera-control-demo.md) + - [拍照开发指导](device-iotcamera-control-demo-photodevguide.md) + - [录像开发指导](device-iotcamera-control-demo-videodevguide.md) + + - [应用实例](device-iotcamera-control-example.md) + +- [带屏摄像头类产品](device-camera.md) + - [屏幕和摄像头控制](device-camera-control.md) + - [概述](device-camera-control-overview.md) + - [示例开发](device-camera-control-demo.md) + - [拍照开发指导](device-camera-control-demo-photoguide.md) + - [录像开发指导](device-camera-control-demo-videoguide.md) + - [预览开发指导](device-camera-control-demo-previewguide.md) + + - [应用实例](device-camera-control-example.md) + + - [视觉应用开发](device-camera-visual.md) + - [概述](device-camera-visual-overview.md) + - [开发准备](device-camera-visual-prepare.md) + - [添加页面](device-camera-visual-addpage.md) + - [开发首页](device-camera-visual-first-page.md) + - [开发详情页](device-camera-visual-details.md) + - [调试打包](device-camera-visual-debug.md) + - [真机运行](device-camera-visual-run.md) + - [常见问题](device-camera-visual-faqs.md) + +- [时钟应用开发指导](device-clock-guide.md) +- [平台驱动开发示例](device-drive-demo.md) +- [外设驱动开发示例](device-outerdrive-demo.md) -- [WLAN连接类产品](WLAN连接类产品.md) - - [LED外设控制](LED外设控制.md) - - [概述](概述.md) - - [开发](开发.md) - - [验证](验证.md) - - - [集成三方SDK](集成三方SDK.md) - -- [无屏摄像头类产品](无屏摄像头类产品.md) - - [摄像头控制](摄像头控制.md) - - [概述](概述-0.md) - - [示例开发](示例开发.md) - - [拍照开发指导](拍照开发指导.md) - - [录像开发指导](录像开发指导.md) - - - [应用实例](应用实例.md) - -- [带屏摄像头类产品](带屏摄像头类产品.md) - - [屏幕和摄像头控制](屏幕和摄像头控制.md) - - [概述](概述-1.md) - - [示例开发](示例开发-2.md) - - [拍照开发指导](拍照开发指导-3.md) - - [录像开发指导](录像开发指导-4.md) - - [预览开发指导](预览开发指导.md) - - - [应用实例](应用实例-5.md) - - - [视觉应用开发](视觉应用开发.md) - - [概述](概述-6.md) - - [开发准备](开发准备.md) - - [添加页面](添加页面.md) - - [开发首页](开发首页.md) - - [开发详情页](开发详情页.md) - - [调试打包](调试打包.md) - - [真机运行](真机运行.md) - - [常见问题](常见问题.md) - -- [时钟应用开发示例](时钟应用开发示例.md) - - [概述](概述-7.md) - - [开发准备](开发准备-8.md) - - [开发步骤](开发步骤.md) - - [签名打包](签名打包.md) - - [真机运行](真机运行-9.md) - -- [平台驱动开发示例](平台驱动开发示例.md) - - [概述](概述-10.md) - - [环境准备](环境准备.md) - - [开发](开发-11.md) - - [编译及烧录](编译及烧录.md) - -- [外设驱动开发示例](外设驱动开发示例.md) - - [概述](概述-12.md) - - [硬件资源介绍](硬件资源介绍.md) - - [Input模型简介](Input模型简介.md) - - - [环境搭建](环境搭建.md) - - [TouchScreen器件驱动开发](TouchScreen器件驱动开发.md) - - [配置设备描述信息](配置设备描述信息.md) - - [配置Touchscreen器件信息](配置Touchscreen器件信息.md) - - [适配器件私有驱动](适配器件私有驱动.md) - - - [编译及烧录](编译及烧录-13.md) - - [调试验证](调试验证.md) - - [开机日志分析](开机日志分析.md) - - - [Input模型工作流程解析](Input模型工作流程解析.md) - - [私有配置信息解析](私有配置信息解析.md) - - [管理驱动层初始化及注册驱动至HDF框架](管理驱动层初始化及注册驱动至HDF框架.md) - - [公共驱动层初始化及注册驱动至HDF框架](公共驱动层初始化及注册驱动至HDF框架.md) - - [器件驱动层初始化及注册驱动至HDF框架](器件驱动层初始化及注册驱动至HDF框架.md) - - [具体调用逻辑串联函数](具体调用逻辑串联函数.md) diff --git "a/zh-cn/device-dev/guide/TouchScreen\345\231\250\344\273\266\351\251\261\345\212\250\345\274\200\345\217\221.md" "b/zh-cn/device-dev/guide/TouchScreen\345\231\250\344\273\266\351\251\261\345\212\250\345\274\200\345\217\221.md" deleted file mode 100644 index ef2d3835fa3..00000000000 --- "a/zh-cn/device-dev/guide/TouchScreen\345\231\250\344\273\266\351\251\261\345\212\250\345\274\200\345\217\221.md" +++ /dev/null @@ -1,17 +0,0 @@ -# TouchScreen器件驱动开发 - -基于Input模型适配一款触摸屏IC需要完成的工作有: - -1.配置设备描述信息。驱动注册到HDF框架所需要的设备驱动描述信息,如驱动是否加载以及加载次序等; - -2.配置器件私有信息、平台硬件信息。器件私有信息包括上下电时序等,平台硬件信息包括器件连接主板的GPIO端口信息等。 - -3.适配器件私有驱动。 Input模型对Input设备开发流程进行了抽象,开发者只需要适配器件驱动层,无需改动管理驱动层以及公共驱动层。 - -- **[配置设备描述信息](配置设备描述信息.md)** - -- **[配置Touchscreen器件信息](配置Touchscreen器件信息.md)** - -- **[适配器件私有驱动](适配器件私有驱动.md)** - - diff --git "a/zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274-3.md" b/zh-cn/device-dev/guide/device-camera-control-demo-photoguide.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274-3.md" rename to zh-cn/device-dev/guide/device-camera-control-demo-photoguide.md index 83e445c0ed1..0cae9c359bf --- "a/zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274-3.md" +++ b/zh-cn/device-dev/guide/device-camera-control-demo-photoguide.md @@ -385,6 +385,7 @@ Surface *surface = Surface::CreateSurface(); if (surface == nullptr) { delete fc; + return; } surface->SetWidthAndHeight(1920, 1080); /* 1920:width,1080:height */ fc->AddSurface(*surface); diff --git "a/zh-cn/device-dev/guide/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/guide/device-camera-control-demo-previewguide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/guide/device-camera-control-demo-previewguide.md diff --git "a/zh-cn/device-dev/guide/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274-4.md" b/zh-cn/device-dev/guide/device-camera-control-demo-videoguide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274-4.md" rename to zh-cn/device-dev/guide/device-camera-control-demo-videoguide.md diff --git a/zh-cn/device-dev/guide/device-camera-control-demo.md b/zh-cn/device-dev/guide/device-camera-control-demo.md new file mode 100644 index 00000000000..3d42880861d --- /dev/null +++ b/zh-cn/device-dev/guide/device-camera-control-demo.md @@ -0,0 +1,9 @@ +# 示例开发 + +- **[拍照开发指导](device-camera-control-demo-photoguide.md)** + +- **[录像开发指导](device-camera-control-demo-videoguide.md)** + +- **[预览开发指导](device-camera-control-demo-previewguide.md)** + + diff --git "a/zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213-5.md" b/zh-cn/device-dev/guide/device-camera-control-example.md old mode 100755 new mode 100644 similarity index 79% rename from "zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213-5.md" rename to zh-cn/device-dev/guide/device-camera-control-example.md index a5da7138f9c..a092908acd9 --- "a/zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213-5.md" +++ b/zh-cn/device-dev/guide/device-camera-control-example.md @@ -3,9 +3,9 @@ 本示例将运行源码中的camera示例代码,通过本示例可以实现对开发板拍照、录像及预览功能的控制。 - 本示例源码路径为“applications/sample/camera/media/camera\_sample.cpp”。 -- 在运行本示例前需先完成编译烧录、运行镜像等步骤,相关操作请参考[Hi3516快速入门](../quick-start/Hi3516开发板介绍.md) +- 在运行本示例前需先完成编译烧录、运行镜像等步骤,相关操作请参考[Hi3516快速入门](../quick-start/quickstart-lite-introduction-hi3516.md#section26131214194212)。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >开发板启动后默认会加载launcher应用,应用的图形界面默认显示在媒体图层上方,会影响camera\_sample的演示结果,因此需要在编译或是打包时去掉launcher应用。 >**修改方法:**将“build/lite/components/applications.json”中camera\_sample\_app组件的targets中"//applications/sample/camera/launcher:launcher\_hap"整行注释或删除。 @@ -18,7 +18,7 @@ 重新执行源码仓编译并烧写入单板后,可在单板bin目录下找到camera\_sample文件。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >实例运行拍照和录像功能需要插入TF卡\(最大容量支持128GB\),系统启动后自动将TF卡挂载至/sdcard目录,如果在启动后插入则需要手动挂载。查看拍照和录像内容可将TF卡中内容复制到电脑中进行查看,预览功能无需TF卡。 - 接下来可通过以下步骤运行示例: @@ -26,38 +26,38 @@ 1. 通过cd命令进入可执行程序的末端路径,启动camera\_sample,执行命令如下图。 **图 1** 启动示例 - ![](figures/启动示例.png "启动示例") + ![](figure/启动示例.png "启动示例") 运行后的控制命令如串口打印所示,按s键停止当前操作(包括录像和预览),按q键退出示例程序。 2. 按1进行拍照,拍照的文件格式为jpg,存储在/sdcard,文件名Capture\* **图 2** 输入拍照指令后串口打印日志 - ![](figures/输入拍照指令后串口打印日志.png "输入拍照指令后串口打印日志") + ![](figure/输入拍照指令后串口打印日志.png "输入拍照指令后串口打印日志") 若想查看保存文件,可在退出程序后进入文件系统查看,退出后重新进入请回到步骤1。 **图 3** 查看文件图 - ![](figures/查看文件图.png "查看文件图") + ![](figure/查看文件图.png "查看文件图") 3. 按2进行录像,录像的文件格式为mp4,存储在/sdcard,文件名Record\*,按s键停止 **图 4** 输入录像指令后串口打印日志 - ![](figures/输入录像指令后串口打印日志.png "输入录像指令后串口打印日志") + ![](figure/输入录像指令后串口打印日志.png "输入录像指令后串口打印日志") 4. 按3进行预览,预览图像直接送至显示屏,按s键停止。 **图 5** 输入预览指令后串口打印日志 - ![](figures/输入预览指令后串口打印日志.png "输入预览指令后串口打印日志") + ![](figure/输入预览指令后串口打印日志.png "输入预览指令后串口打印日志") 预览效果如下 **图 6** 预览效果 - ![](figures/预览效果.jpg "预览效果") + ![](figure/预览效果.jpg "预览效果") 5. 按q键退出 **图 7** 输出退出指令后串口打印日志 - ![](figures/输出退出指令后串口打印日志.png "输出退出指令后串口打印日志") + ![](figure/输出退出指令后串口打印日志.png "输出退出指令后串口打印日志") diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-1.md" b/zh-cn/device-dev/guide/device-camera-control-overview.md old mode 100755 new mode 100644 similarity index 65% rename from "zh-cn/device-dev/guide/\346\246\202\350\277\260-1.md" rename to zh-cn/device-dev/guide/device-camera-control-overview.md index f265cdb276c..0bf698b5356 --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-1.md" +++ b/zh-cn/device-dev/guide/device-camera-control-overview.md @@ -4,7 +4,7 @@ 通过本文档,开发者能够对OpenHarmony的摄像控制有更深入的了解,可参照本例尝试完成“智能猫眼”、“智能后视镜”、“智能带屏音箱”等设备的开发。 -若开发者想先查看示例效果,请进入[应用实例](应用实例-5.md)。如需自定义应用行为,可参考下节“示例开发”对示例代码进行修改。 +若开发者想先查看示例效果,请进入[应用实例](device-camera-control-example.md)。如需自定义应用行为,可参考下节“示例开发”对示例代码进行修改。 -相机应用开发的基本概念请参考:[相机开发概述](../subsystems/相机开发概述.md)。 +相机应用开发的基本概念请参考:[相机开发概述](../subsystems/subsys-multimedia-camera-overview.md)。 diff --git "a/zh-cn/device-dev/guide/\345\261\217\345\271\225\345\222\214\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" b/zh-cn/device-dev/guide/device-camera-control.md old mode 100755 new mode 100644 similarity index 30% rename from "zh-cn/device-dev/guide/\345\261\217\345\271\225\345\222\214\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" rename to zh-cn/device-dev/guide/device-camera-control.md index 7fed33d8a77..a3e406a2e3c --- "a/zh-cn/device-dev/guide/\345\261\217\345\271\225\345\222\214\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" +++ b/zh-cn/device-dev/guide/device-camera-control.md @@ -1,9 +1,9 @@ # 屏幕和摄像头控制 -- **[概述](概述-1.md)** +- **[概述](device-camera-control-overview.md)** -- **[示例开发](示例开发-2.md)** +- **[示例开发](device-camera-control-demo.md)** -- **[应用实例](应用实例-5.md)** +- **[应用实例](device-camera-control-example.md)** diff --git "a/zh-cn/device-dev/guide/\346\267\273\345\212\240\351\241\265\351\235\242.md" b/zh-cn/device-dev/guide/device-camera-visual-addpage.md old mode 100755 new mode 100644 similarity index 82% rename from "zh-cn/device-dev/guide/\346\267\273\345\212\240\351\241\265\351\235\242.md" rename to zh-cn/device-dev/guide/device-camera-visual-addpage.md index 8733bfb1e6d..3929ffbf6ae --- "a/zh-cn/device-dev/guide/\346\267\273\345\212\240\351\241\265\351\235\242.md" +++ b/zh-cn/device-dev/guide/device-camera-visual-addpage.md @@ -8,7 +8,7 @@ 空气质量监测App包含两个界面(Page),工程创建完成后会生成一个名为index的Page,可以作为首页。工程目录如下图所示: **图 1** 工程目录 -![](figures/工程目录.png "工程目录") +![](figure/工程目录.png "工程目录") ## 创建详情页 @@ -17,18 +17,18 @@ 1. pages目录右键 ,弹出的菜单中选择New、JS Page。 **图 2** 添加页面 - ![](figures/添加页面.png "添加页面") + ![](figure/添加页面.png "添加页面") 2. 输入Page名称。 **图 3** 输入页面名称 - ![](figures/输入页面名称.png "输入页面名称") + ![](figure/输入页面名称.png "输入页面名称") 3. 确认创建结果。 详情页创建完成后应用工程目录如下图所示,每个Page包括三个文件:布局文件hml、样式文件css、业务逻辑代码js。 **图 4** 完整工程目录 - ![](figures/完整工程目录.png "完整工程目录") + ![](figure/完整工程目录.png "完整工程目录") diff --git "a/zh-cn/device-dev/guide/\350\260\203\350\257\225\346\211\223\345\214\205.md" b/zh-cn/device-dev/guide/device-camera-visual-debug.md old mode 100755 new mode 100644 similarity index 50% rename from "zh-cn/device-dev/guide/\350\260\203\350\257\225\346\211\223\345\214\205.md" rename to zh-cn/device-dev/guide/device-camera-visual-debug.md index 5015bd5755d..30505bcb3eb --- "a/zh-cn/device-dev/guide/\350\260\203\350\257\225\346\211\223\345\214\205.md" +++ b/zh-cn/device-dev/guide/device-camera-visual-debug.md @@ -1,4 +1,4 @@ # 调试打包 -代码编写完成后,可以进行调试和打包;应用调试及打包方法可以参考[《DevEco Studio使用指南》](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/tools_overview-0000001053582387)的[应用调测](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/debug_overview-0000001053822404)和[编译构建](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/build_overview-0000001055075201)章节。IPCamera应用暂时不支持签名模式,所以需要将应用发布为未签名的应用安装包。 +代码编写完成后,可以进行调试和打包;应用调试及打包方法可以参考[《DevEco Studio使用指南》](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/tools_overview-0000001053582387)的[应用调测](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404)和[编译构建](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/build_overview-0000001055075201)章节。IPCamera应用暂时不支持签名模式,所以需要将应用发布为未签名的应用安装包。 diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\350\257\246\346\203\205\351\241\265.md" b/zh-cn/device-dev/guide/device-camera-visual-details.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/\345\274\200\345\217\221\350\257\246\346\203\205\351\241\265.md" rename to zh-cn/device-dev/guide/device-camera-visual-details.md diff --git "a/zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230.md" b/zh-cn/device-dev/guide/device-camera-visual-faqs.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230.md" rename to zh-cn/device-dev/guide/device-camera-visual-faqs.md diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\351\246\226\351\241\265.md" b/zh-cn/device-dev/guide/device-camera-visual-first-page.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/guide/\345\274\200\345\217\221\351\246\226\351\241\265.md" rename to zh-cn/device-dev/guide/device-camera-visual-first-page.md index c80d70f94f3..354097ab25c --- "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\351\246\226\351\241\265.md" +++ b/zh-cn/device-dev/guide/device-camera-visual-first-page.md @@ -2,7 +2,7 @@ 应用首页主要展示城市的空气质量概况。首页总共有两屏(可以根据需求设置多屏),每屏显示一个城市的空气质量信息:主要包括AQI指数、城市名称、污染物指数、更新时间和信息来源等数据。 -从第一章节中的[显示效果图](概述-6.md#fig18250512195914)分析可知,首页由三部分组成: +从第一章节中的[显示效果图](device-camera-visual-overview.md#fig18250512195914)分析可知,首页由三部分组成: - 标题栏:位于页面正上方,位置固定,包括应用退出按钮和页面标题。 - 信息栏:主要展示城市的空气信息指标等内容;该页面根据用户需求可设置多屏,且能循环滑动。 @@ -83,7 +83,7 @@ 代码编写完成后,在模拟器中运行项目,显示效果如下图所示: **图 1** 标题栏效果 - ![](figures/标题栏效果.png "标题栏效果") + ![](figure/标题栏效果.png "标题栏效果") 3. 实现城市空气质量信息的多屏左右滑动,需要使用“swiper”组件。 @@ -177,7 +177,7 @@ 代码编写完成后,模拟器运行效果如下: **图 2** 标题栏和信息栏效果 - ![](figures/标题栏和信息栏效果.png "标题栏和信息栏效果") + ![](figure/标题栏和信息栏效果.png "标题栏和信息栏效果") 5. 添加页面位置指示器:由于当前swiper不支持设置indicator,需要开发者自己来实现该效果。在根节点中添加一个子组件div,并设置相应样式;然后在该div中添加两个子组件div,设置两个div的border-radius,并在swiper滑动事件中动态改变对应div的背景色来实现该效果。 @@ -189,7 +189,7 @@ ``` **图 3** 页面位置指示器效果图 - ![](figures/页面位置指示器效果图.png "页面位置指示器效果图") + ![](figure/页面位置指示器效果图.png "页面位置指示器效果图") 6. 所有组件设置样式、动画效果和数据动态绑定,完整代码如下所示: diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-6.md" b/zh-cn/device-dev/guide/device-camera-visual-overview.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/guide/\346\246\202\350\277\260-6.md" rename to zh-cn/device-dev/guide/device-camera-visual-overview.md index 7f8de10aa75..a7e9895e2dc --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-6.md" +++ b/zh-cn/device-dev/guide/device-camera-visual-overview.md @@ -11,5 +11,5 @@ **图 1** 空气质量监测 App显示效果图 -![](figures/Video_2020-07-25_173141.gif) +![](figure/Video_2020-07-25_173141.gif) diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207.md" b/zh-cn/device-dev/guide/device-camera-visual-prepare.md old mode 100755 new mode 100644 similarity index 96% rename from "zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207.md" rename to zh-cn/device-dev/guide/device-camera-visual-prepare.md index f24d68a539b..55ed7451c0e --- "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207.md" +++ b/zh-cn/device-dev/guide/device-camera-visual-prepare.md @@ -15,7 +15,7 @@ 2. 选择“Smart Vision”下的“Empty Feature Ability”模板。 - ![](figures/zh-cn_image_0000001082434703.png) + ![](figure/zh-cn_image_0000001082434703.png) 3. 点击**Next**,进入到工程配置阶段,需要根据向导配置工程的基本信息。 - **Project Name**:工程的名称,可以自定义。 diff --git "a/zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214.md" b/zh-cn/device-dev/guide/device-camera-visual-run.md old mode 100755 new mode 100644 similarity index 70% rename from "zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214.md" rename to zh-cn/device-dev/guide/device-camera-visual-run.md index 973019fcce8..3e7c3f1d165 --- "a/zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214.md" +++ b/zh-cn/device-dev/guide/device-camera-visual-run.md @@ -1,6 +1,6 @@ # 真机运行 -应用编译打包后即可安装到开发板。安装应用前需要先完成[DevEco Device Tool的安装配置](https://device.harmonyos.com/cn/docs/ide/user-guides/tool_install-0000001050164976),然后将OpenHarmony烧录到开发板并运行。编译烧录、运行镜像的基本操作请参考快速入门手册:[Hi3516快速入门](../quick-start/Hi3516开发板介绍.md)。完成镜像运行,系统正常启动后,执行如下步骤安装或卸载三方应用。 +应用编译打包后即可安装到开发板。安装应用前需要先完成[DevEco Device Tool的安装配置](https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905),然后将OpenHarmony烧录到开发板并运行。编译烧录、运行镜像的基本操作请参考快速入门手册:[Hi3516快速入门](../quick-start/quickstart-lite-introduction-hi3516.md#section26131214194212)。完成镜像运行,系统正常启动后,执行如下步骤安装或卸载三方应用。 1. 将IDE编译的未签名应用安装包和安装工具(镜像文件生成目录中的dev\_tools)放在sdcard中,将sdcard插入开发板卡槽。 2. 应用安装默认要校验签名,需要执行以下命令,关闭签名校验。 @@ -20,7 +20,7 @@ 4. 应用安装完成后,可点击桌面应用图标启动应用,进行操作。 **图 1** 桌面 - ![](figures/桌面.png "桌面") + ![](figure/桌面.png "桌面") 5. 卸载应用(可选)。 diff --git a/zh-cn/device-dev/guide/device-camera-visual.md b/zh-cn/device-dev/guide/device-camera-visual.md new file mode 100644 index 00000000000..ca4e46538b7 --- /dev/null +++ b/zh-cn/device-dev/guide/device-camera-visual.md @@ -0,0 +1,19 @@ +# 视觉应用开发 + +- **[概述](device-camera-visual-overview.md)** + +- **[开发准备](device-camera-visual-prepare.md)** + +- **[添加页面](device-camera-visual-addpage.md)** + +- **[开发首页](device-camera-visual-first-page.md)** + +- **[开发详情页](device-camera-visual-details.md)** + +- **[调试打包](device-camera-visual-debug.md)** + +- **[真机运行](device-camera-visual-run.md)** + +- **[常见问题](device-camera-visual-faqs.md)** + + diff --git "a/zh-cn/device-dev/guide/\345\270\246\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" b/zh-cn/device-dev/guide/device-camera.md old mode 100755 new mode 100644 similarity index 38% rename from "zh-cn/device-dev/guide/\345\270\246\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" rename to zh-cn/device-dev/guide/device-camera.md index 0dacd47e009..7239a00d3a4 --- "a/zh-cn/device-dev/guide/\345\270\246\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" +++ b/zh-cn/device-dev/guide/device-camera.md @@ -1,7 +1,7 @@ # 带屏摄像头类产品 -- **[屏幕和摄像头控制](屏幕和摄像头控制.md)** +- **[屏幕和摄像头控制](device-camera-control.md)** -- **[视觉应用开发](视觉应用开发.md)** +- **[视觉应用开发](device-camera-visual.md)** diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\346\255\245\351\252\244.md" b/zh-cn/device-dev/guide/device-clock-guide.md similarity index 42% rename from "zh-cn/device-dev/guide/\345\274\200\345\217\221\346\255\245\351\252\244.md" rename to zh-cn/device-dev/guide/device-clock-guide.md index ae738663fd4..a615280a6e2 100644 --- "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\346\255\245\351\252\244.md" +++ b/zh-cn/device-dev/guide/device-clock-guide.md @@ -1,8 +1,35 @@ -# 开发步骤 +# 时钟应用开发指导 + +- [概述](#section11522349121115) +- [开发准备](#section6592121861218) +- [开发步骤](#section19901741111312) +- [签名打包](#section10601181101516) +- [真机运行](#section092721731511) +- [常见问题](#section1122413460153) + - [hdc\_std连接不到设备](#section1922725151614) + - [hdc\_std运行不了](#section15657547131615) + + +## 概述 + +本文将介绍如何快速搭建基于OpenHarmony标准系统(Hi3516DV300开发板)的应用开发环境,并基于一个时钟APP示例逐步展示应用的创建、开发、调试和安装等流程。示例代码可以通过[本链接](https://gitee.com/openharmony/app_samples/tree/master/common/Clock)获取。 + +时钟App是一款显示实时时间的应用,显示效果如下图所示: + +**图 1** 时钟应用显示效果图 + + +![](figure/Clock.png) + +## 开发准备 + +首先需要下载和配置DevEco Studio,具体操作请参考[DevEco Studio 使用指南](../../application-dev/quick-start/DevEco-Studio(OpenHarmony)使用指南.md)。 + +## 开发步骤 应用的功能是通过表盘和数字显示实时时间。 -从第一章节中的[显示效果图](概述-7.md#fig7763172132019)分析可知,页面由两个部分组成: +从[显示效果图](device-clock-guide.md#fig7763172132019)分析可知,页面由两个部分组成: - 表盘栏:主要展示一个动态的钟表,且钟表指针能准确转动。 - 数字时间栏:主要以数字形式显示当前时间。 @@ -133,98 +160,173 @@ ``` 4. 所有组件设置样式、动画效果和数据动态绑定,完整代码如下所示: - - **index.hml文件** + ``` +
    + + + + + + + {{ hour }}:{{ minute }}:{{ second }} +
    + ``` + + + - **index.css文件** + + ``` + .container { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + } + + .stack { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 50%; + } + + .digit-clock { + font-size: 58px; + width: 100%; + margin-top: 0px; + text-align: center; + } + + .clock-bg { + width: 80%; + height: 80%; + object-fit: scale-down; + } + + .clock-hand { + width: 25%; + height: 65%; + object-fit: contain; + } + ``` + + + - **index.js:** + + js文件主要用于实现App应用的逻辑交互。在本页面js文件中,需要实现如下功能:定时获取系统时间。 + + ``` + export default { + timer: undefined, + data: { + hour: 0, + minute: 0, + second: 0 + }, + onInit() { + this.updateTime() + this.timer = setInterval(this.updateTime, 1000) + }, + updateTime: function () { + var nowTime = new Date() + this.hour = nowTime.getHours() + this.minute = nowTime.getMinutes() + this.second = nowTime.getSeconds() + if (this.hour < 10) { + this.hour = '0' + this.hour + } + if (this.minute < 10) { + this.minute = '0' + this.minute + } + if (this.second < 10) { + this.second = '0' + this.second + } + }, + onDestroy() { + clearInterval(this.timer); + } + } + ``` + + + +## 签名打包 + +代码编写完成后,在真机设备上运行应用,需要先对应用进行签名,然后再进行打包,具体操作请参考[签名打包指导](../../application-dev/quick-start/配置OpenHarmony应用签名信息.md)。 + +## 真机运行 + +应用签名打包后即可安装到开发板。安装应用前需要先完成[DevEco Device Tool的安装配置](https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905),然后将OpenHarmony系统烧录到开发板并运行。编译烧录、运行镜像的基本操作请参考快速入门手册:[标准系统Hi3516快速入门](../quick-start/quickstart-standard.md)。完成镜像运行,系统正常启动后,执行如下步骤安装或卸载应用。 + +1. 从开发者工具代码仓路径中获取hdc客户端。 + ``` -
    - - - - - - - {{ hour }}:{{ minute }}:{{ second }} -
    + developtools/hdc_standard/prebuilt/windows/hdc_std.exe ``` - - **index.css文件** + 修改名称为hdc.exe,并将工具路径加入系统环境path变量中。 + +2. 启动cmd命令窗口,执行以下命令,推送hap应用包到设备目录下并安装。 ``` - .container { - flex-direction: column; - justify-content: center; - align-items: center; - width: 100%; - height: 100%; - } - - .stack { - flex-direction: column; - justify-content: center; - align-items: center; - width: 100%; - height: 50%; - } - - .digit-clock { - font-size: 58px; - width: 100%; - margin-top: 0px; - text-align: center; - } - - .clock-bg { - width: 80%; - height: 80%; - object-fit: scale-down; - } - - .clock-hand { - width: 25%; - height: 65%; - object-fit: contain; - } + hdc smode + hdc target mount + hdc file send clock.hap /data/clock.hap + hdc shell chmod 666 /data/clock.hap + hdc shell bm install -p /data/clock.hap ``` - - **index.js:** +3. 启动应用。执行以下命令,其中ohos.samples.clock为应用包名,MainAbility为应用启动的Ability。 - js文件主要用于实现App应用的逻辑交互。在本页面js文件中,需要实现如下功能:定时获取系统时间。 + ``` + hdc shell aa start -d 123 -a ohos.samples.clock.MainAbility -b ohos.samples.clock + ``` + +4. 卸载应用(可选)。执行以下命令,其中ohos.samples.clock为应用包名。 ``` - export default { - timer: undefined, - data: { - hour: 0, - minute: 0, - second: 0 - }, - onInit() { - this.updateTime() - this.timer = setInterval(this.updateTime, 1000) - }, - updateTime: function () { - var nowTime = new Date() - this.hour = nowTime.getHours() - this.minute = nowTime.getMinutes() - this.second = nowTime.getSeconds() - if (this.hour < 10) { - this.hour = '0' + this.hour - } - if (this.minute < 10) { - this.minute = '0' + this.minute - } - if (this.second < 10) { - this.second = '0' + this.second - } - }, - onDestroy() { - clearInterval(this.timer); - } - } + hdc shell bm uninstall -n ohos.samples.clock ``` +## 常见问题 + +### hdc\_std连接不到设备 + +- **现象描述** + + 执行 "hdc\_std list targets"命令后结果为:\[Empty\] + +- **可能原因和解决方法** + 1. 设备没有被识别: + + 在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。 + + 2. hdc\_std工作异常: + + 可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。 + + 3. hdc\_std与设备不匹配: + + 如果设备烧写的是最新镜像,hdc\_std也需要使用最新版本。由于hdc\_std会持续更新,请从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。 + + + +### hdc\_std运行不了 + +- **现象描述** + + 点击hdc\_std.exe文件无法运行。 + +- **可能原因和解决方法** + + hdc\_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc\_std命令直接使用。 + + diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221-11.md" b/zh-cn/device-dev/guide/device-drive-demo.md similarity index 83% rename from "zh-cn/device-dev/guide/\345\274\200\345\217\221-11.md" rename to zh-cn/device-dev/guide/device-drive-demo.md index a7dedada789..bb103f846c1 100644 --- "a/zh-cn/device-dev/guide/\345\274\200\345\217\221-11.md" +++ b/zh-cn/device-dev/guide/device-drive-demo.md @@ -1,14 +1,47 @@ -# 开发 +# 平台驱动开发示例 -- [实例化驱动入口](#section6586911816) -- [设置相关参数](#section114323217503) -- [添加控制器](#section115187812516) +- [概述](#section194201316174215) +- [环境准备](#section6926133918422) +- [开发](#section65801539470) + - [文件说明](#section0708184454414) + - [实例化驱动入口](#section85325864412) + - [设置相关参数](#section8155172019453) + - [添加控制器](#section1335374114452) -平台驱动开发包含以下几步: +- [编译及烧录](#section164824754712) -1. 实例化驱动入口: 实例化一个HdfDriverEntry 对象作为驱动入口。 -2. 设置相关参数:通过配置device\_info.hcs,并从HCS获取并解析设备的配置参数以确保驱动能够正确加载。 -3. 添加控制器:初始化控制器硬件,并调用核心层接口完成向核心层添加、删除设备,以及钩子函数的实现等。 +## 概述 + +本文档将以I2C驱动为例,介绍如何基于HDF驱动框架完成平台驱动开发。 + +>![](../public_sys-resources/icon-caution.gif) **注意:** +>本例仅作为平台驱动开发示例参考,开发者不可直接用于商用集成。 + +HDF驱动框架为常用外围设备提供了标准的驱动框架,驱动开发者只需将驱动适配至HDF驱动框架,即可通过HDF驱动框架提供的接口操作外围设备。 + +本文以I2C为例。其时序流程如[图1](#fig148041484161)所示。 + +**图 1** I2C时序流程图 + + +![](figure/zh-cn_image_0000001169991055.png) + +- User Business:用户业务驱动。 +- i2cManagerEntry:I2C管理器入口,注册I2cManager到HDF驱动框架。 +- I2cManager:I2C管理器,管理I2C控制器。 +- I2cCntlr:I2C控制器。 +- i2cDriverEntry:I2C控制器入口,注册I2cCntlr到HDF驱动框架。 + +## 环境准备 + +环境准备具体操作请参考[标准系统基础环境搭建](../quick-start/quickstart-standard.md)。 + +>![](../public_sys-resources/icon-notice.gif) **须知:** +>本示例针对OpenHarmony轻量系统、小型系统、标准系统都适用,本文以标准系统为例。其他系统的开发者可参考对应系统的指导文档进行环境搭建。 + +## 开发 + +### 文件说明 本例中涉及的文件及路径如下表: @@ -72,12 +105,12 @@
    ->![](public_sys-resources/icon-caution.gif) **注意:** +>![](../public_sys-resources/icon-caution.gif) **注意:** >本例程涉及的文件路径均作为演示,驱动开发者应根据实际情况确定具体的源文件存放位置。 -## 实例化驱动入口 +### 实例化驱动入口 -驱动入口必须为HdfDriverEntry(在hdf\_device\_desc.h中定义)类型的全局变量,且moduleName要和device\_info.hcs中保持一致。在加载驱动时HDF框架会先调用Bind函数,再调用Init函数加载该驱动,当Init调用异常时,HDF框架会调用Release释放驱动资源并退出。 +实例化一个HdfDriverEntry 对象作为驱动入口。驱动入口必须为HdfDriverEntry(在hdf\_device\_desc.h中定义)类型的全局变量,且moduleName要和device\_info.hcs中保持一致。在加载驱动时HDF框架会先调用Bind函数,再调用Init函数加载该驱动,当Init调用异常时,HDF框架会调用Release释放驱动资源并退出。 I2C驱动中没有实现Bind方法,因为I2C控制器由manager管理,而在manager中已经实现了Bind方法,因此I2C驱动中无需再绑定服务。 @@ -95,7 +128,9 @@ struct HdfDriverEntry g_sampleI2cDriverEntry = { HDF_INIT(g_sampleI2cDriverEntry); ``` -## 设置相关参数 +### 设置相关参数 + +通过配置device\_info.hcs,并从HCS获取并解析设备的配置参数以确保驱动能够正确加载。 1. 添加设备服务节点(必选)。 @@ -121,12 +156,12 @@ HDF_INIT(g_sampleI2cDriverEntry); ``` - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >配置文件中的priority(取值范围为整数0到200)是用来表示host和驱动的优先级,不同的host内的驱动,host的priority值越小,驱动加载优先级越高;同一个host内驱动的priority值越小,加载优先级越高,驱动的priority值相同则不保证加载顺序。 2. 添加配置参数(可选)。 - 有时驱动可能会需要私有配置信息,以确保寄存器的配置可以满足不同产品的需求。如需要私有配置信息,则可以添加一个驱动的配置文件,用来存放一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考[驱动开发](../driver/驱动开发.md))传递给驱动。驱动开发者可新建配置文件,并在板级驱动hdf.hcs中引用新建的配置文件,本例中直接在原有的配置文件i2c\_config.hcs内添加配置参数。 + 有时驱动可能会需要私有配置信息,以确保寄存器的配置可以满足不同产品的需求。如需要私有配置信息,则可以添加一个驱动的配置文件,用来存放一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考[驱动开发](../driver/drive-hdf-development.md))传递给驱动。驱动开发者可新建配置文件,并在板级驱动hdf.hcs中引用新建的配置文件,本例中直接在原有的配置文件i2c\_config.hcs内添加配置参数。 本例中编辑i2c\_config.hcs,添加配置参数: @@ -204,7 +239,9 @@ HDF_INIT(g_sampleI2cDriverEntry); ``` -## 添加控制器 +### 添加控制器 + +初始化控制器硬件,并调用核心层接口完成向核心层添加、删除设备,以及钩子函数的实现等。 1. 定义结构体,实现钩子函数并赋值至函数指针。 @@ -394,3 +431,23 @@ HDF_INIT(g_sampleI2cDriverEntry); ``` +## 编译及烧录 + +1. 编辑Makefile,添加源文件: + + ``` + include drivers/hdf/khdf/platform/platform.mk + + obj-y += $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_core.o \ + $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_if.o \ + ./i2c_adapter.o \ + ./i2c_sample.o + ``` + + "./i2c\_sample.o"为本示例中在Makefile中追加的内容。 + +2. 编译及烧录。 + + 具体操作请参考[标准系统快速入门编译及烧录章节](../quick-start/quickstart-standard.md)。 + + diff --git "a/zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/guide/device-iotcamera-control-demo-photodevguide.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/guide/device-iotcamera-control-demo-photodevguide.md index e59c365a5c6..31edc27814b --- "a/zh-cn/device-dev/guide/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/guide/device-iotcamera-control-demo-photodevguide.md @@ -385,6 +385,7 @@ Surface *surface = Surface::CreateSurface(); if (surface == nullptr) { delete fc; + return; } surface->SetWidthAndHeight(1920, 1080); /* 1920:width,1080:height */ fc->AddSurface(*surface); diff --git "a/zh-cn/device-dev/guide/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/guide/device-iotcamera-control-demo-videodevguide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/guide/device-iotcamera-control-demo-videodevguide.md diff --git a/zh-cn/device-dev/guide/device-iotcamera-control-demo.md b/zh-cn/device-dev/guide/device-iotcamera-control-demo.md new file mode 100644 index 00000000000..26be96c626e --- /dev/null +++ b/zh-cn/device-dev/guide/device-iotcamera-control-demo.md @@ -0,0 +1,7 @@ +# 示例开发 + +- **[拍照开发指导](device-iotcamera-control-demo-photodevguide.md)** + +- **[录像开发指导](device-iotcamera-control-demo-videodevguide.md)** + + diff --git "a/zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213.md" b/zh-cn/device-dev/guide/device-iotcamera-control-example.md old mode 100755 new mode 100644 similarity index 68% rename from "zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213.md" rename to zh-cn/device-dev/guide/device-iotcamera-control-example.md index 21cb165165f..8f7e480ded6 --- "a/zh-cn/device-dev/guide/\345\272\224\347\224\250\345\256\236\344\276\213.md" +++ b/zh-cn/device-dev/guide/device-iotcamera-control-example.md @@ -1,45 +1,45 @@ # 应用实例 -- 开发板介绍、编译烧录、运行镜像等操作请参考[Hi3518快速入门](../quick-start/Hi3518开发板介绍.md),编译结果包含示例,结果文件为out/ipcamera\_hi3518ev300/dev\_tools/bin/camera\_sample,可将文件通过读卡器复制至TF卡中,或者修改camera\_sample的编译脚本将结果文件复制至rootfs.img中。 +- 开发板介绍、编译烧录、运行镜像等操作请参考[Hi3518快速入门](../quick-start/quickstart-lite-introduction-hi3518.md#section14815247616),编译结果包含示例,结果文件为out/ipcamera\_hi3518ev300/dev\_tools/bin/camera\_sample,可将文件通过读卡器复制至TF卡中,或者修改camera\_sample的编译脚本将结果文件复制至rootfs.img中。 修改applications/sample/camera/media/BUILD.gn中的output\_dir。 - 修改前:output\_dir = "$root\_out\_dir/dev\_tools" - - 修改后:output\_dir = "$root\_out\_d_i_r/" + - 修改后:output\_dir = "$root\_out\_dir/" 重新执行源码仓编译并烧写入单板后,可在单板bin目录下找到camera\_sample文件。 - 相机示例代码为applications/sample/camera/media/camera\_sample.cpp。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >实例运行拍照和录像功能需要插入TF卡\(最大容量支持128GB\),系统启动后时自动将TF卡挂载至/sdcard目录,如果在启动后插入则需要手动挂载。查看拍照和录像内容可将TF卡中内容复制到电脑中进行查看,预览功能无需TF卡。 1. 通过cd命令进入可执行程序的末端路径,启动camera\_sample,执行命令如下图。 **图 1** 启动示例 - ![](figures/启动示例.png "启动示例") + ![](figure/启动示例.png "启动示例") 运行后的控制命令如串口打印所示,按s键停止当前操作(包括录像和预览),按q键退出示例程序。 2. 按1进行拍照,拍照的文件格式为jpg,存储在/sdcard,文件名Capture\* **图 2** 输入拍照指令后串口打印日志 - ![](figures/输入拍照指令后串口打印日志.png "输入拍照指令后串口打印日志") + ![](figure/输入拍照指令后串口打印日志.png "输入拍照指令后串口打印日志") 若想查看保存文件,可在退出程序后进入文件系统查看,退出后重新进入请回到步骤1。 **图 3** 查看文件图 - ![](figures/查看文件图.png "查看文件图") + ![](figure/查看文件图.png "查看文件图") 3. 按2进行录像,录像的文件格式为mp4,存储在/sdcard,文件名Record\*,按s键停止 **图 4** 输入录像指令后串口打印日志 - ![](figures/输入录像指令后串口打印日志.png "输入录像指令后串口打印日志") + ![](figure/输入录像指令后串口打印日志.png "输入录像指令后串口打印日志") 4. 按q键退出 **图 5** 输出退出指令后串口打印日志 - ![](figures/输出退出指令后串口打印日志.png "输出退出指令后串口打印日志") + ![](figure/输出退出指令后串口打印日志.png "输出退出指令后串口打印日志") diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-0.md" b/zh-cn/device-dev/guide/device-iotcamera-control-overview.md old mode 100755 new mode 100644 similarity index 61% rename from "zh-cn/device-dev/guide/\346\246\202\350\277\260-0.md" rename to zh-cn/device-dev/guide/device-iotcamera-control-overview.md index e3d5da250e0..03fef3f55e4 --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-0.md" +++ b/zh-cn/device-dev/guide/device-iotcamera-control-overview.md @@ -4,7 +4,7 @@ 开发者可通过执行示例应用,对开发板的外设控制有了更深入了解后,可使用开发板完成摄像头等设备。 -若开发者想先查看示例效果,请进入[应用实例](应用实例.md)。如需自定义应用行为,可参考下节“示例开发”对示例代码进行修改。 +若开发者想先查看示例效果,请进入[应用实例](device-iotcamera-control-example.md)。如需自定义应用行为,可参考下节“示例开发”对示例代码进行修改。 -相机开发基本概念可参考:[相机开发概述](../subsystems/相机开发概述.md)。 +相机开发基本概念可参考:[相机开发概述](../subsystems/subsys-multimedia-camera-overview.md)。 diff --git a/zh-cn/device-dev/guide/device-iotcamera-control.md b/zh-cn/device-dev/guide/device-iotcamera-control.md new file mode 100644 index 00000000000..776d324bf5b --- /dev/null +++ b/zh-cn/device-dev/guide/device-iotcamera-control.md @@ -0,0 +1,9 @@ +# 摄像头控制 + +- **[概述](device-iotcamera-control-overview.md)** + +- **[示例开发](device-iotcamera-control-demo.md)** + +- **[应用实例](device-iotcamera-control-example.md)** + + diff --git "a/zh-cn/device-dev/guide/\346\227\240\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" b/zh-cn/device-dev/guide/device-iotcamera.md old mode 100755 new mode 100644 similarity index 56% rename from "zh-cn/device-dev/guide/\346\227\240\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" rename to zh-cn/device-dev/guide/device-iotcamera.md index 7d723b1bfd0..4823d578306 --- "a/zh-cn/device-dev/guide/\346\227\240\345\261\217\346\221\204\345\203\217\345\244\264\347\261\273\344\272\247\345\223\201.md" +++ b/zh-cn/device-dev/guide/device-iotcamera.md @@ -1,5 +1,5 @@ # 无屏摄像头类产品 -- **[摄像头控制](摄像头控制.md)** +- **[摄像头控制](device-iotcamera-control.md)** diff --git a/zh-cn/device-dev/guide/device-outerdrive-demo.md b/zh-cn/device-dev/guide/device-outerdrive-demo.md new file mode 100644 index 00000000000..afeffb7863a --- /dev/null +++ b/zh-cn/device-dev/guide/device-outerdrive-demo.md @@ -0,0 +1,483 @@ +# 外设驱动开发示例 + +- [概述](#section86753818426) + - [硬件资源简介](#section123071189431) + - [Input模型简介](#section53684425430) + +- [环境搭建](#section661075474418) +- [TouchScreen器件驱动开发](#section15233162984520) + - [配置设备描述信息](#section16761205604515) + - [配置Touchscreen器件信息](#section156331030144617) + - [适配器件私有驱动](#section17127331595) + +- [编译及烧录](#section16465031164711) +- [调试验证](#section62577313482) +- [Input模型工作流程解析](#section1578569154917) + - [私有配置信息解析](#section1310113815495) + - [管理驱动层初始化及注册驱动至HDF框架](#section614512119500) + - [公共驱动层初始化及注册驱动至HDF框架](#section16194201755019) + - [器件驱动层初始化及注册驱动至HDF框架](#section1090743312505) + - [具体调用逻辑串联函数](#section81801147529) + + +## 概述 + +本文档将介绍如何基于Hi3516DV300开发板完成基于HDF\_Input模型的触摸屏器件驱动开发,从而使开发者快速入门,进行基于的外设驱动开发。 + +### 硬件资源简介 + +Hi3516DV300开发板套件所提供的触摸屏器件IC为GT911,该器件采用标准I2C与主机通信,通过6pin软排线与主板连接。6pin分布以及实物连接图如下图所示: + +![](figure/绘图1.png) + +### Input模型简介 + +Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动层组成。其中: + +- 设备管理层:主要为各类输入设备驱动提供input设备的注册、注销接口,同时统一管理input设备列表; +- 公共驱动层:负责对板级硬件进行初始化、硬件中断处理、向manager注册input设备等; +- 器件驱动层:通过适配平台驱动预留的差异化接口,实现器件驱动开发量最小化; + +此外,Input模型预先实现了数据通道以及设备配置信息解析等函数。 + +关于Input模型的详细介绍请参考《[Touchscreen开发概述](../driver/drive-peripherals-touch-des.md#section175431838101617)》。 + +## 环境搭建 + +环境准备具体操作请参考[标准系统基础环境搭建](../quick-start/quickstart-standard.md)。 + +>![](../public_sys-resources/icon-notice.gif) **须知:** +>本示例针对OpenHarmony轻量系统、小型系统、标准系统都适用,本文以标准系统为例。其他系统的开发者可参考对应系统的指导文档进行环境搭建。 + +## TouchScreen器件驱动开发 + +基于Input模型适配一款触摸屏IC需要完成的具体工作见下。 + +### 配置设备描述信息 + +驱动注册到HDF框架所需要的设备驱动描述信息,如驱动是否加载以及加载次序等。 + +配置文件路径:./drivers/adapter/khdf/linux/hcs/device\_info/device\_info.hcs + +device\_info.hcs中的信息主要提供给HDF框架使用,包含了Input模型各层驱动注册到HDF框架所必需的信息,开发者无特殊场景需求无需改动。各驱动层私有配置信息通过“deviceMatchAttr”字段与input\_config.hcs中的“match\_attr”相关内容进行匹配。 + +配置文件中与input模块相关的内容如下所示,相关字段的详细含义可以参考《[驱动配置](../driver/drive-hdf-development.md)》: + +``` +input :: host { + hostName = "input_host"; + priority = 100; + device_input_manager :: device { // Input管理层设备描述信息 + device0 :: deviceNode { + policy = 2; // 向内核用户态均发布服务 + priority = 100; // input管理层驱动优先级默认为100 + preload = 0; // 加载该驱动 + permission = 0660; // 驱动创建设备节点权限 + moduleName = "HDF_INPUT_MANAGER"; // 与驱动入口的moduleName匹配 + serviceName = "hdf_input_host"; // HDF框架生成的节点名 + deviceMatchAttr = ""; // manager目前不需要私有配置,因此为空 + } + } + + device_hdf_touch :: device { // Input公共驱动层设备描述信息 + device0 :: deviceNode { + policy = 2; // 向内核用户态均发布服务 + priority = 120; // input公共驱动优先级默认为120 + preload = 0; // 加载该驱动 + permission = 0660; // 驱动创建设备节点权限 + moduleName = "HDF_TOUCH"; // 与驱动入口的moduleName匹配 + serviceName = "hdf_input_event1"; // HDF框架生成的节点名 + deviceMatchAttr = "touch_device1"; // 与私有配置信息中的“match_attr”字段保持一致 + } + } + + device_touch_chip :: device { // Input器件驱动层信息 + device0 :: deviceNode { + policy = 0; // 向内核用户态均不发布服务 + priority = 130; // input器件驱动优先级默认为130 + preload = 0; // 加载该驱动 + permission = 0660; // 驱动创建设备节点权限 + moduleName = "HDF_TOUCH_GT911"; // 与驱动入口的moduleName匹配 + serviceName = "hdf_touch_gt911_service";// HDF框架生成的节点名 + deviceMatchAttr = "zsj_gt911_5p5"; //与私有配置信息中的“match_attr”字段保持一致 + } + } + } +``` + +该配置文件中需要重点关注的字段有: + +“priority”决定驱动加载顺序; + +“preload”决定驱动是否加载; + +“moduleName ”需要与驱动注册入口处的“moduleName ”字段保持一致; + +“serviceName ”HDF框架依据该字段创建节点名; + +“deviceMatchAttr ”需要与私有配置信息中的“match\_attr”字段保持一致。 + +通过配置设备描述信息,使得HDF框架通过moduleName与注册至驱动入口的代码相匹配,保证了驱动的正常加载,通过priority字段保证了各驱动的加载顺序。 + +### 配置Touchscreen器件信息 + +器件私有信息包括上下电时序等,平台硬件信息包括器件连接主板的GPIO端口信息等。 + +配置文件路径:./drivers/adapter/khdf/linux/hcs/input/input\_config.hcs + +input\_config.hcs中的信息由驱动代码进行读取解析,主要由公共驱动层的私有配置信息及器件驱动层的私有配置信息组成。文件中的配置包含板级硬件信息及器件私有配置信息,实际业务开发时,可根据具体需求增删及修改对应内容。 + +``` +root { + input_config { + touchConfig { + touch0 { // 第一款触摸屏 + boardConfig { // 板级硬件信息 + match_attr = "touch_device1"; // 与设备描述配置信息中公共驱动层私有配置信息的“match_attr”字段保持一致 + inputAttr { + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 0; // input类型为touch + solutionX = 480; // 分辨率X信息 + solutionY = 960; // 分辨率Y信息 + devName = "main_touch"; // 设备名称 + } + busConfig { + /* 0:i2c 1:spi */ + busType = 0; // GT911采用I2C通信 + busNum = 6; // 与主机芯片第6路I2C通信 + clkGpio = 86; // 主机芯片SCL管脚 + dataGpio = 87; // 主机芯片SDA管脚 + i2cClkIomux = [0x114f0048, 0x403]; // SCL管脚配置信息 + i2cDataIomux = [0x114f004c, 0x403]; // SDA管脚配置信息 + } + pinConfig { + rstGpio = 3; // 复位管脚连接主机芯片的3号管脚 + intGpio = 4; // 中断管脚连接主机芯片的4号管脚 + rstRegCfg = [0x112f0094, 0x400]; // 复位管脚配置信息 + intRegCfg = [0x112f0098, 0x400]; // 中断管脚配置信息 + } + powerConfig { + /* 0:unused 1:ldo 2:gpio 3:pmic */ + vccType = 2; // GPIO供电 + vccNum = 20; // gpio20 + vccValue = 1800; // 电压幅值为1800mV + vciType = 1; // LDO供电 + vciNum = 12; // ldo12 + vciValue = 3300; // 电压幅值为3300mV + } + + featureConfig { + capacitanceTest = 0; // 容值测试 + gestureMode = 0; // 手势模式 + gloverMode = 0; // 手套模式 + coverMode = 0; // 皮套模式 + chargerMode = 0; // 充电模式 + knuckleMode = 0; // 指关节模式 + } + } + chipConfig { // 器件私有信息配置 + template touchChip { // 模板 + match_attr = ""; + chipName = "gt911"; // 触摸屏IC型号 + vendorName = "zsj"; // 供应商 + chipInfo = "AAAA11222"; // 1~4字符代表产品名,5~6字符代表IC型号,7~9字符代表模型型号 + busType = 0; // 0代表I2C,1代表SPI + deviceAddr = 0x5D; // 器件IC通信地址 + irqFlag = 2; // 1代表上升沿触发,2代表下降沿触发,4代表高电平触发,8代表低电平触发 + maxSpeed = 400; // 最大通信速率为400Hz + chipVersion = 0; // 触摸屏IC版本号 + powerSequence { + /* 上电时序的配置含义说明: + [类型, 状态, 方向 , 延时] + 0代表空,1代表vcc电源(1.8V),2代表VCI电源(3.3V),3代表复位管脚,4代表中断管脚 + 0代表下电或拉低,1代表上电或拉高,2代表无操作 + 0代表输入方向,1代表输出方向,2代表无操作 + 代表延时多少毫秒, 例如20代表延时20ms + */ + powerOnSeq = [4, 0, 1, 0, // 中断管脚配置为输出,且进行拉低 + 3, 0, 1, 10, // 复位管脚配置为输出,且进行拉低,延时10ms + 3, 1, 2, 60, // 复位管脚无操作,且进行拉高,延时60ms + 4, 2, 0, 0]; // 中断管脚配置为输入 + suspendSeq = [3, 0, 2, 10]; // 复位管脚无操作,且进行拉低,延时10ms + resumeSeq = [3, 1, 2, 10]; // 复位管脚无操作,且进行拉高,延时10ms + powerOffSeq = [3, 0, 2, 10, // 复位管脚无操作,且进行拉低,延时10ms + 1, 0, 2, 20]; // 电源正极管脚无操作,且进行拉低,延时20ms + } + } + + chip0 :: touchChip { + match_attr = "zsj_gt911_5p5"; // 与设备描述配置信息中器件私有配置信息的“match_attr”字段保持一致 + chipInfo = "ZIDN45100"; // 产品名+模组编号+芯片编号的组合信息 用于给用户态区分当前器件 + chipVersion = 0; // IC型号的版本 + } + } + } + } + } +} +``` + +示例中“touchConfig”包含了“touch0”,"touch0"包含了“boardConfig”与“chipConfig”;“boardConfig”字段包含了Hi3516DV300板级硬件信息,“chipConfig”包含了触摸屏器件的私有信息,如果需要替换触摸屏器件,重新配置“chipConfig”对应的字段信息即可。同时产品可以配置多款触摸屏,示例中用“touch0”代表了套件中默认的触摸屏的硬件接口以及器件的配置信息,如产品需要配置副屏,可在与“touch0”并列的位置配置“touch1”的信息。 + +### 适配器件私有驱动 + +Input模型对Input设备开发流程进行了抽象,开发者只需要适配器件驱动层,无需改动管理驱动层以及公共驱动层。 + +Input模型由三层驱动组成,开发者适配一款全新触摸屏驱动只需要适配器件驱动层即可,重点实现差异化接口,本小节以代码示例的形式展示开发者需要重点完成的工作。 + +1. 触摸屏器件差异化接口适配 + + 示例代码路径:./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c + + ``` + static struct TouchChipOps g_gt911ChipOps = { // 器件IC接口 + .Init = ChipInit, // 初始化 + .Detect = ChipDetect, // 器件检测 + .Resume = ChipResume, // 唤醒 + .Suspend = ChipSuspend, // 休眠 + .DataHandle = ChipDataHandle, // 器件数据读取 + .UpdateFirmware = UpdateFirmware, // 固件升级 + }; + + /* 不同触摸屏厂家使用的IC不一样,对应的寄存器操作也不一样,因此器件驱动层代码重点适配差异化接口部分,如下示例代码展示了GT911的数据解析*/ + + static int32_t ChipDataHandle(ChipDevice *device) + { + ... + /* GT911获取坐标之前需先读取状态寄存器 */ + reg[0] = (GT_BUF_STATE_ADDR >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; + reg[1] = GT_BUF_STATE_ADDR & ONE_BYTE_MASK; + ret = InputI2cRead(i2cClient, reg, GT_ADDR_LEN, &touchStatus, 1); + if (ret < 0 || touchStatus == GT_EVENT_INVALID) { + return HDF_FAILURE; + } + ... + /* 根据状态寄存器的值读取数据寄存器数据 */ + reg[0] = (GT_X_LOW_BYTE_BASE >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; + reg[1] = GT_X_LOW_BYTE_BASE & ONE_BYTE_MASK; + pointNum = touchStatus & GT_FINGER_NUM_MASK; + if (pointNum == 0 || pointNum > MAX_SUPPORT_POINT) { + HDF_LOGE("%s: pointNum is invalid, %u", __func__, pointNum); + (void)ChipCleanBuffer(i2cClient); + OsalMutexUnlock(&device->driver->mutex); + return HDF_FAILURE; + } + frame->realPointNum = pointNum; + frame->definedEvent = TOUCH_DOWN; + (void)InputI2cRead(i2cClient, reg, GT_ADDR_LEN, buf, GT_POINT_SIZE * pointNum); + /* 对获取的数据进行解析 */ + ParsePointData(device, frame, buf, pointNum); + ... + } + static void ParsePointData(ChipDevice *device, FrameData *frame, uint8_t *buf, uint8_t pointNum) + { + ... + /* 每个坐标值由两个字节组成,对获取的单字节数据进行拼接得到最终的坐标值 */ + for (i = 0; i < pointNum; i++) { + frame->fingers[i].trackId = buf[GT_POINT_SIZE * i + GT_TRACK_ID]; + frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_X_LOW] & ONE_BYTE_MASK) | + ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); + frame->fingers[i].x = (buf[GT_POINT_SIZE * i + GT_Y_LOW] & ONE_BYTE_MASK) | + ((buf[GT_POINT_SIZE * i + GT_Y_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); + /* 对解析出来的坐标值进行打印 */ + HDF_LOGD("%s: x = %d, y = %d", __func__, frame->fingers[i].x, frame->fingers[i].y); + } + } + ``` + +2. 器件层驱动初始化及注册驱动至HDF框架 + + 示例代码路径:./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c + + ``` + static int32_t HdfGoodixChipInit(struct HdfDeviceObject *device) + { + ... + /* 器件配置结构体内存申请、配置信息解析及挂载 */ + chipCfg = ChipConfigInstance(device); + ... + /* 器件实例化 */ + chipDev = ChipDeviceInstance(); + ... + /* 器件信息挂载及器件私有操作挂载 */ + chipDev->chipCfg = chipCfg; + chipDev->ops = &g_gt911ChipOps; + ... + /* 注册器件驱动至平台驱动 */ + RegisterChipDevice(chipDev); + ... + } + struct HdfDriverEntry g_touchGoodixChipEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH_GT911", // 该moduleName与device_info.hcs文件中器件驱动层的moduleName信息相匹配 + .Init = HdfGoodixChipInit, // 器件驱动初始化函数 + }; + HDF_INIT(g_touchGoodixChipEntry); // 注册器件驱动至HDF框架 + ``` + + 器件私有驱动层主要实现了各器件厂商差异较大的部分,如器件休眠唤醒、数据解析以及固件升级等。 + + 至此,基于HDF框架及Input模型的触摸屏驱动适配完成。 + + +## 编译及烧录 + +1. 编辑Makefile文件,添加本示例中的内容: + + 文件路径:./drivers/adapter/khdf/linux/model/input/Makefile + + 添加内容如下: + + ``` + obj-$(CONFIG_DRIVERS_HDF_TP_5P5_GT911) += \ + $(INPUT_ROOT_DIR)/touchscreen/touch_gt911.o + ``` + + 其中touch\_gt911.o为本示例中追加的内容。 + +2. 具体编译及烧录操作请参考[标准系统快速入门编译及烧录章节](../nottoctopics/zh-cn_topic_0000001135402541.md#section375234715135)。 + +## 调试验证 + +如下所示为开机启动日志部分截取 + +``` +[I/HDF_INPUT_DRV] HdfInputManagerInit: enter // 管理驱动层初始化 +[I/HDF_INPUT_DRV] HdfInputManagerInit: exit succ // 初始化成功 +[I/osal_cdev] add cdev hdf_input_host success +[I/HDF_LOG_TAG] HdfTouchDriverProbe: enter // 公共驱动层初始化 +[I/HDF_LOG_TAG] HdfTouchDriverProbe: main_touch exit succ // 初始化成功 +[I/osal_cdev] add cdev hdf_input_event1 success +[I/HDF_INPUT_DRV] HdfGoodixChipInit: enter // 器件驱动层初始化 +[I/HDF_INPUT_DRV] ChipDetect: IC FW version is 0x1060 +[I/HDF_INPUT_DRV] Product_ID: 911_1060, x_sol = 960, y_sol = 480 +[I/HDF_LOG_TAG] ChipDriverInit: chipDetect succ, ret = 0 +[I/HDF_LOG_TAG] InputDeviceInstance: inputDev->devName = main_touch +[I/HDF_INPUT_DRV] HdfGoodixChipInit: exit succ, chipName = gt911 // 初始化成功 +``` + +## Input模型工作流程解析 + +为了让开发者更清晰的了解Input模型工作流程,本节将对input模型加载的关键流程代码进行说明。 + +>![](../public_sys-resources/icon-notice.gif) **须知:** +>本章节为Input模型工作流程说明,开发者无需进行开发。 + +### 私有配置信息解析 + +示例代码路径:./drivers/framework/model/input/driver/input\_config\_parser.c + +根据OSAL提供的配置解析函数,可以将hcs文件中各字段含义进行解析,具体请参考input\_config\_parser.c中各函数的实现。如果提供的模板不能满足需求,在hcs文件中添加相应信息后,需要根据添加的字段开发相应的解析函数。 + +``` +static int32_t ParseAttr(struct DeviceResourceIface *parser, const struct DeviceResourceNode *attrNode, BoardAttrCfg *attr) +{ + int32_t ret; + ret = parser->GetUint8(attrNode, "inputType", &attr->devType, 0); // 获取inputType字段信息,保存在BoardAttrCfg结构体中 + CHECK_PARSER_RET(ret, "GetUint8"); + ... + return HDF_SUCCESS; +} +``` + +### 管理驱动层初始化及注册驱动至HDF框架 + +示例代码路径:./drivers/framework/model/input/driver/hdf\_input\_device\_manager.c + +``` +static int32_t HdfInputManagerInit(struct HdfDeviceObject *device) +{ + /* 分配内存给manager,manager中将存放所有input设备 */ + g_inputManager = InputManagerInstance(); + ... +} +struct HdfDriverEntry g_hdfInputEntry = { + .moduleVersion = 1, + .moduleName = "HDF_INPUT_MANAGER", + .Bind = HdfInputManagerBind, + .Init = HdfInputManagerInit, + .Release = HdfInputManagerRelease, +}; + +HDF_INIT(g_hdfInputEntry); //驱动注册入口 +``` + +### 公共驱动层初始化及注册驱动至HDF框架 + +示例代码路径:./drivers/framework/model/input/driver/hdf\_touch.c + +``` +static int32_t HdfTouchDriverProbe(struct HdfDeviceObject *device) +{ + ... + /* 板级信息结构体内存申请及hcs配置信息解析 */ + boardCfg = BoardConfigInstance(device); + ... + /* 公共驱动结构体内存申请 */ + touchDriver = TouchDriverInstance(); + ... + /* 依据解析出的板级信息进行公共资源初始化,如IIC初始化 */ + ret = TouchDriverInit(touchDriver, boardCfg); + if (ret == HDF_SUCCESS) { + ... + /* 添加驱动至公共驱动层驱动管理链表,当设备与驱动进行绑定时使用该链表进行查询 */ + AddTouchDriver(touchDriver); + ... + } + ... +} +struct HdfDriverEntry g_hdfTouchEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH", + .Bind = HdfTouchDriverBind, + .Init = HdfTouchDriverProbe, + .Release = HdfTouchDriverRelease, +}; + +HDF_INIT(g_hdfTouchEntry); //驱动注册入口 +``` + +### 器件驱动层初始化及注册驱动至HDF框架 + +具体请参考[适配器件私有驱动](#section17127331595)器件层驱动初始化及注册驱动至HDF框架部分。 + +### 具体调用逻辑串联函数 + +Input模型管理层驱动init函数初始化了设备管理链表,公共驱动层初始化函数完成了相关结构体的内存申请。器件驱动相关信息通过RegisterChipDevice函数对公共驱动层相关结构体进行信息填充,同时完成了相关硬件信息的初始化(如中断注册等),绑定设备与驱动组成inputDev通过RegisterInputDevice函数向驱动管理层进行注册,在RegisterInputDevice函数中主要实现了将inputDev向设备管理链表的添加等功能。如下所示为两个函数的实现部分: + +``` +//函数具体实现代码位置 :./drivers/framework/model/input/driver/hdf_touch.c +int32_t RegisterChipDevice(ChipDevice *chipDev) +{ + ... + /* 绑定设备与驱动,从而通过InputDeviceInstance函数创建inputDev */ + DeviceBindDriver(chipDev); + ... + /* 主要包含器件中断注册及中断处理函数,中断处理函数中有数据上报用户态的数据通道 */ + ChipDriverInit(chipDev); + ... + /* 申请内存实例化InputDev */ + inputDev = InputDeviceInstance(chipDev); + ... + /* 将InputDev设备注册至input驱动管理层 */ + RegisterInputDevice(inputDev); + ... +} + +//函数具体实现代码位置 :./drivers/framework/model/input/driver/hdf_input_device_manager.c +int32_t RegisterInputDevice(InputDevice *inputDev) +{ + ... + /* 申请ID,该ID对于不同input设备唯一 */ + ret = AllocDeviceID(inputDev); + ... + /* 该函数包含了对hid类设备的特殊处理,对于触摸屏驱动,该函数无实质操作; */ + CreateDeviceNode(inputDev); + /* 内核态数据传送至用户态需使用IOService能力,需要申请buffer */ + AllocPackageBuffer(inputDev); + /* 将input设备添加进设备全局管理链表 */ + AddInputDevice(inputDev); + ... +} +``` + diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221.md" b/zh-cn/device-dev/guide/device-wifi-led-outcontrol.md old mode 100755 new mode 100644 similarity index 64% rename from "zh-cn/device-dev/guide/\345\274\200\345\217\221.md" rename to zh-cn/device-dev/guide/device-wifi-led-outcontrol.md index 18b3247aefe..2d4970fa19c --- "a/zh-cn/device-dev/guide/\345\274\200\345\217\221.md" +++ b/zh-cn/device-dev/guide/device-wifi-led-outcontrol.md @@ -1,6 +1,16 @@ -# 开发 +# LED外设控制 -1. 请先完成[《Hi3861快速入门》](../quick-start/Hi3861开发板介绍.md)。 +- [概述](#section14639174516337) +- [开发](#section13857170163412) +- [验证](#section1949121910344) + +## 概述 + +OpenHarmony WLAN模组基于Hi3861平台提供了丰富的外设操作能力,包含I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。本文介绍如何通过调用OpenHarmony的NDK接口,实现对GPIO控制,达到LED闪烁的效果。其他的IOT外设控制,开发者可根据API指导文档完成,此处不逐一介绍。 + +## 开发 + +1. 请先完成[《Hi3861快速入门》](../quick-start/quickstart-lite-introduction-hi3861.md#section19352114194115)。 LED控制参考示例存放于applications/sample/wifi-iot/app/iothardware/led\_example.c文件中。 @@ -10,7 +20,7 @@ #define LED_TEST_GPIO 9 ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >开发板原理图,请开发者联系Hi3861购买渠道客服获取。 3. 使用GPIO前,需要完成GPIO管脚初始化,明确管脚用途,并创建任务,使LED周期性亮灭,达到闪烁的效果。 @@ -35,7 +45,7 @@ /* 启动任务 */ if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) { - printf("[LedExample] Falied to create LedTask!\n"); + printf("[LedExample] Failed to create LedTask!\n"); } } ``` @@ -89,3 +99,12 @@ ``` +## 验证 + +编译过程请参考《[Hi3861快速入门-源码编译](../quick-start/quickstart-lite-steps-board3861-connection.md#section191121332125319)》,烧录过程请参考《[Hi3861快速入门-镜像烧录](../quick-start/quickstart-lite-steps-board3861-connection.md#section19458165166)》。 + +完成以上两步后,按下RST键复位模组,可发现LED在周期性闪烁,与预期相符,验证完毕。 + +**图 1** LED闪烁图 +![](figure/LED闪烁图.gif "LED闪烁图") + diff --git "a/zh-cn/device-dev/guide/\351\233\206\346\210\220\344\270\211\346\226\271SDK.md" b/zh-cn/device-dev/guide/device-wifi-sdk.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/guide/\351\233\206\346\210\220\344\270\211\346\226\271SDK.md" rename to zh-cn/device-dev/guide/device-wifi-sdk.md index 355c2b275b3..8106f68cd62 --- "a/zh-cn/device-dev/guide/\351\233\206\346\210\220\344\270\211\346\226\271SDK.md" +++ b/zh-cn/device-dev/guide/device-wifi-sdk.md @@ -121,7 +121,7 @@ OpenHarmony已规划用于编译业务libs的目录domains/iot/link/libbuild/ 完成以上3点后,需在代码根目录下执行命令“hb build -T //domains/iot/link:iot”,等待执行完成,检查out/hispark\_pegasus/wifiiot\_hispark\_pegasus/libs/目录下是否生成了目标库文件。 -![](figures/zh-cn_image_0000001078563230.png) +![](figure/zh-cn_image_0000001078563230.png) 将库文件拷贝到device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/demolink/libs/ 目录下,并将domains/iot/link/libbuild/ 目录中的.c和.h文件清除。 diff --git "a/zh-cn/device-dev/guide/WLAN\350\277\236\346\216\245\347\261\273\344\272\247\345\223\201.md" b/zh-cn/device-dev/guide/device-wifi.md old mode 100755 new mode 100644 similarity index 39% rename from "zh-cn/device-dev/guide/WLAN\350\277\236\346\216\245\347\261\273\344\272\247\345\223\201.md" rename to zh-cn/device-dev/guide/device-wifi.md index 08afdfcafc4..3f85bc6f6c8 --- "a/zh-cn/device-dev/guide/WLAN\350\277\236\346\216\245\347\261\273\344\272\247\345\223\201.md" +++ b/zh-cn/device-dev/guide/device-wifi.md @@ -1,7 +1,7 @@ # WLAN连接类产品 -- **[LED外设控制](LED外设控制.md)** +- **[LED外设控制](device-wifi-led-outcontrol.md)** -- **[集成三方SDK](集成三方SDK.md)** +- **[集成三方SDK](device-wifi-sdk.md)** diff --git a/zh-cn/device-dev/guide/device.md b/zh-cn/device-dev/guide/device.md new file mode 100644 index 00000000000..2c7d789c202 --- /dev/null +++ b/zh-cn/device-dev/guide/device.md @@ -0,0 +1,15 @@ +# 设备开发指南 + +- **[WLAN连接类产品](device-wifi.md)** + +- **[无屏摄像头类产品](device-iotcamera.md)** + +- **[带屏摄像头类产品](device-camera.md)** + +- **[时钟应用开发指导](device-clock-guide.md)** + +- **[平台驱动开发示例](device-drive-demo.md)** + +- **[外设驱动开发示例](device-outerdrive-demo.md)** + + diff --git a/zh-cn/device-dev/guide/figures/Clock.png b/zh-cn/device-dev/guide/figure/Clock.png similarity index 100% rename from zh-cn/device-dev/guide/figures/Clock.png rename to zh-cn/device-dev/guide/figure/Clock.png diff --git "a/zh-cn/device-dev/guide/figures/LED\351\227\252\347\203\201\345\233\276.gif" "b/zh-cn/device-dev/guide/figure/LED\351\227\252\347\203\201\345\233\276.gif" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/LED\351\227\252\347\203\201\345\233\276.gif" rename to "zh-cn/device-dev/guide/figure/LED\351\227\252\347\203\201\345\233\276.gif" diff --git a/zh-cn/device-dev/guide/figures/Video_2020-07-25_173141.gif b/zh-cn/device-dev/guide/figure/Video_2020-07-25_173141.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/guide/figures/Video_2020-07-25_173141.gif rename to zh-cn/device-dev/guide/figure/Video_2020-07-25_173141.gif diff --git a/zh-cn/device-dev/guide/figures/zh-cn_image_0000001078563230.png b/zh-cn/device-dev/guide/figure/zh-cn_image_0000001078563230.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/guide/figures/zh-cn_image_0000001078563230.png rename to zh-cn/device-dev/guide/figure/zh-cn_image_0000001078563230.png diff --git a/zh-cn/device-dev/guide/figures/zh-cn_image_0000001082434703.png b/zh-cn/device-dev/guide/figure/zh-cn_image_0000001082434703.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/guide/figures/zh-cn_image_0000001082434703.png rename to zh-cn/device-dev/guide/figure/zh-cn_image_0000001082434703.png diff --git a/zh-cn/device-dev/guide/figures/zh-cn_image_0000001161922745.png b/zh-cn/device-dev/guide/figure/zh-cn_image_0000001169991055.png similarity index 100% rename from zh-cn/device-dev/guide/figures/zh-cn_image_0000001161922745.png rename to zh-cn/device-dev/guide/figure/zh-cn_image_0000001169991055.png diff --git "a/zh-cn/device-dev/guide/figures/\345\220\257\345\212\250\347\244\272\344\276\213.png" "b/zh-cn/device-dev/guide/figure/\345\220\257\345\212\250\347\244\272\344\276\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\345\220\257\345\212\250\347\244\272\344\276\213.png" rename to "zh-cn/device-dev/guide/figure/\345\220\257\345\212\250\347\244\272\344\276\213.png" diff --git "a/zh-cn/device-dev/guide/figures/\345\256\214\346\225\264\345\267\245\347\250\213\347\233\256\345\275\225.png" "b/zh-cn/device-dev/guide/figure/\345\256\214\346\225\264\345\267\245\347\250\213\347\233\256\345\275\225.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\345\256\214\346\225\264\345\267\245\347\250\213\347\233\256\345\275\225.png" rename to "zh-cn/device-dev/guide/figure/\345\256\214\346\225\264\345\267\245\347\250\213\347\233\256\345\275\225.png" diff --git "a/zh-cn/device-dev/guide/figures/\345\267\245\347\250\213\347\233\256\345\275\225.png" "b/zh-cn/device-dev/guide/figure/\345\267\245\347\250\213\347\233\256\345\275\225.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\345\267\245\347\250\213\347\233\256\345\275\225.png" rename to "zh-cn/device-dev/guide/figure/\345\267\245\347\250\213\347\233\256\345\275\225.png" diff --git "a/zh-cn/device-dev/guide/figures/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276.png" "b/zh-cn/device-dev/guide/figure/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276.png" rename to "zh-cn/device-dev/guide/figure/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276.png" diff --git "a/zh-cn/device-dev/guide/figures/\346\240\207\351\242\230\346\240\217\345\222\214\344\277\241\346\201\257\346\240\217\346\225\210\346\236\234.png" "b/zh-cn/device-dev/guide/figure/\346\240\207\351\242\230\346\240\217\345\222\214\344\277\241\346\201\257\346\240\217\346\225\210\346\236\234.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\346\240\207\351\242\230\346\240\217\345\222\214\344\277\241\346\201\257\346\240\217\346\225\210\346\236\234.png" rename to "zh-cn/device-dev/guide/figure/\346\240\207\351\242\230\346\240\217\345\222\214\344\277\241\346\201\257\346\240\217\346\225\210\346\236\234.png" diff --git "a/zh-cn/device-dev/guide/figures/\346\240\207\351\242\230\346\240\217\346\225\210\346\236\234.png" "b/zh-cn/device-dev/guide/figure/\346\240\207\351\242\230\346\240\217\346\225\210\346\236\234.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\346\240\207\351\242\230\346\240\217\346\225\210\346\236\234.png" rename to "zh-cn/device-dev/guide/figure/\346\240\207\351\242\230\346\240\217\346\225\210\346\236\234.png" diff --git "a/zh-cn/device-dev/guide/figures/\346\241\214\351\235\242.png" "b/zh-cn/device-dev/guide/figure/\346\241\214\351\235\242.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\346\241\214\351\235\242.png" rename to "zh-cn/device-dev/guide/figure/\346\241\214\351\235\242.png" diff --git "a/zh-cn/device-dev/guide/figures/\346\267\273\345\212\240\351\241\265\351\235\242.png" "b/zh-cn/device-dev/guide/figure/\346\267\273\345\212\240\351\241\265\351\235\242.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\346\267\273\345\212\240\351\241\265\351\235\242.png" rename to "zh-cn/device-dev/guide/figure/\346\267\273\345\212\240\351\241\265\351\235\242.png" diff --git "a/zh-cn/device-dev/guide/figures/\347\273\230\345\233\2761.png" "b/zh-cn/device-dev/guide/figure/\347\273\230\345\233\2761.png" similarity index 100% rename from "zh-cn/device-dev/guide/figures/\347\273\230\345\233\2761.png" rename to "zh-cn/device-dev/guide/figure/\347\273\230\345\233\2761.png" diff --git "a/zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" "b/zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" rename to "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" diff --git "a/zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" "b/zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" rename to "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" diff --git "a/zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\351\241\265\351\235\242\345\220\215\347\247\260.png" "b/zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\351\241\265\351\235\242\345\220\215\347\247\260.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\351\241\265\351\235\242\345\220\215\347\247\260.png" rename to "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\351\241\265\351\235\242\345\220\215\347\247\260.png" diff --git "a/zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" "b/zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" rename to "zh-cn/device-dev/guide/figure/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" diff --git "a/zh-cn/device-dev/guide/figures/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" "b/zh-cn/device-dev/guide/figure/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" rename to "zh-cn/device-dev/guide/figure/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227.png" diff --git "a/zh-cn/device-dev/guide/figures/\351\241\265\351\235\242\344\275\215\347\275\256\346\214\207\347\244\272\345\231\250\346\225\210\346\236\234\345\233\276.png" "b/zh-cn/device-dev/guide/figure/\351\241\265\351\235\242\344\275\215\347\275\256\346\214\207\347\244\272\345\231\250\346\225\210\346\236\234\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\351\241\265\351\235\242\344\275\215\347\275\256\346\214\207\347\244\272\345\231\250\346\225\210\346\236\234\345\233\276.png" rename to "zh-cn/device-dev/guide/figure/\351\241\265\351\235\242\344\275\215\347\275\256\346\214\207\347\244\272\345\231\250\346\225\210\346\236\234\345\233\276.png" diff --git "a/zh-cn/device-dev/guide/figures/\351\242\204\350\247\210\346\225\210\346\236\234.jpg" "b/zh-cn/device-dev/guide/figure/\351\242\204\350\247\210\346\225\210\346\236\234.jpg" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/guide/figures/\351\242\204\350\247\210\346\225\210\346\236\234.jpg" rename to "zh-cn/device-dev/guide/figure/\351\242\204\350\247\210\346\225\210\346\236\234.jpg" diff --git a/zh-cn/device-dev/guide/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/guide/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/guide/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/guide/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/guide/public_sys-resources/icon-note.gif b/zh-cn/device-dev/guide/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/guide/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/guide/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/guide/\345\205\254\345\205\261\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" "b/zh-cn/device-dev/guide/\345\205\254\345\205\261\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" deleted file mode 100644 index 31de19a1b13..00000000000 --- "a/zh-cn/device-dev/guide/\345\205\254\345\205\261\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" +++ /dev/null @@ -1,35 +0,0 @@ -# 公共驱动层初始化及注册驱动至HDF框架 - -示例代码路径:./drivers/framework/model/input/driver/hdf\_touch.c - -``` -static int32_t HdfTouchDriverProbe(struct HdfDeviceObject *device) -{ - ... - /* 板级信息结构体内存申请及hcs配置信息解析 */ - boardCfg = BoardConfigInstance(device); - ... - /* 公共驱动结构体内存申请 */ - touchDriver = TouchDriverInstance(); - ... - /* 依据解析出的板级信息进行公共资源初始化,如IIC初始化 */ - ret = TouchDriverInit(touchDriver, boardCfg); - if (ret == HDF_SUCCESS) { - ... - /* 添加驱动至公共驱动层驱动管理链表,当设备与驱动进行绑定时使用该链表进行查询 */ - AddTouchDriver(touchDriver); - ... - } - ... -} -struct HdfDriverEntry g_hdfTouchEntry = { - .moduleVersion = 1, - .moduleName = "HDF_TOUCH", - .Bind = HdfTouchDriverBind, - .Init = HdfTouchDriverProbe, - .Release = HdfTouchDriverRelease, -}; - -HDF_INIT(g_hdfTouchEntry); //驱动注册入口 -``` - diff --git "a/zh-cn/device-dev/guide/\345\205\267\344\275\223\350\260\203\347\224\250\351\200\273\350\276\221\344\270\262\350\201\224\345\207\275\346\225\260.md" "b/zh-cn/device-dev/guide/\345\205\267\344\275\223\350\260\203\347\224\250\351\200\273\350\276\221\344\270\262\350\201\224\345\207\275\346\225\260.md" deleted file mode 100644 index 9fc526d2109..00000000000 --- "a/zh-cn/device-dev/guide/\345\205\267\344\275\223\350\260\203\347\224\250\351\200\273\350\276\221\344\270\262\350\201\224\345\207\275\346\225\260.md" +++ /dev/null @@ -1,40 +0,0 @@ -# 具体调用逻辑串联函数 - -Input模型管理层驱动init函数初始化了设备管理链表,公共驱动层初始化函数完成了相关结构体的内存申请。器件驱动相关信息通过RegisterChipDevice函数对公共驱动层相关结构体进行信息填充,同时完成了相关硬件信息的初始化(如中断注册等),绑定设备与驱动组成inputDev通过RegisterInputDevice函数向驱动管理层进行注册,在RegisterInputDevice函数中主要实现了将inputDev向设备管理链表的添加等功能。如下所示为两个函数的实现部分: - -``` -//函数具体实现代码位置 :./drivers/framework/model/input/driver/hdf_touch.c -int32_t RegisterChipDevice(ChipDevice *chipDev) -{ - ... - /* 绑定设备与驱动,从而通过InputDeviceInstance函数创建inputDev */ - DeviceBindDriver(chipDev); - ... - /* 主要包含器件中断注册及中断处理函数,中断处理函数中有数据上报用户态的数据通道 */ - ChipDriverInit(chipDev); - ... - /* 申请内存实例化InputDev */ - inputDev = InputDeviceInstance(chipDev); - ... - /* 将InputDev设备注册至input驱动管理层 */ - RegisterInputDevice(inputDev); - ... -} - -//函数具体实现代码位置 :./drivers/framework/model/input/driver/hdf_input_device_manager.c -int32_t RegisterInputDevice(InputDevice *inputDev) -{ - ... - /* 申请ID,该ID对于不同input设备唯一 */ - ret = AllocDeviceID(inputDev); - ... - /* 该函数包含了对hid类设备的特殊处理,对于触摸屏驱动,该函数无实质操作; */ - CreateDeviceNode(inputDev); - /* 内核态数据传送至用户态需使用IOService能力,需要申请buffer */ - AllocPackageBuffer(inputDev); - /* 将input设备添加进设备全局管理链表 */ - AddInputDevice(inputDev); - ... -} -``` - diff --git "a/zh-cn/device-dev/guide/\345\231\250\344\273\266\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" "b/zh-cn/device-dev/guide/\345\231\250\344\273\266\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" deleted file mode 100644 index 4cfddfa469f..00000000000 --- "a/zh-cn/device-dev/guide/\345\231\250\344\273\266\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" +++ /dev/null @@ -1,4 +0,0 @@ -# 器件驱动层初始化及注册驱动至HDF框架 - -具体请参考[3.3章节](适配器件私有驱动.md)器件层驱动初始化及注册驱动至HDF框架部分。 - diff --git "a/zh-cn/device-dev/guide/\345\244\226\350\256\276\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" "b/zh-cn/device-dev/guide/\345\244\226\350\256\276\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" deleted file mode 100644 index 8b083827126..00000000000 --- "a/zh-cn/device-dev/guide/\345\244\226\350\256\276\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 外设驱动开发示例 - -- **[概述](概述-12.md)** - -- **[环境搭建](环境搭建.md)** - -- **[TouchScreen器件驱动开发](TouchScreen器件驱动开发.md)** - -- **[编译及烧录](编译及烧录-13.md)** - -- **[调试验证](调试验证.md)** - -- **[Input模型工作流程解析](Input模型工作流程解析.md)** - - diff --git "a/zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230-10.md" "b/zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230-10.md" deleted file mode 100644 index 24be5472457..00000000000 --- "a/zh-cn/device-dev/guide/\345\270\270\350\247\201\351\227\256\351\242\230-10.md" +++ /dev/null @@ -1,39 +0,0 @@ -# 常见问题 - -- [hdc\_std连接不到设备](#section1221016541119) -- [hdc\_std运行不了](#section219185710311) - -## hdc\_std连接不到设备 - -- **现象描述** - - 执行 "hdc\_std list targets"命令后结果为:\[Empty\] - -- **可能原因和解决方法** - 1. 设备没有被识别: - - 在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。 - - 2. hdc\_std工作异常: - - 可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。 - - 如果一直获取不到设备信息,请在任务管理器中查询是否有adb进程,该进程可能会对hdc产生干扰,可以将其杀掉后重复执行上面的步骤。 - - 3. hdc\_std与设备不匹配: - - 如果设备烧写的是最新镜像,hdc\_std也需要使用最新版本。由于hdc\_std会持续更新,请从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。 - - - -## hdc\_std运行不了 - -- **现象描述** - - 点击hdc\_std.exe文件无法运行。 - -- **可能原因和解决方法** - - hdc\_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc\_std命令直接使用。 - - diff --git "a/zh-cn/device-dev/guide/\345\271\263\345\217\260\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" "b/zh-cn/device-dev/guide/\345\271\263\345\217\260\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" deleted file mode 100644 index 5dc1dd07b55..00000000000 --- "a/zh-cn/device-dev/guide/\345\271\263\345\217\260\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 平台驱动开发示例 - -- **[概述](概述-10.md)** - -- **[环境准备](环境准备.md)** - -- **[开发](开发-11.md)** - -- **[编译及烧录](编译及烧录.md)** - - diff --git "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207-8.md" "b/zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207-8.md" deleted file mode 100755 index 52eed11deb1..00000000000 --- "a/zh-cn/device-dev/guide/\345\274\200\345\217\221\345\207\206\345\244\207-8.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 开发准备 - -- [准备开发环境和创建工程](#section1912530122716) - -## 准备开发环境和创建工程 - -首先需要下载和配置DevEco Studio,具体操作请参考[DevEco Studio 使用指南](../../application-dev/quick-start/DevEco-Studio(OpenHarmony)使用指南.md)。 - diff --git "a/zh-cn/device-dev/guide/\345\274\200\346\234\272\346\227\245\345\277\227\345\210\206\346\236\220.md" "b/zh-cn/device-dev/guide/\345\274\200\346\234\272\346\227\245\345\277\227\345\210\206\346\236\220.md" deleted file mode 100644 index 469d6a3566f..00000000000 --- "a/zh-cn/device-dev/guide/\345\274\200\346\234\272\346\227\245\345\277\227\345\210\206\346\236\220.md" +++ /dev/null @@ -1,19 +0,0 @@ -# 开机日志分析 - -如下所示为开机启动日志部分截取 - -``` -[I/HDF_INPUT_DRV] HdfInputManagerInit: enter // 管理驱动层初始化 -[I/HDF_INPUT_DRV] HdfInputManagerInit: exit succ // 初始化成功 -[I/osal_cdev] add cdev hdf_input_host success -[I/HDF_LOG_TAG] HdfTouchDriverProbe: enter // 公共驱动层初始化 -[I/HDF_LOG_TAG] HdfTouchDriverProbe: main_touch exit succ // 初始化成功 -[I/osal_cdev] add cdev hdf_input_event1 success -[I/HDF_INPUT_DRV] HdfGoodixChipInit: enter // 器件驱动层初始化 -[I/HDF_INPUT_DRV] ChipDetect: IC FW version is 0x1060 -[I/HDF_INPUT_DRV] Product_ID: 911_1060, x_sol = 960, y_sol = 480 -[I/HDF_LOG_TAG] ChipDriverInit: chipDetect succ, ret = 0 -[I/HDF_LOG_TAG] InputDeviceInstance: inputDev->devName = main_touch -[I/HDF_INPUT_DRV] HdfGoodixChipInit: exit succ, chipName = gt911 // 初始化成功 -``` - diff --git "a/zh-cn/device-dev/guide/\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" "b/zh-cn/device-dev/guide/\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" deleted file mode 100755 index 65f7df79807..00000000000 --- "a/zh-cn/device-dev/guide/\346\221\204\345\203\217\345\244\264\346\216\247\345\210\266.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 摄像头控制 - -- **[概述](概述-0.md)** - -- **[示例开发](示例开发.md)** - -- **[应用实例](应用实例.md)** - - diff --git "a/zh-cn/device-dev/guide/\346\227\266\351\222\237\345\272\224\347\224\250\345\274\200\345\217\221\347\244\272\344\276\213.md" "b/zh-cn/device-dev/guide/\346\227\266\351\222\237\345\272\224\347\224\250\345\274\200\345\217\221\347\244\272\344\276\213.md" deleted file mode 100644 index 3cbff6960f6..00000000000 --- "a/zh-cn/device-dev/guide/\346\227\266\351\222\237\345\272\224\347\224\250\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 时钟应用开发示例 - -- **[概述](概述-7.md)** - -- **[开发准备](开发准备-8.md)** - -- **[开发步骤](开发步骤.md)** - -- **[签名打包](签名打包.md)** - -- **[真机运行](真机运行-9.md)** - -- **[常见问题](常见问题-10.md)** - - diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-10.md" "b/zh-cn/device-dev/guide/\346\246\202\350\277\260-10.md" deleted file mode 100644 index 16734e3f172..00000000000 --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-10.md" +++ /dev/null @@ -1,26 +0,0 @@ -# 概述 - -- [场景介绍](#section191543223549) - -本文档将以I2C驱动为例,介绍如何基于HDF驱动框架完成平台驱动开发。 - ->![](public_sys-resources/icon-caution.gif) **注意:** ->本例仅作为平台驱动开发示例参考,开发者不可直接用于商用集成。 - -## 场景介绍 - -HDF驱动框架为常用外围设备提供了标准的驱动框架,驱动开发者只需将驱动适配至HDF驱动框架,即可通过HDF驱动框架提供的接口操作外围设备。 - -本文以I2C为例。其时序流程如[图1](#fig148041484161)所示。 - -**图 1** I2C时序流程图 - - -![](figures/zh-cn_image_0000001161922745.png) - -- User Business:用户业务驱动。 -- i2cManagerEntry:I2C管理器入口,注册I2cManager到HDF驱动框架。 -- I2cManager:I2C管理器,管理I2C控制器。 -- I2cCntlr:I2C控制器。 -- i2cDriverEntry:I2C控制器入口,注册I2cCntlr到HDF驱动框架。 - diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-12.md" "b/zh-cn/device-dev/guide/\346\246\202\350\277\260-12.md" deleted file mode 100644 index 0606b801b5e..00000000000 --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-12.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 概述 - -本文档将介绍如何基于Hi3516DV300开发板完成基于HDF\_Input模型的触摸屏器件驱动开发,从而使开发者快速入门,进行基于的外设驱动开发。 - -- **[硬件资源介绍](硬件资源介绍.md)** - -- **[Input模型简介](Input模型简介.md)** - - diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-7.md" "b/zh-cn/device-dev/guide/\346\246\202\350\277\260-7.md" deleted file mode 100755 index e032aa00bcc..00000000000 --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260-7.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 概述 - -- [效果展示](#section3997224182313) - -本文将介绍如何快速搭建基于OpenHarmony标准系统(Hi3516DV300开发板)的应用开发环境,并基于一个时钟APP示例逐步展示应用的创建、开发、调试和安装等流程。示例代码可以通过[本链接](https://gitee.com/openharmony/app_samples/tree/master/common/Clock)获取。 - -## 效果展示 - -时钟App是一款显示实时时间的应用,显示效果如下图所示: - -**图 1** 时钟应用显示效果图 - - -![](figures/Clock.png) - diff --git "a/zh-cn/device-dev/guide/\346\246\202\350\277\260.md" "b/zh-cn/device-dev/guide/\346\246\202\350\277\260.md" deleted file mode 100755 index 875da92ed1d..00000000000 --- "a/zh-cn/device-dev/guide/\346\246\202\350\277\260.md" +++ /dev/null @@ -1,4 +0,0 @@ -# 概述 - -OpenHarmony WLAN模组基于Hi3861平台提供了丰富的外设操作能力,包含I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。本文介绍如何通过调用OpenHarmony的NDK接口,实现对GPIO控制,达到LED闪烁的效果。其他的IOT外设控制,开发者可根据API指导文档完成,此处不逐一介绍。 - diff --git "a/zh-cn/device-dev/guide/\347\216\257\345\242\203\345\207\206\345\244\207.md" "b/zh-cn/device-dev/guide/\347\216\257\345\242\203\345\207\206\345\244\207.md" deleted file mode 100644 index c6ae1a18427..00000000000 --- "a/zh-cn/device-dev/guide/\347\216\257\345\242\203\345\207\206\345\244\207.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 环境准备 - -环境准备具体操作请参考[标准系统基础环境搭建](../quick-start/标准系统入门.md)。 - ->![](public_sys-resources/icon-notice.gif) **须知:** ->本示例针对OpenHarmony轻量系统、小型系统、标准系统都适用,本文以标准系统为例。其他系统的开发者可参考对应系统的指导文档进行环境搭建。 - diff --git "a/zh-cn/device-dev/guide/\347\216\257\345\242\203\346\220\255\345\273\272.md" "b/zh-cn/device-dev/guide/\347\216\257\345\242\203\346\220\255\345\273\272.md" deleted file mode 100644 index 381ddaa88c0..00000000000 --- "a/zh-cn/device-dev/guide/\347\216\257\345\242\203\346\220\255\345\273\272.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 环境搭建 - -环境准备具体操作请参考[标准系统基础环境搭建](../quick-start/标准系统入门.md)。 - ->![](public_sys-resources/icon-notice.gif) **须知:** ->本示例针对OpenHarmony轻量系统、小型系统、标准系统都适用,本文以标准系统为例。其他系统的开发者可参考对应系统的指导文档进行环境搭建。 - diff --git "a/zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214-9.md" "b/zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214-9.md" deleted file mode 100644 index 30bb3b0801d..00000000000 --- "a/zh-cn/device-dev/guide/\347\234\237\346\234\272\350\277\220\350\241\214-9.md" +++ /dev/null @@ -1,35 +0,0 @@ -# 真机运行 - -应用签名打包后即可安装到开发板。安装应用前需要先完成[DevEco Device Tool的安装配置](https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905),然后将OpenHarmony系统烧录到开发板并运行。编译烧录、运行镜像的基本操作请参考快速入门手册:[标准系统Hi3516快速入门](../quick-start/标准系统入门.md)。完成镜像运行,系统正常启动后,执行如下步骤安装或卸载应用。 - -1. 从开发者工具代码仓路径中获取hdc客户端。 - - ``` - developtools/hdc_standard/prebuilt/windows/hdc_std.exe - ``` - - 修改名称为hdc.exe,并将工具路径加入系统环境path变量中。 - -2. 启动cmd命令窗口,执行以下命令,推送hap应用包到设备目录下并安装。 - - ``` - hdc smode - hdc target mount - hdc file send clock.hap /data/clock.hap - hdc shell chmod 666 /data/clock.hap - hdc shell bm install -p /data/clock.hap - ``` - -3. 启动应用。执行以下命令,其中ohos.samples.clock为应用包名,MainAbility为应用启动的Ability。 - - ``` - hdc shell aa start -d 123 -a ohos.samples.clock.MainAbility -b ohos.samples.clock - ``` - -4. 卸载应用(可选)。执行以下命令,其中ohos.samples.clock为应用包名。 - - ``` - hdc shell bm uninstall -n ohos.samples.clock - ``` - - diff --git "a/zh-cn/device-dev/guide/\347\241\254\344\273\266\350\265\204\346\272\220\344\273\213\347\273\215.md" "b/zh-cn/device-dev/guide/\347\241\254\344\273\266\350\265\204\346\272\220\344\273\213\347\273\215.md" deleted file mode 100644 index 18b33bd5af0..00000000000 --- "a/zh-cn/device-dev/guide/\347\241\254\344\273\266\350\265\204\346\272\220\344\273\213\347\273\215.md" +++ /dev/null @@ -1,6 +0,0 @@ -# 硬件资源介绍 - -Hi3516DV300开发板套件所提供的触摸屏器件IC为GT911,该器件采用标准I2C与主机通信,通过6pin软排线与主板连接。6pin分布以及实物连接图如下图所示: - -![](figures/绘图1.png) - diff --git "a/zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221-2.md" "b/zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221-2.md" deleted file mode 100755 index eb01bec406a..00000000000 --- "a/zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221-2.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 示例开发 - -- **[拍照开发指导](拍照开发指导-3.md)** - -- **[录像开发指导](录像开发指导-4.md)** - -- **[预览开发指导](预览开发指导.md)** - - diff --git "a/zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" "b/zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" deleted file mode 100755 index e8128ecaaca..00000000000 --- "a/zh-cn/device-dev/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 示例开发 - -- **[拍照开发指导](拍照开发指导.md)** - -- **[录像开发指导](录像开发指导.md)** - - diff --git "a/zh-cn/device-dev/guide/\347\247\201\346\234\211\351\205\215\347\275\256\344\277\241\346\201\257\350\247\243\346\236\220.md" "b/zh-cn/device-dev/guide/\347\247\201\346\234\211\351\205\215\347\275\256\344\277\241\346\201\257\350\247\243\346\236\220.md" deleted file mode 100644 index a472a6dfdfb..00000000000 --- "a/zh-cn/device-dev/guide/\347\247\201\346\234\211\351\205\215\347\275\256\344\277\241\346\201\257\350\247\243\346\236\220.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 私有配置信息解析 - -示例代码路径:./drivers/framework/model/input/driver/input\_config\_parser.c - -根据OSAL提供的配置解析函数,可以将hcs文件中各字段含义进行解析,具体请参考input\_config\_parser.c中各函数的实现。如果提供的模板不能满足需求,在hcs文件中添加相应信息后,需要根据添加的字段开发相应的解析函数。 - -``` -static int32_t ParseAttr(struct DeviceResourceIface *parser, const struct DeviceResourceNode *attrNode, BoardAttrCfg *attr) -{ - int32_t ret; - ret = parser->GetUint8(attrNode, "inputType", &attr->devType, 0); // 获取inputType字段信息,保存在BoardAttrCfg结构体中 - CHECK_PARSER_RET(ret, "GetUint8"); - ... - return HDF_SUCCESS; -} -``` - diff --git "a/zh-cn/device-dev/guide/\347\255\276\345\220\215\346\211\223\345\214\205.md" "b/zh-cn/device-dev/guide/\347\255\276\345\220\215\346\211\223\345\214\205.md" deleted file mode 100644 index a6fd6f96552..00000000000 --- "a/zh-cn/device-dev/guide/\347\255\276\345\220\215\346\211\223\345\214\205.md" +++ /dev/null @@ -1,4 +0,0 @@ -# 签名打包 - -代码编写完成后,在真机设备上运行应用,需要先对应用进行签名,然后再进行打包,具体操作请参考[签名打包指导](../../application-dev/quick-start/配置OpenHarmony应用签名信息.md)。 - diff --git "a/zh-cn/device-dev/guide/\347\256\241\347\220\206\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" "b/zh-cn/device-dev/guide/\347\256\241\347\220\206\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" deleted file mode 100644 index 73b05bf0b03..00000000000 --- "a/zh-cn/device-dev/guide/\347\256\241\347\220\206\351\251\261\345\212\250\345\261\202\345\210\235\345\247\213\345\214\226\345\217\212\346\263\250\345\206\214\351\251\261\345\212\250\350\207\263HDF\346\241\206\346\236\266.md" +++ /dev/null @@ -1,22 +0,0 @@ -# 管理驱动层初始化及注册驱动至HDF框架 - -示例代码路径:./drivers/framework/model/input/driver/hdf\_input\_device\_manager.c - -``` -static int32_t HdfInputManagerInit(struct HdfDeviceObject *device) -{ - /* 分配内存给manager,manager中将存放所有input设备 */ - g_inputManager = InputManagerInstance(); - ... -} -struct HdfDriverEntry g_hdfInputEntry = { - .moduleVersion = 1, - .moduleName = "HDF_INPUT_MANAGER", - .Bind = HdfInputManagerBind, - .Init = HdfInputManagerInit, - .Release = HdfInputManagerRelease, -}; - -HDF_INIT(g_hdfInputEntry); //驱动注册入口 -``` - diff --git "a/zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225-13.md" "b/zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225-13.md" deleted file mode 100644 index 587404009f0..00000000000 --- "a/zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225-13.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 编译及烧录 - -1. 编辑Makefile文件,添加本示例中的内容: - - 文件路径:./drivers/adapter/khdf/linux/model/input/Makefile - - 添加内容如下: - - ``` - obj-$(CONFIG_DRIVERS_HDF_TP_5P5_GT911) += \ - $(INPUT_ROOT_DIR)/touchscreen/touch_gt911.o - ``` - - 其中touch\_gt911.o为本示例中追加的内容。 - -2. 具体编译及烧录操作请参考[标准系统快速入门编译及烧录章节](../quick-start/标准系统入门.md)。 - diff --git "a/zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225.md" "b/zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225.md" deleted file mode 100644 index 92d839390d5..00000000000 --- "a/zh-cn/device-dev/guide/\347\274\226\350\257\221\345\217\212\347\203\247\345\275\225.md" +++ /dev/null @@ -1,20 +0,0 @@ -# 编译及烧录 - -1. 编辑Makefile,添加源文件: - - ``` - include drivers/hdf/khdf/platform/platform.mk - - obj-y += $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_core.o \ - $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_if.o \ - ./i2c_adapter.o \ - ./i2c_sample.o - ``` - - "./i2c\_sample.o"为本示例中在Makefile中追加的内容。 - -2. 编译及烧录。 - - 具体操作请参考[标准系统快速入门编译及烧录章节](../quick-start/标准系统入门.md)。 - - diff --git "a/zh-cn/device-dev/guide/\350\247\206\350\247\211\345\272\224\347\224\250\345\274\200\345\217\221.md" "b/zh-cn/device-dev/guide/\350\247\206\350\247\211\345\272\224\347\224\250\345\274\200\345\217\221.md" deleted file mode 100755 index b4a8975ab2b..00000000000 --- "a/zh-cn/device-dev/guide/\350\247\206\350\247\211\345\272\224\347\224\250\345\274\200\345\217\221.md" +++ /dev/null @@ -1,19 +0,0 @@ -# 视觉应用开发 - -- **[概述](概述-6.md)** - -- **[开发准备](开发准备.md)** - -- **[添加页面](添加页面.md)** - -- **[开发首页](开发首页.md)** - -- **[开发详情页](开发详情页.md)** - -- **[调试打包](调试打包.md)** - -- **[真机运行](真机运行.md)** - -- **[常见问题](常见问题.md)** - - diff --git "a/zh-cn/device-dev/guide/\350\260\203\350\257\225\351\252\214\350\257\201.md" "b/zh-cn/device-dev/guide/\350\260\203\350\257\225\351\252\214\350\257\201.md" deleted file mode 100644 index f339b20a630..00000000000 --- "a/zh-cn/device-dev/guide/\350\260\203\350\257\225\351\252\214\350\257\201.md" +++ /dev/null @@ -1,5 +0,0 @@ -# 调试验证 - -- **[开机日志分析](开机日志分析.md)** - - diff --git "a/zh-cn/device-dev/guide/\351\200\202\351\205\215\345\231\250\344\273\266\347\247\201\346\234\211\351\251\261\345\212\250.md" "b/zh-cn/device-dev/guide/\351\200\202\351\205\215\345\231\250\344\273\266\347\247\201\346\234\211\351\251\261\345\212\250.md" deleted file mode 100644 index b719de9bacb..00000000000 --- "a/zh-cn/device-dev/guide/\351\200\202\351\205\215\345\231\250\344\273\266\347\247\201\346\234\211\351\251\261\345\212\250.md" +++ /dev/null @@ -1,99 +0,0 @@ -# 适配器件私有驱动 - -Input模型由三层驱动组成,开发者适配一款全新触摸屏驱动只需要适配器件驱动层即可,重点实现差异化接口,本小节以代码示例的形式展示开发者需要重点完成的工作。 - -1. 触摸屏器件差异化接口适配 - - 示例代码路径:./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c - - ``` - static struct TouchChipOps g_gt911ChipOps = { // 器件IC接口 - .Init = ChipInit, // 初始化 - .Detect = ChipDetect, // 器件检测 - .Resume = ChipResume, // 唤醒 - .Suspend = ChipSuspend, // 休眠 - .DataHandle = ChipDataHandle, // 器件数据读取 - .UpdateFirmware = UpdateFirmware, // 固件升级 - }; - - /* 不同触摸屏厂家使用的IC不一样,对应的寄存器操作也不一样,因此器件驱动层代码重点适配差异化接口部分,如下示例代码展示了GT911的数据解析*/ - - static int32_t ChipDataHandle(ChipDevice *device) - { - ... - /* GT911获取坐标之前需先读取状态寄存器 */ - reg[0] = (GT_BUF_STATE_ADDR >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; - reg[1] = GT_BUF_STATE_ADDR & ONE_BYTE_MASK; - ret = InputI2cRead(i2cClient, reg, GT_ADDR_LEN, &touchStatus, 1); - if (ret < 0 || touchStatus == GT_EVENT_INVALID) { - return HDF_FAILURE; - } - ... - /* 根据状态寄存器的值读取数据寄存器数据 */ - reg[0] = (GT_X_LOW_BYTE_BASE >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; - reg[1] = GT_X_LOW_BYTE_BASE & ONE_BYTE_MASK; - pointNum = touchStatus & GT_FINGER_NUM_MASK; - if (pointNum == 0 || pointNum > MAX_SUPPORT_POINT) { - HDF_LOGE("%s: pointNum is invalid, %u", __func__, pointNum); - (void)ChipCleanBuffer(i2cClient); - OsalMutexUnlock(&device->driver->mutex); - return HDF_FAILURE; - } - frame->realPointNum = pointNum; - frame->definedEvent = TOUCH_DOWN; - (void)InputI2cRead(i2cClient, reg, GT_ADDR_LEN, buf, GT_POINT_SIZE * pointNum); - /* 对获取的数据进行解析 */ - ParsePointData(device, frame, buf, pointNum); - ... - } - static void ParsePointData(ChipDevice *device, FrameData *frame, uint8_t *buf, uint8_t pointNum) - { - ... - /* 每个坐标值由两个字节组成,对获取的单字节数据进行拼接得到最终的坐标值 */ - for (i = 0; i < pointNum; i++) { - frame->fingers[i].trackId = buf[GT_POINT_SIZE * i + GT_TRACK_ID]; - frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_X_LOW] & ONE_BYTE_MASK) | - ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); - frame->fingers[i].x = (buf[GT_POINT_SIZE * i + GT_Y_LOW] & ONE_BYTE_MASK) | - ((buf[GT_POINT_SIZE * i + GT_Y_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); - /* 对解析出来的坐标值进行打印 */ - HDF_LOGD("%s: x = %d, y = %d", __func__, frame->fingers[i].x, frame->fingers[i].y); - } - } - ``` - -2. 器件层驱动初始化及注册驱动至HDF框架 - - 示例代码路径:./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c - - ``` - static int32_t HdfGoodixChipInit(struct HdfDeviceObject *device) - { - ... - /* 器件配置结构体内存申请、配置信息解析及挂载 */ - chipCfg = ChipConfigInstance(device); - ... - /* 器件实例化 */ - chipDev = ChipDeviceInstance(); - ... - /* 器件信息挂载及器件私有操作挂载 */ - chipDev->chipCfg = chipCfg; - chipDev->ops = &g_gt911ChipOps; - ... - /* 注册器件驱动至平台驱动 */ - RegisterChipDevice(chipDev); - ... - } - struct HdfDriverEntry g_touchGoodixChipEntry = { - .moduleVersion = 1, - .moduleName = "HDF_TOUCH_GT911", // 该moduleName与device_info.hcs文件中器件驱动层的moduleName信息相匹配 - .Init = HdfGoodixChipInit, // 器件驱动初始化函数 - }; - HDF_INIT(g_touchGoodixChipEntry); // 注册器件驱动至HDF框架 - ``` - - 器件私有驱动层主要实现了各器件厂商差异较大的部分,如器件休眠唤醒、数据解析以及固件升级等。 - - 至此,基于HDF框架及Input模型的触摸屏驱动适配完成。 - - diff --git "a/zh-cn/device-dev/guide/\351\205\215\347\275\256Touchscreen\345\231\250\344\273\266\344\277\241\346\201\257.md" "b/zh-cn/device-dev/guide/\351\205\215\347\275\256Touchscreen\345\231\250\344\273\266\344\277\241\346\201\257.md" deleted file mode 100644 index a5638145829..00000000000 --- "a/zh-cn/device-dev/guide/\351\205\215\347\275\256Touchscreen\345\231\250\344\273\266\344\277\241\346\201\257.md" +++ /dev/null @@ -1,98 +0,0 @@ -# 配置Touchscreen器件信息 - -配置文件路径:./drivers/adapter/khdf/linux/hcs/input/input\_config.hcs - -input\_config.hcs中的信息由驱动代码进行读取解析,主要由公共驱动层的私有配置信息及器件驱动层的私有配置信息组成。文件中的配置包含板级硬件信息及器件私有配置信息,实际业务开发时,可根据具体需求增删及修改对应内容。 - -``` -root { - input_config { - touchConfig { - touch0 { // 第一款触摸屏 - boardConfig { // 板级硬件信息 - match_attr = "touch_device1"; // 与设备描述配置信息中公共驱动层私有配置信息的“match_attr”字段保持一致 - inputAttr { - /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ - inputType = 0; // input类型为touch - solutionX = 480; // 分辨率X信息 - solutionY = 960; // 分辨率Y信息 - devName = "main_touch"; // 设备名称 - } - busConfig { - /* 0:i2c 1:spi */ - busType = 0; // GT911采用I2C通信 - busNum = 6; // 与主机芯片第6路I2C通信 - clkGpio = 86; // 主机芯片SCL管脚 - dataGpio = 87; // 主机芯片SDA管脚 - i2cClkIomux = [0x114f0048, 0x403]; // SCL管脚配置信息 - i2cDataIomux = [0x114f004c, 0x403]; // SDA管脚配置信息 - } - pinConfig { - rstGpio = 3; // 复位管脚连接主机芯片的3号管脚 - intGpio = 4; // 中断管脚连接主机芯片的4号管脚 - rstRegCfg = [0x112f0094, 0x400]; // 复位管脚配置信息 - intRegCfg = [0x112f0098, 0x400]; // 中断管脚配置信息 - } - powerConfig { - /* 0:unused 1:ldo 2:gpio 3:pmic */ - vccType = 2; // GPIO供电 - vccNum = 20; // gpio20 - vccValue = 1800; // 电压幅值为1800mV - vciType = 1; // LDO供电 - vciNum = 12; // ldo12 - vciValue = 3300; // 电压幅值为3300mV - } - - featureConfig { - capacitanceTest = 0; // 容值测试 - gestureMode = 0; // 手势模式 - gloverMode = 0; // 手套模式 - coverMode = 0; // 皮套模式 - chargerMode = 0; // 充电模式 - knuckleMode = 0; // 指关节模式 - } - } - chipConfig { // 器件私有信息配置 - template touchChip { // 模板 - match_attr = ""; - chipName = "gt911"; // 触摸屏IC型号 - vendorName = "zsj"; // 供应商 - chipInfo = "AAAA11222"; // 1~4字符代表产品名,5~6字符代表IC型号,7~9字符代表模型型号 - busType = 0; // 0代表I2C,1代表SPI - deviceAddr = 0x5D; // 器件IC通信地址 - irqFlag = 2; // 1代表上升沿触发,2代表下降沿触发,4代表高电平触发,8代表低电平触发 - maxSpeed = 400; // 最大通信速率为400Hz - chipVersion = 0; // 触摸屏IC版本号 - powerSequence { - /* 上电时序的配置含义说明: - [类型, 状态, 方向 , 延时] - 0代表空,1代表vcc电源(1.8V),2代表VCI电源(3.3V),3代表复位管脚,4代表中断管脚 - 0代表下电或拉低,1代表上电或拉高,2代表无操作 - 0代表输入方向,1代表输出方向,2代表无操作 - 代表延时多少毫秒, 例如20代表延时20ms - */ - powerOnSeq = [4, 0, 1, 0, // 中断管脚配置为输出,且进行拉低 - 3, 0, 1, 10, // 复位管脚配置为输出,且进行拉低,延时10ms - 3, 1, 2, 60, // 复位管脚无操作,且进行拉高,延时60ms - 4, 2, 0, 0]; // 中断管脚配置为输入 - suspendSeq = [3, 0, 2, 10]; // 复位管脚无操作,且进行拉低,延时10ms - resumeSeq = [3, 1, 2, 10]; // 复位管脚无操作,且进行拉高,延时10ms - powerOffSeq = [3, 0, 2, 10, // 复位管脚无操作,且进行拉低,延时10ms - 1, 0, 2, 20]; // 电源正极管脚无操作,且进行拉低,延时20ms - } - } - - chip0 :: touchChip { - match_attr = "zsj_gt911_5p5"; // 与设备描述配置信息中器件私有配置信息的“match_attr”字段保持一致 - chipInfo = "ZIDN45100"; // 产品名+模组编号+芯片编号的组合信息 用于给用户态区分当前器件 - chipVersion = 0; // IC型号的版本 - } - } - } - } - } -} -``` - -示例中“touchConfig”包含了“touch0”,"touch0"包含了“boardConfig”与“chipConfig”;“boardConfig”字段包含了Hi3516DV300板级硬件信息,“chipConfig”包含了触摸屏器件的私有信息,如果需要替换触摸屏器件,重新配置“chipConfig”对应的字段信息即可。同时产品可以配置多款触摸屏,示例中用“touch0”代表了套件中默认的触摸屏的硬件接口以及器件的配置信息,如产品需要配置副屏,可在与“touch0”并列的位置配置“touch1”的信息。 - diff --git "a/zh-cn/device-dev/guide/\351\205\215\347\275\256\350\256\276\345\244\207\346\217\217\350\277\260\344\277\241\346\201\257.md" "b/zh-cn/device-dev/guide/\351\205\215\347\275\256\350\256\276\345\244\207\346\217\217\350\277\260\344\277\241\346\201\257.md" deleted file mode 100644 index 4183826a4fa..00000000000 --- "a/zh-cn/device-dev/guide/\351\205\215\347\275\256\350\256\276\345\244\207\346\217\217\350\277\260\344\277\241\346\201\257.md" +++ /dev/null @@ -1,64 +0,0 @@ -# 配置设备描述信息 - -配置文件路径:./drivers/adapter/khdf/linux/hcs/device\_info/device\_info.hcs - -device\_info.hcs中的信息主要提供给HDF框架使用,包含了Input模型各层驱动注册到HDF框架所必需的信息,开发者无特殊场景需求无需改动。各驱动层私有配置信息通过“deviceMatchAttr”字段与input\_config.hcs中的“match\_attr”相关内容进行匹配。 - -配置文件中与input模块相关的内容如下所示,相关字段的详细含义可以参考《[驱动配置](../driver/驱动开发.md)》: - -``` -input :: host { - hostName = "input_host"; - priority = 100; - device_input_manager :: device { // Input管理层设备描述信息 - device0 :: deviceNode { - policy = 2; // 向内核用户态均发布服务 - priority = 100; // input管理层驱动优先级默认为100 - preload = 0; // 加载该驱动 - permission = 0660; // 驱动创建设备节点权限 - moduleName = "HDF_INPUT_MANAGER"; // 与驱动入口的moduleName匹配 - serviceName = "hdf_input_host"; // HDF框架生成的节点名 - deviceMatchAttr = ""; // manager目前不需要私有配置,因此为空 - } - } - - device_hdf_touch :: device { // Input公共驱动层设备描述信息 - device0 :: deviceNode { - policy = 2; // 向内核用户态均发布服务 - priority = 120; // input公共驱动优先级默认为120 - preload = 0; // 加载该驱动 - permission = 0660; // 驱动创建设备节点权限 - moduleName = "HDF_TOUCH"; // 与驱动入口的moduleName匹配 - serviceName = "hdf_input_event1"; // HDF框架生成的节点名 - deviceMatchAttr = "touch_device1"; // 与私有配置信息中的“match_attr”字段保持一致 - } - } - - device_touch_chip :: device { // Input器件驱动层信息 - device0 :: deviceNode { - policy = 0; // 向内核用户态均不发布服务 - priority = 130; // input器件驱动优先级默认为130 - preload = 0; // 加载该驱动 - permission = 0660; // 驱动创建设备节点权限 - moduleName = "HDF_TOUCH_GT911"; // 与驱动入口的moduleName匹配 - serviceName = "hdf_touch_gt911_service";// HDF框架生成的节点名 - deviceMatchAttr = "zsj_gt911_5p5"; //与私有配置信息中的“match_attr”字段保持一致 - } - } - } -``` - -该配置文件中需要重点关注的字段有: - -“priority”决定驱动加载顺序; - -“preload”决定驱动是否加载; - -“moduleName ”需要与驱动注册入口处的“moduleName ”字段保持一致; - -“serviceName ”HDF框架依据该字段创建节点名; - -“deviceMatchAttr ”需要与私有配置信息中的“match\_attr”字段保持一致。 - -通过配置设备描述信息,使得HDF框架通过moduleName与注册至驱动入口的代码相匹配,保证了驱动的正常加载,通过priority字段保证了各驱动的加载顺序。 - diff --git "a/zh-cn/device-dev/guide/\351\252\214\350\257\201.md" "b/zh-cn/device-dev/guide/\351\252\214\350\257\201.md" deleted file mode 100755 index e9be36acdfb..00000000000 --- "a/zh-cn/device-dev/guide/\351\252\214\350\257\201.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 验证 - -编译过程请参考《[Hi3861快速入门-源码编译](../quick-start/运行Hello-World.md)》,烧录过程请参考《[Hi3861快速入门-镜像烧录](../quick-start/WLAN联网.md)》。 - -完成以上两步后,按下RST键复位模组,可发现LED在周期性闪烁,与预期相符,验证完毕。 - -**图 1** LED闪烁图 -![](figures/LED闪烁图.gif "LED闪烁图") - diff --git "a/zh-cn/device-dev/kernel-contribution/OpenHarmony\345\206\205\346\240\270\346\226\207\346\241\243\345\205\261\345\273\272ToDo-List.md" "b/zh-cn/device-dev/kernel-contribution/OpenHarmony\345\206\205\346\240\270\346\226\207\346\241\243\345\205\261\345\273\272ToDo-List.md" deleted file mode 100644 index ce1082a69f2..00000000000 --- "a/zh-cn/device-dev/kernel-contribution/OpenHarmony\345\206\205\346\240\270\346\226\207\346\241\243\345\205\261\345\273\272ToDo-List.md" +++ /dev/null @@ -1,245 +0,0 @@ -# OpenHarmony文档共建计划--内核文档共建 - - - -| 2021-06-28-2021-07-30 | 2021-07-05 | 2021-07-05-2021-07-30 | 2021-08-01-2021-08-31 | -| --------------------------------- | -------------------------------- | -------------------------- | --------------------- | -| **任务招募** | **线上会议** | **文档共建** | **结项发布** | -| ToDo List、文档模板、共建手册大纲 | 文档共建介绍、写作规范、常见操作 | 小组周进展跟踪、导师辅导制 | 发布共建后内核文档 | - -- [如何参与](#section_register) -- [文档共建范围](#section_outline_summary) -- [文档大纲及认领明细](section_outline_detail) - -## 共建活动ToDoList - -OpenHarmony文档共建活动是由OpenHarmony社区举办,旨在进一步丰富和完善现有文档,提升文档体验**,**更好地服务于广大开发者。本次文档共建活动有共建移植文档、内核文档、Qemu仿真文档。详情请参考共建手册大纲:《基于Qemu运行OpenHarmony》、 《小型系统三方芯片移植指南》、《OpenHarmony内核开发指南》。 - -即日起开发者可自主选择并认领感兴趣的任务,获得社区资深**技术导师**和**文档导师**的指导。根据项目的难易程度和完成情况,参与者还将获得"**OpenHarmony 文档共建贡献者** " 荣誉及周边纪念品。 - -1. **活动时间:** 2021-06-28~2021-07-30 - -2. **招募对象:** - - - 技术写作者 - - - 文档验证/审核者 - - - 小组组织人员 - -3. **招募要求:** -- 熟悉嵌入式、物联网等OS开发相关知识 - -- 有扎实的C语言编程经验 - -- 有较强的文字写作能力、逻辑思维能力 - -4. **参与方式:** - - - Gitee社区内认领任务反馈 - - 开发者加入内核文档共建招募活动微信群 -5. 共建激励规则 - -**卓越贡献奖** - -- **奖励对象:**审核通过&内容被采纳的contributor。 - -- **奖励礼品:**OpenHarmonyT恤、帽子等周边纪念品。 - - - -## 如何参与 -- 方式1 [Issue回帖](https://gitee.com/openharmony/docs/issues/I3Y9MU?from=project-issue) -- 方式2 微信交流群报名 -- 方式3 邮件反馈 @neeen @rtos_yuan ,邮件主题:OpenHarmony轻内核文档共建报名 -3种方式均可报名,建议同时提供邮箱,方便后续发送线上会议交流通知。 - - -## 文档共建范围 - -### 1、基于Qemu运行OpenHarmony---招募内容写作 - -- 背景 - - - 对于想体验OpenHarmony的开发者,手头不一定有现成的开发板,基于Qemu可以降低入门体验门槛。 - - - 已经支持Qemu,但是没有对应的文档, 快速入门只有3861、3516、3518等板子。 - -- 文档计划 - - LiteOS-A、LiteOS-M Qemu使用教程第一时间上社区,社区化运作文档,降低社区开发者体验OpenHarmony开发的门槛。 - -- **访问[《基于Qemu运行OpenHarmony 文档大纲》](#section_qemu_outline_detail)。** - -### 2、小型系统三方芯片移植指南---招募内容体验&验证 - -社区支持的开发板有限,三方芯片、开发板移植需要更丰富的开发板场景案例。 -- 文档计划 - - - 鼓励开发者完善移植文档,支持社区开发者移植支持更多的开发板、支持手头的开发板能运行起来。 - - 鼓励移植经验文档回馈社区。 - -- **访问[《小型系统三方芯片移植指南 文档大纲》](#porting_tutorial_outline_detail)。** - -### 3、小型系统内核开发指南(LiteOS-A核)---招募内容体验&验证 - -- 文档计划 - - - 优化后内核文档初稿完成,鼓励开发者体验新内容,验证内容。 - - 社区化文档运作,鼓励社区开发者参与文档的优化编写,文档问题反馈。 - -- **访问[《OpenHarmony 内核开发指南(LiteOS-A核) 文档大纲》](#kernel_a_tutorial_outline_detail)。** - - - - -## 文档大纲及认领明细 - -✨**文档大纲用于维护文档的组成章节、章节意图,编写责任人,及PR合入状态**。 - -✨**使用对号[✔]表示文档的完成状态,第一个对号表示文档开发完成,第二个对号表示文档开发完成**。 - -### 一、基于Qemu运行OpenHarmony 文档大纲 - -#### 1 Qemu简介 [@rtos_yuan](https://gitee.com/rtos_yuan) [✔] [@mgy917](https://gitee.com/mgy917) [✔] - - - -#### 2 开发环境准备 [@mgy917](https://gitee.com/mgy917) [✔] [@rtos_yuan](https://gitee.com/rtos_yuan) [✔] - -- 2.1 OpenHarmony开发环境准备 - - - 环境搭建 - - 获取OpenHarmony源码 - -- 2.2 Qemu软件安装 - - 开发者根据需求,选择运行LiteOS-A、LiteOS-M的Qemu软件。 - - - Qemu软件编译安装 - - Qemu-Virt软件 - - Qemu-Riscv32软件 [@zhushengle](https://gitee.com/zhushengle) [✔] - - - -#### 3 Qemu工程源码介绍 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - -* 3.1 Qemu工程源码介绍 - -#### 4 编译运行LiteOS-A Qemu Virt工程 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - -- 4.1 编译构建LiteOS-A -- 4.2 运行镜像 - - 准备Flash镜像 - - 配置主机网桥 - - 运行程序 - -#### 5 编译运行LiteOS-M Qemu Riscv工程 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - -- 4.1 编译构建LiteOS-M -- 4.2 运行程序 - -### 二、小型系统三方芯片移植指南 ---招募内容体验&验证 - -#### 1 移植准备 [@arvinzzz](https://gitee.com/arvinzzz) [✔] [@rtos_yuan](https://gitee.com/rtos_yuan) [✔] - - - -##### 1.1 移植须知 - -##### 1.2 编译构建 - -#### 2 内核移植 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - -- 2.1 LiteOS-A内核 - - - - - 2.1.1 移植概述 - - 2.1.2 内核基础适配 - - 2.1.3 内核移植验证 - -- 2.2 Linux内核 - - - -#### 3 板级移植 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - - - -### 三、小型系统内核开发指南(LiteOS-A核)---招募内容体验&验证 - -#### 1 认识LiteOS-A内核 [@kkup180](https://gitee.com/kkup180) [✔] [@mgy917](https://gitee.com/mgy917) [✔] - - - -- 1.1 简介 -- 1.2 内核架构 -- 1.3 CPU体系架构支持 - -#### 2 基础内核 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - - - -- 2.1 中断及异常处理 -- 2.2 进程管理 -- 2.3 线程管理 -- 2.4 调度 -- 2.5 内存管理 - - 2.5.1 堆内存管理 - - 2.5.2 虚拟内存管理 - - 2.5.3 物理内存管理 - - 2.5.4 虚实映射 -- 2.6 IPC - - 2.6.1 事件 - - 2.6.2 信号量 - - 2.6.3 互斥锁 - - 2.6.4 消息队列 - - 2.6.5 读写锁 - - 2.6.6 futex - - 2.6.7 信号 -- 2.7 系统调用 -- 2.8 时间管理 -- 2.9 软件定时器 -- 2.10 原子操作 -#### 3 扩展组件 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - - - -- 3.1 ELF内核加载器 -- 3.2 VDSO -- 3.3 LiteIPC -- 3.4 CPUP -- 3.5 C++支持 -#### 4 文件系统 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - - - -- 4.1 vfs - -- 4.2 支持的文件系统 - - 4.2.1 FAT - - 4.2.2 jffs2 - - 4.2.3 nfs - - 4.2.4 ramfs - - 4.2.5 procfs -- 4.3 适配新的文件系统 -#### 5 内核启动 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] -- 5.1 运行机制 -#### 6 用户态启动 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] -- 6.1 用户态根进程启动 -- 6.2 用户态程序运行 -#### 7 调测 [@waitForContributor](https://gitee.com/openharmony/docs/issues)[ ?] - - - -- 7.1 内存调测 -- 7.2 Trace -- 7.3 魔法键 -- 7.4 Dying gasp -- 7.5 常见问题定位方法 -#### 8 附录 [@rtos_yuan](https://gitee.com/rtos_yuan) [✔] [@harylee](https://gitee.com/harylee)[✔] -- 8.1 基本数据结构 - - 8.1.1 双向链表 - - 8.1.2 位操作 - diff --git "a/zh-cn/device-dev/kernel-contribution/template/\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/zh-cn/device-dev/kernel-contribution/template/\345\270\270\350\247\201\351\227\256\351\242\230.md" deleted file mode 100644 index 976524f98b7..00000000000 --- "a/zh-cn/device-dev/kernel-contribution/template/\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ /dev/null @@ -1,51 +0,0 @@ -# 常见问题 - -** *【写作要求】*** - - -*可选。描述开发过程遇到的各类问题以及解决方案,以提高开发效率。* - - -- * 如果无常见问题,删除此章节。* - -- * 如果有常见问题,建议单独章节,后续具备扩展性。* - -- * 如果有常见问题,问题少于1屏且未来扩充可能性不大,可放在“开发指导”。* - - -*具体写作要求见下,完成写作后,请逐项自检下。* - - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| **N1** | **整体要求** | | -| N1.1 | 问题是否对外呈现(考虑重要性、出现概率等),请在部门内部CCB达成一致。 | | -| N1.2 | 每个问题描述里一般只问一个问题,避免多个问题合在一个问题描述。 | | -| N1.3 | 如果问题比较多,可以对问题进行分类。 | | -| **N2** | **单个问题要求** | | -| N2.1 | 标题:1句话描述问题场景、现象。 | | -| N2.2 | 现象描述:以用户视角黑盒描述问题出现的场景、现象、条件、概率等。描述问题现象清晰,没有歧义。 | | -| N2.3 | 可能原因:明确问题根本的原因。 | | -| N2.4 | 处理步骤-1:明确处理问题的步骤,step by step操作,具体要求同“开发步骤”部分。 | | -| N2.5 | 处理步骤-2:答复必须是严谨、明确的解决方法,口径与产品宣传一致,不能是参考建议这类含糊的回答。 | | -| N2.6 | 处理步骤-3:如果问题与能力版本有关联性的,需要明确。 | | - - -## 1.XX问题(简单问题) - -XXX - - -## 2.XX问题(复杂问题) - -**现象描述** - -XXX - -**可能原因** - -XXX - -**解决办法** - -XXX diff --git "a/zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\345\256\236\344\276\213.md" "b/zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\345\256\236\344\276\213.md" deleted file mode 100644 index 54133ebda8d..00000000000 --- "a/zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\345\256\236\344\276\213.md" +++ /dev/null @@ -1,49 +0,0 @@ -# 开发实例 - -** *【写作要求】*** - - -*必选。描述开发完成后,基于一个任务整体做代码段的描述。* - - -- * 标题名称不变。如果“开发指导”是多场景,标题名称可以调整为拍照开发实例、预览开发指导等。* - -- * 标题可合并。如果产品链接到示例代码或内容少于1屏,可合并到“开发指导”,整本统一。* - - -*具体写作要求见下,完成写作后,请逐项自检下。* - - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| M1.1 | 有任务的场景介绍,且和代码端内容呼应。 | | -| M1.2 | 代码段顺利指导完成操作,无缺失。 | | -| M1.3 | 代码涉及开发者拷贝的命令,必须用可编辑的报文呈现,避免截图(DOCS插入Screen)。 | | -| M1.4 | 代码中关键段用蓝色(RGB:0.0.255)突出显示,关键步骤要有注释说明。 | | -| M1.5 | 代码显示符合代码缩进要求。 | | - - -**【写作样例---节选】** - - -SDIO设备完整的使用示例如下所示,首先打开总线号为1的SDIO控制器,然后独占HOST、使能设备、注册中断,接着进行SDIO通信(读写等),通信完成之后,释放中断、去使能设备、释放HOST,最后关闭SDIO控制器。 -``` -#include "hdf_log.h" -#include "sdio_if.h" - -#define TEST_FUNC_NUM 1 /* 本测试用例中,使用编号为1的I/O function */ -#define TEST_FBR_BASE_ADDR 0x100 /* 编号为1的I/O function的FBR基地址 */ -#define TEST_ADDR_OFFSET 9 /* 本测试用例中,需要读写的寄存器的地址偏移 */ -#define TEST_DATA_LEN 3 /* 本测试用例中,读写数据的长度 */ -#define TEST_BLOCKSIZE 2 /* 本测试用例中,数据块的大小,单位字节 */ - -/* 中断服务函数,需要根据各自平台的情况去实现 */ -static void SdioIrqFunc(void *data) -{ - if (data == NULL) { - HDF_LOGE("SdioIrqFunc: data is NULL.\n"); - return; - } - /* 需要开发者自行添加具体的实现 */ -} -``` diff --git "a/zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\346\214\207\345\257\274.md" deleted file mode 100644 index 2b4b6a3a938..00000000000 --- "a/zh-cn/device-dev/kernel-contribution/template/\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ /dev/null @@ -1,128 +0,0 @@ -# 开发指导 - -** *【写作要求】*** - - -*必选。* *描述各个场景下,开发者如何完成开发任务。* *可根据多场景任务增加章节。写作要求见下,完成写作后,请逐项自检。* - - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| H.1.1 | 如果有多个场景,请写起多个“开发指导”章节,如音频播放开发指导、音量管理开发指导、短音播放开发指导。 | | -| H.1.2 | 标题尽量使用“动词+名词”的句式表述任务操作。 | | - - -## 场景介绍 - -** *【写作要求】*** - -*必选。* *描述在什么情景下解决什么问题,最终达到什么样的效果。*应用SCQA描述方法: - -- S:situation(情景),由大家都熟悉的的情景,事实引入。 - -- C:complication(冲突),但是实际情况往往和我们的要求有冲突。 - -- Q:question(疑问),怎么办? - -- A:answer(回答),我们的解决方案是 … - -*写作要求见下,完成写作后,请逐项自检。* - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| I.1.1 | 背景原因、什么时候在哪、做了什么操作、最终解决什么问题或操作效果都明确。 | | - -**【写作样例】** - -音频播放的主要工作是将音频数据转码为可听见的音频模拟信号并通过输出设备进行播放,同时对播放任务进行管理。 - - -## 接口说明 - -** *【写作要求】*** - -*必选。* *描述本开发指导相关的接口有哪些,旨在要开发者在开发前有大体了解,提升开发效率。* *写作要求见下,完成写作后,请逐项自检。* - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| J.1.1 | 不在本开发任务的接口无需提供。 | | -| J.1.2 | 如果接口太多,超过10个,可以提供主要的接口 | | - -**【写作样例】** - -音频播放开放能力如下:AudioRenderer类,具体的API详见接口文档。 - -**表1** 音频播放API接口功能介绍 - -| 接口名 | 描述 | -| -------- | -------- | -| AudioRenderer(AudioRendererInfo audioRendererInfo, PlayMode pm) throws IllegalArgumentException | 构造函数,设置播放相关音频参数和播放模式,使用默认播放设备 | -| AudioRenderer(AudioRendererInfo audioRendererInfo, PlayMode pm, AudioDeviceDescriptor outputDevice) throws IllegalArgumentException | 构造函数,设置播放相关音频参数、播放模式和播放设备 | -| boolean play() | 播放音频流 | -| boolean write(byte[] data, int offset, int size) | 将音频数据以byte流写入音频接收器以进行播放 | - - -## 开发步骤 - -** *【写作要求】*** - - * 必选。描述* *开发的整体过程,便于开发者快速完成开发。* * 具体 写作要求见下,完成写作后,请逐项自检下。* -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| **K.1** | **如何写好步骤** | | -| K.1.1 | 步骤完整:提供必须的步骤,顺利指导完成操作,无缺失。 | | -| K.1.2 | 脉络清楚:文档逻辑清晰、合理。文档前面的概述、准备、操作围绕一条线描述,不能章节断裂或前后矛盾的现象。 | | -| K.1.3 | 任务句式:标题或句子尽量使用“动词+名词”的句式表述动作。 | | -| K.1.4 | 预防提前:操作过程中的限制、易错的、有潜在风险的,要提前描述,使用DOCS平台的“插入> 说明 > 须知”描述。 | | -| K.1.5 | 步骤清晰-1:无论步骤简单或复杂,都需要写步骤目的,即为什么做。 | | -| K.1.6 | 步骤清晰-2:明确在什么环境下,使用什么工具,做什么操作,怎么做该操作。 | | -| K.1.7 | 步骤具体:如果操作可选,要明确可选条件。 | | -| K.1.8 | 在开发步骤执行完成后,及时明确操作正确的标准。 | | -| **K.2** | **如何写好代码段** | | -| K.2.1 | 代码涉及开发者拷贝的命令,必须用可编辑的报文呈现,避免截图(DOCS插入Screen)。 | | -| K.2.2 | 代码中关键段用蓝色(RGB:0.0.255)突出显示,关键步骤要有注释说明。 | | -| K.2.3 | 代码显示符合代码缩进要求。 | | -| K.2.4 | 步骤涉及接口调用,清晰给出接口及其使用说明或示例代码,代码来源于具体实例。 | | - -**【写作样例】** - -1. 构造音频流参数的数据结构AudioStreamInfo,推荐使用AudioStreamInfo.Builder类来构造,模板如下,模板中设置的均为AudioStreamInfo.Builder类的默认值,根据音频流的具体规格来设置具体参数。 - ``` - AudioStreamInfo audioStreamInfo = new AudioStreamInfo.Builder().sampleRate( AudioStreamInfo.SAMPLE_RATE_UNSPECIFIED) .audioStreamFlag(AudioStreamInfo.AudioStreamFlag.AUDIO_STREAM_FLAG_NONE) .encodingFormat(AudioStreamInfo.EncodingFormat.ENCODING_INVALID) .channelMask(AudioStreamInfo.ChannelMask.CHANNEL_INVALID) .streamUsage(AudioStreamInfo.StreamUsage.STREAM_USAGE_UNKNOWN) .build(); - ``` - - 以真实的播放pcm流为例: - ``` - AudioStreamInfo audioStreamInfo = new AudioStreamInfo.Builder().sampleRate(44100)//44.1kHz .audioStreamFlag(AudioStreamInfo.AudioStreamFlag.AUDIO_STREAM_FLAG_MAY_DUCK)//混音 .encodingFormat(AudioStreamInfo.EncodingFormat.ENCODING_PCM_16BIT)//16-bit PCM .channelMask(AudioStreamInfo.ChannelMask.CHANNEL_OUT_STEREO)//双声道 .streamUsage(AudioStreamInfo.StreamUsage.STREAM_USAGE_MEDIA)//媒体类音频 .build(); - ``` - -2. 使用步骤1创建的音频流构建音频播放的参数结构AudioRendererInfo,推荐使用AudioRendererInfo.Builder类来构造,模板如下,模板中设置的均为AudioRendererInfo.Builder类的默认值,根据音频播放的具体规格来设置具体参数。 - ``` - AudioRendererInfo audioRendererInfo = new AudioRendererInfo.Builder().audioStreamInfo(audioStreamInfo) .audioStreamOutputFlag(AudioRendererInfo.AudioStreamOutputFlag.AUDIO_STREAM_OUTPUT_FLAG_NONE) .bufferSizeInBytes(0) .distributedDeviceId("") .isOffload(false) .sessionID(AudioRendererInfo.SESSION_ID_UNSPECIFIED) .build(); - ``` - - 以真实的播放pcm流为例: - ``` - AudioRendererInfo audioRendererInfo = new AudioRendererInfo.Builder().audioStreamInfo(audioStreamInfo) .audioStreamOutputFlag(AudioRendererInfo.AudioStreamOutputFlag.AUDIO_STREAM_OUTPUT_FLAG_DIRECT_PCM)//pcm格式的输出流 .bufferSizeInBytes(100) .distributedDeviceId("E54***5E8")//使用分布式设备E54***5E8播放 .isOffload(false)//false表示分段传输buffer并播放,true表示整个音频流一次性传输到HAL层播放 .build(); - ``` - -3. 根据要播放音频流指定PlayMode,不同的PlayMode在写数据时存在差异,详情见步骤7,其余播放流程是无区别的。并通过构造函数获取AudioRenderer类的实例化对象。 - .... - -4. 播放任务结束后,调用AudioRenderer实例化对象的release()释放资源。 - - -## 调测验证(可选) - -** *【写作要求】*** - -*可选。* *描述开发完成后,进行调测验证,确保最终操作成功。* *操作步骤要求同“开发指导”,其他具体写作要求见下,完成写作后,请逐项自检下。* - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| L1.1 | 仅进行最后的业务调测,每个小任务的操作结果,在开发步骤执行完成后,及时验证操作结果。 | | -| L1.2 | 明确开发成功标准。 | | - -**【写作样例---节选】** - -![1624266401415](C:\Users\LWX104~1\AppData\Local\Temp\1624266401415.png) diff --git "a/zh-cn/device-dev/kernel-contribution/template/\346\220\255\345\273\272\347\216\257\345\242\203.md" "b/zh-cn/device-dev/kernel-contribution/template/\346\220\255\345\273\272\347\216\257\345\242\203.md" deleted file mode 100644 index 743adf6abcf..00000000000 --- "a/zh-cn/device-dev/kernel-contribution/template/\346\220\255\345\273\272\347\216\257\345\242\203.md" +++ /dev/null @@ -1,82 +0,0 @@ -# 搭建环境 - -** *【写作要求】*** - - -*条件必选。* *如果在快速入门里已提供此部分,此章节可以不提供。明确如何搭建开发环境(如开发工具、编译工具)*。 - - -## 环境要求 - -** *【写作要求】*** - -*必选。* *明确开发环境所需要的软硬件配置,* *旨在要用户提前准备环境。*如果软硬件内容比较多,可以再增加子标题。写作要求见下,完成写作后,请逐项自检。 - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| E.1.1 | 分别明确开发的软硬环境和手机的开发环境,下载路径。 | | -| E1.2 | 明确具体的版本号。 | | - - -**【写作样例】** - - -**表1** 环境要求 - -| 项目 | PC | 手机 | -| -------- | -------- | -------- | -| 硬件 | - 内存:8G及以上
    - 硬盘:100G及以上
    - 分辨率:1280\*800 | 处理器不低于kirin 980的华为手机 | -| 软件 | 操作系统:Windows10 64位  或 Mac 10。 | 系统软件版本不低于EMUI_10.0.0 | - - -## 安装环境 - -** *【写作要求】*** - -必选。描述安装环境的具体步骤,如果内容比较多,可以区分安装环境章节,如:安装编译基础环境、安装编译工具环境、安装gcc_riscv32(WLAN模组类编译工具链)。 - -写作要求见下,完成写作后,请逐项自检。 - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| **F.1** | **如何写好步骤** | | -| F.1.1 | 步骤完整:提供必须的步骤,顺利指导完成操作,无缺失。 | | -| F.1.2 | 脉络清楚:文档逻辑清晰、合理。文档前面的概述、准备、操作围绕一条线描述,不能章节断裂或前后矛盾的现象。 | | -| F.1.3 | 任务句式:标题或句子尽量使用“动词+名词”的句式表述动作。 | | -| F.1.4 | 预防提前:操作过程中的限制、易错的、有潜在风险的,要提前描述,使用DOCS平台的“插入> 说明 > 须知”描述。 | | -| F.1.5 | 步骤清晰-1:无论步骤简单或复杂,都需要写步骤目的,即为什么做。 | | -| F.1.6 | 步骤清晰-2:明确在什么环境下,使用什么工具,做什么操作,怎么做该操作。 | | -| F.1.7 | 步骤具体:如果操作可选,要明确可选条件。 | | -| F.1.8 | 在开发步骤执行完成后,及时明确操作正确的标准。 | | -| **F.2** | **如何写好代码段** | | -| F.2.1 | 代码涉及开发者拷贝的命令,必须用可编辑的报文呈现,避免截图(DOCS插入Screen)。 | | -| F.2.2 | 代码中关键段用蓝色(RGB:0.0.255)突出显示,关键步骤要有注释说明。 | | -| F.2.3 | 代码显示符合代码缩进要求。 | | -| F.2.4 | 步骤涉及接口调用,清晰给出接口及其使用说明或示例代码,代码来源于具体实例。 | | - -**【写作样例】** - -1. 双击下载的exe文件,进入DevEco Studio安装向导。 - -2. 配置DevEco Studio安装路径,点击Next。 - -3. 配置DevEco Studio安装选项,点击Next。 - - Create Desktop Shortcut:配置是否创建桌面快捷方式,根据操作系统位数进行选择。 - - Update PATH variable:配置是否将启动器路径添加到环境变量PATH中,需要从命令行启动DevEco Studio时,需要勾选Add launchers dir to the PATH。 - - Update context menu:配置是否将DevEco Studio功能添加至上下文菜单。勾选后,右键上下文菜单将出现“Open Folder as Project”选项。 - -4. 配置桌面快捷方式的开始菜单文件夹,点击Install。 - -5. 等待DevEco Studio安装完成后,点击Finish。 - - -## 检验环境是否搭建成功 - -** *【写作要求】*** - -*必选。* *环境搭建完成后,需要明确给出环境搭建是否成功的检验标准*。 - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| G.1.1 | 仅进行最后的结果验证,每个小任务的操作结果,在开发步骤执行完成后,及时验证操作结果。 | | -| G1.2 | 明确搭建成功的标准。 | | diff --git "a/zh-cn/device-dev/kernel-contribution/template/\346\246\202\350\277\260.md" "b/zh-cn/device-dev/kernel-contribution/template/\346\246\202\350\277\260.md" deleted file mode 100644 index c3ab6dfa23f..00000000000 --- "a/zh-cn/device-dev/kernel-contribution/template/\346\246\202\350\277\260.md" +++ /dev/null @@ -1,169 +0,0 @@ -# 概述 - -* **【开发指南总体** **写作要求】*** - - -* 适用于鸿蒙南北向子系统开发、应用侧的设备开发、南向开发指南。* - - -* 章节调整:本模板知识点内容结构可以根据产品内容多少微调,具体操作方式见下。* - - -| 章节 | 可选/必选说明 | 备注 | -| -------- | -------- | -------- | -| 概述 | 必选,标题名称不变 | - | -| 搭建环境 | 可选,如果快速入门已有,可不用提供,否则需提供。 | - | -| 开发指导 | 必选,可根据多场景任务增加章节。 | 拍照开发指导
    预览开发指导
    录像开发指导 | -| 开发实例 | 必选。
    - 标题名称可自定义。如果“开发指导”是多场景,标题名称可以调整为拍照开发实例、预览开发实例等。
    - 标题可合并。如果产品链接到示例代码或内容少于1屏,可合并到“开发指导”,整本统一。 | - | -| 常见问题 | 可选,标题不变。
    - 如果无常见问题,删除此章节。
    - 如果有常见问题,建议单独章节,后续具备扩展性。
    - 如果有常见问题,问题少于1屏,未来扩充可能行不大,可放在“开发指导”。 | - | -| 参考 | 可选,根据实际需要补充。 | - | - - - * 整体写作要求见下,完成写作后,请逐项自检。* -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| **A.1** | **用语要求** | | -| A.1.1 | 行文风格:文档在官方网站发布,用语正式,避免口语化。 | | -| A.1.2 | 合规要求:不能使用Android特有概念等存在合规和法务风险的词汇。敏感词汇包含但不限于:Android、Google、EMUI、Activity、AOSP、provider、binder、APK、Dalvik、AVD、ADT、DDMS、adb、AAPT、AndroidManifest、NDK、ART、dex、ANR、Cursor、Blacklist、Whitelist、Master、Slave、L0、L1、轻鸿蒙、富鸿蒙等。 | | -| A.1.3 | 内容简洁:内容采用信息必备、最小化原则,旨在指导开发者在尽量短的时间完成操作。 | | -| A.1.4 | 内容正确:文档的代码、需要设置的参数等需要跟产品实际情况实时保持一致。 | | -| A.1.5 | 用语准确:应当确切,不能出现多义性的描述。 | | -| A.1.6 | 用语一致:同一叫法,全文保持一致,术语与术语库保持一致,正文中缩略语首次出现要给出全称。 | | -| A.1.7 | 用语具体:如表示数量或程度时,避免用笼统的“多”“少”“大”,建议用具体数字表示。 | | -| **A.2** | **格式要求** | | -| A.2.1 | 标点符号正确、句尾有符号结尾。 | | -| A.2.2 | 内容尽量用项目列表或分类的方式清晰呈现。不要有单个项目列表;不要有多余空行。 | | -| A.2.3 | 英文字母和中文字之间不要有空格。 | | -| A.2.4 | 链接必须有效,具体,可直接跳转或下载。 | | -| A.2.5 | 如果是内容的辅助说明,请使用“说明”式样;如果提前申明事项,,请使用“须知”式样。To D的资料不用“注意”格式。 | | -| **A.3** | **表格** | | -| A.3.1 | 表格有表注,表头风格一致,采用名词或名词词组形式。 | | -| A.3.2 | 表格有表头,至少为2行2列,避免出现单行或单列表。 | | -| A.3.3 | 表格无内容用“_”,不出现空白的单元格。 | | -| **A.4** | **图形** | | -| A.4.2 | 符合华为调性,避免互联网化,避免涉及宗教信仰类截图。 | | -| A.4.3 | 图文并茂,行文应力求简明,如有可能,配以适当的图,表。 | | -| A.4.4 | 图形有图注(不可直接粘贴图形),图注风格一致,采用名词或名词词组形式。 | | -| A.4.5 | 图形应清晰可辩识,信息表达完整,易于阅读。如流程图不可缺少“开始”和“结束”。 | | -| A.4.6 | 图形逻辑清晰,图文配合使用,切忌图文分离。 | | -| A.4.7 | 图片的高度建议在640px左右,宽度不超过820px,一般为.png格式,图片的大小建议不超过150k。 | | -| A.4.8 | 图形建议尽量不要用文字,中文图用中文,英文图用英文。 | | - - -## 基本概念 - -*【 **写作要求】*** - -*必选,描述本开发任务相关的基本概念,帮助开发者更好的理解开发任务。* *写作要求见下,完成写作后,请逐项自检。* - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| B.1.1 | 业界通用的概念不用再此赘述。 | | -| B.1.2 | 注意使用业界通用术语来表达,不用华为研发内部语言。 | | -| B.1.3 | 基本概念要黑盒描述,不用体现具体细节。 | | - - -【写作样例】 - - -鸿蒙系统音频模块支持音频业务的开发,提供音频相关的功能,主要包括音频播放、音频采集、音量管理和短音播放等。 - - -在进行应用的开发前,开发者应了解以下基本概念: - - -- 采样 - 采样就是把模拟信号数字化的过程,所有的模拟信号都需要通过采样转换为可以用0101来表示的数字信号。 - -- 采样率 - 采样率为每秒从连续信号中提取并组成离散信号的采样次数,单位用赫兹(Hz)来表示。通常人耳能听到频率范围大约在20Hz~20kHz之间的声音。常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。 - -- 声道 - 声道是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。 - -- 音频帧 - 音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的。 - - -## 运作机制 - -*【 **写作要求】*** - -*可选。如果机制比较简单,通过前面基本概念就可以说清楚,此章节可以不用提供,删除标题即可。* - -*描述实现原理介绍机制,如关键步骤相关接口调用时机和触发时机,帮助开发者了解该功能的基本运作原理,以便更好的理解开发任务和定位问题。* - -* 写作要求见下,完成写作后,请逐项自检。* - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| C.1.1 | 仅描述开发任务相关的原理。 | | -| C.1.2 | 尽量图文配合,一般使用时序图、流程图等形式。文字描述与图形描述匹配。 | | -| C.1.3 | 原理要黑盒描述,注意不要泄密。 | | - -【写作样例-1】 - -- 信号量初始化,为配置的N个信号量申请内存(N值可以由用户自行配置,受内存限制),并把所有的信号量初始化成未使用,并加入到未使用链表中供系统使用。 - -- 信号量创建,从未使用的信号量链表中获取一个信号量资源,并设定初值。 - -- 信号量申请,若其计数器值大于0,则直接减1返回成功。否则任务阻塞,等待其它任务释放该信号量,等待的超时时间可设定。当任务被一个信号量阻塞时,将该任务挂到信号量等待任务队列的队尾。 - -- 信号量释放,若没有任务等待该信号量,则直接将计数器加1返回。否则唤醒该信号量等待任务队列上的第一个任务。 - -- 信号量删除,将正在使用的信号量置为未使用信号量,并挂回到未使用链表。 - -- 信号量允许多个任务在同一时刻访问同一资源,但会限制同一时刻访问此资源的最大任务数目。访问同一资源的任务数达到该资源的最大数量时,会阻塞其他试图获取该资源的任务,直到有任务释放该信号量。 - ![1624266502700](C:\Users\LWX104~1\AppData\Local\Temp\1624266502700.png) - - 【写作样例-2】 - - **互斥锁运作原理** - - 多任务环境下会存在多个任务访问同一公共资源的场景,而有些公共资源是非共享的,需要任务进行独占式处理。互斥锁怎样来避免这种冲突呢? - - 用互斥锁处理非共享资源的同步访问时,如果有任务访问该资源,则互斥锁为加锁状态。此时其他任务如果想访问这个公共资源则会被阻塞,直到互斥锁被持有该锁的任务释放后,其他任务才能重新访问该公共资源,此时互斥锁再次上锁,如此确保同一时刻只有一个任务正在访问这个公共资源,保证了公共资源操作的完整性。 - - **图2** 互斥锁运作示意图 - ![1624266485662](C:\Users\LWX104~1\AppData\Local\Temp\1624266485662.png) - - -## 约束与限制 - -* **【写作要求】*** - -*必选。* *描述本开发任务过程中* *的约束条件,以及此操作约束带来相应的负面影响,包括但不限于如下几方面:* - -* **功能限制:*** - -- * 功能使用范围(明确不支持的场景)。* - -- *规格限制。* - -* **操作限制** **:*** - -- * 已知问题的操作。* - -- * 潜在风险的操作(如引起性能降低)。* - -- * 引起性能降低的操作*。 - -* 写作要求见下,完成写作后,请逐项自检。* - -| 要求项 | 内容要求 | 是否满足 | -| -------- | -------- | -------- | -| D.1.1 | 明确功能限制或操作限制。 | | -| D.1.2 | 约束对指导任务开发有影响或体验有感知,否则不用体现。 | | -| D.1.3 | 容易出错的操作在步骤里描述,不在此体现。 | | - -**【写作样例】** - -**互斥锁的约束与限制:** - -- 两个任务不能对同一把互斥锁加锁。如果某任务对已被持有的互斥锁加锁,则该任务会被挂起,直到持有该锁的任务对互斥锁解锁,才能执行对这把互斥锁的加锁操作。 - -- 互斥锁不能在中断服务程序中使用。 - -- Huawei LiteOS作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得互斥锁之后,应该尽快释放互斥锁。 - -- 持有互斥锁的过程中,不得再调用LOS_TaskPriSet等接口更改持有互斥锁任务的优先级。 diff --git a/zh-cn/device-dev/kernel/IPC.md b/zh-cn/device-dev/kernel/IPC.md deleted file mode 100644 index 14c3d35d893..00000000000 --- a/zh-cn/device-dev/kernel/IPC.md +++ /dev/null @@ -1,11 +0,0 @@ -# IPC - -- **[事件](事件.md)** - -- **[互斥锁](互斥锁.md)** - -- **[消息队列](消息队列.md)** - -- **[信号量](信号量.md)** - - diff --git a/zh-cn/device-dev/kernel/LittleFS.md b/zh-cn/device-dev/kernel/LittleFS.md deleted file mode 100644 index 1f8ad2cec85..00000000000 --- a/zh-cn/device-dev/kernel/LittleFS.md +++ /dev/null @@ -1,7 +0,0 @@ -# LittleFS - -- **[基本概念](基本概念-21.md)** - -- **[开发指导](开发指导-22.md)** - - diff --git a/zh-cn/device-dev/kernel/Readme-CN.md b/zh-cn/device-dev/kernel/Readme-CN.md index 8b5a59ad1b9..3149ba1128a 100755 --- a/zh-cn/device-dev/kernel/Readme-CN.md +++ b/zh-cn/device-dev/kernel/Readme-CN.md @@ -1,166 +1,152 @@ # 内核使用指南 -- [轻量和小型系统内核](轻量和小型系统内核.md) - - [轻量系统内核](轻量系统内核.md) - - [基础内核](基础内核.md) - - [进程](进程.md) - - [线程](线程.md) - - [内存](内存.md) - - [网络](网络.md) - - - [文件系统](文件系统.md) - - [VFS](VFS.md) - - [NFS](NFS.md) - - [RAMFS](RAMFS.md) - - [FAT](FAT.md) - - [JFFS2](JFFS2.md) - - - [标准库](标准库.md) - - [标准库](标准库-0.md) - - [与Linux标准库的差异](与Linux标准库的差异.md) - - - [调测](调测.md) - - [Shell介绍](Shell介绍.md) - - [Shell命令开发指导](Shell命令开发指导.md) - - [Shell命令编程实例](Shell命令编程实例.md) - - [Shell命令使用详解](Shell命令使用详解.md) - - [系统命令](系统命令.md) - - [cpup](cpup.md) - - [date](date.md) - - [dmesg](dmesg.md) - - [exec](exec.md) - - [free](free.md) - - [help](help.md) - - [hwi](hwi.md) - - [kill](kill.md) - - [log](log.md) - - [memcheck](memcheck.md) - - [oom](oom.md) - - [pmm](pmm.md) - - [reset](reset.md) - - [sem](sem.md) - - [stack](stack.md) - - [su](su.md) - - [swtmr](swtmr.md) - - [systeminfo](systeminfo.md) - - [task](task.md) - - [uname](uname.md) - - [vmm](vmm.md) - - [watch](watch.md) - - - [文件命令](文件命令.md) - - [cat](cat.md) - - [cd](cd.md) - - [chgrp](chgrp.md) - - [chmod](chmod.md) - - [chown](chown.md) - - [cp](cp.md) - - [format](format.md) - - [ls](ls.md) - - [lsfd](lsfd.md) - - [mkdir](mkdir.md) - - [mount](mount.md) - - [partinfo](partinfo.md) - - [partition](partition.md) - - [pwd](pwd.md) - - [rm](rm.md) - - [rmdir](rmdir.md) - - [statfs](statfs.md) - - [sync](sync.md) - - [touch](touch.md) - - [writeproc](writeproc.md) - - [umount](umount.md) - - - [网络命令](网络命令.md) - - [arp](arp.md) - - [dhclient](dhclient.md) - - [dns](dns.md) - - [ifconfig](ifconfig.md) - - [ipdebug](ipdebug.md) - - [netstat](netstat.md) - - [ntpdate](ntpdate.md) - - [ping](ping.md) - - [ping6](ping6.md) - - [telnet](telnet.md) - - [tftp](tftp.md) - - - [魔法键使用方法](魔法键使用方法.md) - - [用户态异常信息说明](用户态异常信息说明.md) - - - [小型系统内核](小型系统内核.md) - - [认识LiteOS-M内核](认识LiteOS-M内核.md) - - [快速入门](快速入门.md) - - [基础内核](基础内核-1.md) - - [中断管理](中断管理.md) - - [基本概念](基本概念.md) - - [开发指导](开发指导.md) - - - [任务管理](任务管理.md) - - [基本概念](基本概念-2.md) - - [开发指导](开发指导-3.md) - - - [内存管理](内存管理.md) - - [基本概念](基本概念-4.md) - - [静态内存](静态内存.md) - - [动态内存](动态内存.md) - - - [IPC](IPC.md) - - [事件](事件.md) - - [基本概念](基本概念-5.md) - - [开发指导](开发指导-6.md) - - - [互斥锁](互斥锁.md) - - [基本概念](基本概念-7.md) - - [开发指导](开发指导-8.md) - - - [消息队列](消息队列.md) - - [基本概念](基本概念-9.md) - - [开发指导](开发指导-10.md) - - - [信号量](信号量.md) - - [基本概念](基本概念-11.md) - - [开发指导](开发指导-12.md) - - - [时间管理](时间管理.md) - - [基本概念](基本概念-13.md) - - [开发指导](开发指导-14.md) - - - [软件定时器](软件定时器.md) - - [基本概念](基本概念-15.md) - - [开发指导](开发指导-16.md) - - - [扩展组件](扩展组件.md) - - [C++支持](C++支持.md) - - [CPUP](CPUP.md) - - [基本概念](基本概念-17.md) - - [开发指导](开发指导-18.md) - - - [文件系统](文件系统-19.md) - - [FAT](FAT-20.md) - - [LittleFS](LittleFS.md) - - [基本概念](基本概念-21.md) - - [开发指导](开发指导-22.md) - - - [内核调测](内核调测.md) - - [内存调测](内存调测.md) - - [内存信息统计](内存信息统计.md) - - [内存泄漏检测](内存泄漏检测.md) - - [踩内存检测](踩内存检测.md) - - - [异常调测](异常调测.md) - - [Trace调测](Trace调测.md) - - - [附录](附录.md) - - [内核编码规范](内核编码规范.md) - - [基本数据结构](基本数据结构.md) - - [双向链表](双向链表.md) - - - [标准库支持](标准库支持.md) - - [CMSIS支持](CMSIS支持.md) - - [POSIX支持](POSIX支持.md) - -- [标准系统内核](标准系统内核.md) - - [Linux内核概述](Linux内核概述.md) - - [OpenHarmony开发板Patch使用指导](OpenHarmony开发板Patch使用指导.md) - - [Linux内核编译与构建指导](Linux内核编译与构建指导.md) +- [轻量和小型系统内核](kernel-lite.md) + + - [轻量系统内核](kernel-lite-mini.md) + - [内核概述](kernel-lite-mini-m.md) + - [基础内核](kernel-lite-mini-basic.md) + - [中断管理](kernel-lite-mini-basic-interrupt.md) + - [基本概念](kernel-lite-mini-basic-interrupt-concept.md) + - [开发指导](kernel-lite-mini-basic-interrupt-guide.md) + - [任务管理](kernel-lite-mini-basic-task.md) + - [基本概念](kernel-lite-mini-basic-task-basic.md) + - [开发指导](kernel-lite-mini-basic-task-guide.md) + - [内存管理](kernel-lite-mini-basic-memory.md) + - [基本概念](kernel-lite-mini-basic-memory-basic.md) + - [静态内存](kernel-lite-mini-basic-memory-static.md) + - [动态内存](kernel-lite-mini-basic-memory-dynamic.md) + - [内核通信机制](kernel-lite-mini-basic-ipc.md) + - [事件](kernel-lite-mini-basic-ipc-event.md) + - [基本概念](kernel-lite-mini-basic-ipc-event-guide.md) + - [开发指导](kernel-lite-mini-basic-ipc-event-basic.md) + - [互斥锁](kernel-lite-mini-basic-ipc-mutex.md) + - [基本概念](kernel-lite-mini-basic-ipc-mutex-basic.md) + - [开发指导](kernel-lite-mini-basic-ipc-mutex-guide.md) + - [消息队列](kernel-lite-mini-basic-ipc-queue.md) + - [基本概念](kernel-lite-mini-basic-ipc-queue-basic.md) + - [开发指导](kernel-lite-mini-basic-ipc-queue-guide.md) + - [信号量](kernel-lite-mini-basic-ipc-sem.md) + - [基本概念](kernel-lite-mini-basic-ipc-sem-basic.md) + - [开发指导](kernel-lite-mini-basic-ipc-sem-guide.md) + - [时间管理](kernel-lite-basic-mini-time.md) + - [基本概念](kernel-lite-mini-basic-time-basic.md) + - [开发指导](kernel-lite-mini-basic-time-guide.md) + - [软件定时器](kernel-lite-mini-basic-soft.md) + - [基本概念](kernel-lite-mini-basic-soft-basic.md) + - [开发指导](kernel-lite-mini-basic-soft-guide.md) + - [扩展组件](kernel-lite-mini-extend.md) + - [C++支持](kernel-lite-mini-extend-support.md) + - [CPU占用率](kernel-lite-mini-extend-cpup.md) + - [基本概念](kernel-lite-mini-extend-cpup-basic.md) + - [开发指导](kernel-lite-mini-extend-cpup-guide.md) + - [文件系统](kernel-lite-mini-extend-file.md) + - [FAT](kernel-lite-mini-extend-file-fat.md) + - [LittleFS](kernel-lite-mini-extend-file-lit.md) + - [基本概念](kernel-lite-mini-extend-file-lit-basic.md) + - [开发指导](kernel-lite-mini-extend-file-lit-guide.md) + - [内核调测](kernel-lite-mini-inner.md) + - [内存调测](kernel-lite-mini-inner-debug.md) + - [内存信息统计](kernel-lite-mini-inner-debug-mes.md) + - [内存泄漏检测](kernel-lite-mini-inner-debug-det.md) + - [踩内存检测](kernel-lite-mini-inner-debug-cet.md) + - [异常调测](kernel-lite-mini-inner-exception.md) + - [Trace调测](kernel-lite-mini-inner-trace.md) + - [附录](kernel-lite-mini-app.md) + - [内核编码规范](kernel-lite-mini-app-code.md) + - [基本数据结构](kernel-lite-mini-app-data.md) + - [双向链表](kernel-lite-mini-app-data-list.md) + - [标准库支持](kernel-lite-mini-app-lib.md) + - [CMSIS支持](kernel-lite-mini-app-lib-cmsis.md) + - [POSIX支持](kernel-lite-mini-app-lib-posix.md) + + - [小型系统内核](kernel-lite-small.md) + - [基础内核](kernel-lite-small-basic.md) + - [进程](kernel-lite-small-process.md) + - [线程](kernel-lite-small-thread.md) + - [内存](kernel-lite-small-memory.md) + - [网络](kernel-lite-small-net.md) + + - [文件系统](kernel-lite-small-file.md) + - [VFS](kernel-lite-small-file-vfs.md) + - [NFS](kernel-lite-small-file-nfs.md) + - [RAMFS](kernel-lite-small-file-ramfs.md) + - [FAT](kernel-lite-small-file-fat.md) + - [JFFS2](kernel-lite-small-file-jffs.md) + + - [标准库](kernel-lite-small-lib.md) + - [标准库](kernel-lite-small-lib-standard.md) + - [与Linux标准库的差异](kernel-lite-small-lib-differ.md) + + - [调测](kernel-lite-small-shell.md) + - [Shell介绍](kernel-lite-small-shell-des.md) + - [Shell命令开发指导](kernel-lite-small-shell-guide.md) + - [Shell命令编程实例](kernel-lite-small-shell-sample.md) + - [Shell命令使用详解](kernel-lite-small-shell-cmd.md) + - [系统命令](kernel-lite-small-shell-cmd-sys.md) + - [cpup](kernel-lite-small-shell-cmd-sys-cpup.md) + - [date](kernel-lite-small-shell-cmd-sys-date.md) + - [dmesg](kernel-lite-small-shell-cmd-sys-demsg.md) + - [exec](kernel-lite-small-shell-cmd-sys-exec.md) + - [free](kernel-lite-small-shell-cmd-sys-free.md) + - [help](kernel-lite-small-shell-cmd-sys-help.md) + - [hwi](kernel-lite-small-shell-cmd-sys-hwi.md) + - [kill](kernel-lite-small-shell-cmd-sys-kill.md) + - [log](kernel-lite-small-shell-cmd-sys-log.md) + - [memcheck](kernel-lite-small-shell-cmd-sys-mem.md) + - [oom](kernel-lite-small-shell-cmd-sys-oom.md) + - [pmm](kernel-lite-small-shell-cmd-sys-pmm.md) + - [reset](kernel-lite-small-shell-cmd-sys-reset.md) + - [sem](kernel-lite-small-shell-cmd-sys-sem.md) + - [stack](kernel-lite-small-shell-cmd-sys-stack.md) + - [su](kernel-lite-small-shell-cmd-sys-su.md) + - [swtmr](kernel-lite-small-shell-cmd-sys-swymr.md) + - [systeminfo](kernel-lite-small-shell-cmd-sys-sys.md) + - [task](kernel-lite-small-shell-cmd-sys-task.md) + - [uname](kernel-lite-small-shell-cmd-sys-uname.md) + - [vmm](kernel-lite-small-shell-cmd-sys-vmm.md) + - [watch](kernel-lite-small-shell-cmd-sys-watch.md) + + - [文件命令](kernel-lite-small-shell-cmd-file.md) + - [cat](kernel-lite-small-shell-cmd-file-cat.md) + - [cd](kernel-lite-small-shell-cmd-file-cd.md) + - [chgrp](kernel-lite-small-shell-cmd-file-chgrp.md) + - [chmod](kernel-lite-small-shell-cmd-file-chmod.md) + - [chown](kernel-lite-small-shell-cmd-file-chown.md) + - [cp](kernel-lite-small-shell-cmd-file-cp.md) + - [format](kernel-lite-small-shell-cmd-file-format.md) + - [ls](kernel-lite-small-shell-cmd-file-is.md) + - [lsfd](kernel-lite-small-shell-cmd-file-isfd.md) + - [mkdir](kernel-lite-small-shell-cmd-file-mkdir.md) + - [mount](kernel-lite-small-shell-cmd-file-mount.md) + - [partinfo](kernel-lite-small-shell-cmd-file-part.md) + - [partition](kernel-lite-small-shell-cmd-file-partion.md) + - [pwd](kernel-lite-small-shell-cmd-file-pwd.md) + - [rm](kernel-lite-small-shell-cmd-file-rm.md) + - [rmdir](kernel-lite-small-shell-cmd-file-rmdir.md) + - [statfs](kernel-lite-small-shell-cmd-file-sta.md) + - [sync](kernel-lite-small-shell-cmd-file-sync.md) + - [touch](kernel-lite-small-shell-cmd-file-touch.md) + - [writeproc](kernel-lite-small-shell-cmd-file-write.md) + - [umount](kernel-lite-small-shell-cmd-file-umount.md) + + - [网络命令](kernel-lite-small-shell-cmd-net.md) + - [arp](kernel-lite-small-shell-cmd-net-arp.md) + - [dhclient](kernel-lite-small-shell-cmd-net-dh.md) + - [dns](kernel-lite-small-shell-cmd-net-dns.md) + - [ifconfig](kernel-lite-small-shell-cmd-net-ipc.md) + - [ipdebug](kernel-lite-small-shell-cmd-net-ipd.md) + - [netstat](kernel-lite-small-shell-cmd-net-net.md) + - [ntpdate](kernel-lite-small-shell-cmd-net-ntp.md) + - [ping](kernel-lite-small-shell-cmd-net-ping.md) + - [ping6](kernel-lite-small-shell-cmd-net-ping6.md) + - [telnet](kernel-lite-small-shell-cmd-net-tel.md) + - [tftp](kernel-lite-small-shell-cmd-net-tftp.md) + + - [魔法键使用方法](kernel-lite-small-shell-cmd-mag.md) + - [用户态异常信息说明](kernel-lite-small-shell-cmd-abn.md) + +- [标准系统内核](kernel-standard.md) + - [Linux内核概述](kernel-standard-des.md) + - [OpenHarmony开发板Patch使用指导](kernel-standard-patch.md) + - [Linux内核编译与构建指导](kernel-standard-build.md) diff --git "a/zh-cn/device-dev/kernel/figure/Cow\346\234\272\345\210\266\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/Cow\346\234\272\345\210\266\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..bee6020f58b7127c24d0adc1da77fe1761b386de GIT binary patch literal 37179 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/PID\344\270\2723\347\232\204\350\277\233\347\250\213\350\231\232\346\213\237\345\206\205\345\255\230\344\275\277\347\224\250\344\277\241\346\201\257.png" "b/zh-cn/device-dev/kernel/figure/PID\344\270\2723\347\232\204\350\277\233\347\250\213\350\231\232\346\213\237\345\206\205\345\255\230\344\275\277\347\224\250\344\277\241\346\201\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/PID\344\270\2723\347\232\204\350\277\233\347\250\213\350\231\232\346\213\237\345\206\205\345\255\230\344\275\277\347\224\250\344\277\241\346\201\257.png" rename to "zh-cn/device-dev/kernel/figure/PID\344\270\2723\347\232\204\350\277\233\347\250\213\350\231\232\346\213\237\345\206\205\345\255\230\344\275\277\347\224\250\344\277\241\346\201\257.png" diff --git "a/zh-cn/device-dev/kernel/figures/POSIX\346\216\245\345\217\243\346\241\206\346\236\266.png" "b/zh-cn/device-dev/kernel/figure/POSIX\346\216\245\345\217\243\346\241\206\346\236\266.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/POSIX\346\216\245\345\217\243\346\241\206\346\236\266.png" rename to "zh-cn/device-dev/kernel/figure/POSIX\346\216\245\345\217\243\346\241\206\346\236\266.png" diff --git a/zh-cn/device-dev/kernel/figures/Snipaste_2021-01-26_10-38-58-1.png b/zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-18.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/Snipaste_2021-01-26_10-38-58-1.png rename to zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-18.png diff --git a/zh-cn/device-dev/kernel/figures/Snipaste_2021-01-26_10-38-58-2.png b/zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-19.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/Snipaste_2021-01-26_10-38-58-2.png rename to zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-19.png diff --git a/zh-cn/device-dev/kernel/figures/Snipaste_2021-01-26_10-38-58.png b/zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/Snipaste_2021-01-26_10-38-58.png rename to zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58.png diff --git "a/zh-cn/device-dev/kernel/figures/VFS\345\222\214\345\220\204\344\270\252\346\226\207\344\273\266\347\263\273\347\273\237\347\232\204\345\205\263\347\263\273.png" "b/zh-cn/device-dev/kernel/figure/VFS\345\222\214\345\220\204\344\270\252\346\226\207\344\273\266\347\263\273\347\273\237\347\232\204\345\205\263\347\263\273.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/VFS\345\222\214\345\220\204\344\270\252\346\226\207\344\273\266\347\263\273\347\273\237\347\232\204\345\205\263\347\263\273.png" rename to "zh-cn/device-dev/kernel/figure/VFS\345\222\214\345\220\204\344\270\252\346\226\207\344\273\266\347\263\273\347\273\237\347\232\204\345\205\263\347\263\273.png" diff --git "a/zh-cn/device-dev/kernel/figures/dmesg\351\207\215\345\256\232\345\220\221\345\210\260\346\226\207\344\273\266.png" "b/zh-cn/device-dev/kernel/figure/dmesg\351\207\215\345\256\232\345\220\221\345\210\260\346\226\207\344\273\266.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/dmesg\351\207\215\345\256\232\345\220\221\345\210\260\346\226\207\344\273\266.png" rename to "zh-cn/device-dev/kernel/figure/dmesg\351\207\215\345\256\232\345\220\221\345\210\260\346\226\207\344\273\266.png" diff --git "a/zh-cn/device-dev/kernel/figures/lsfd\350\276\223\345\207\272\350\257\264\346\230\216.png" "b/zh-cn/device-dev/kernel/figure/lsfd\350\276\223\345\207\272\350\257\264\346\230\216.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/lsfd\350\276\223\345\207\272\350\257\264\346\230\216.png" rename to "zh-cn/device-dev/kernel/figure/lsfd\350\276\223\345\207\272\350\257\264\346\230\216.png" diff --git "a/zh-cn/device-dev/kernel/figures/statfs\350\276\223\345\207\272\350\257\264\346\230\216.png" "b/zh-cn/device-dev/kernel/figure/statfs\350\276\223\345\207\272\350\257\264\346\230\216.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/statfs\350\276\223\345\207\272\350\257\264\346\230\216.png" rename to "zh-cn/device-dev/kernel/figure/statfs\350\276\223\345\207\272\350\257\264\346\230\216.png" diff --git "a/zh-cn/device-dev/kernel/figures/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" "b/zh-cn/device-dev/kernel/figure/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" rename to "zh-cn/device-dev/kernel/figure/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" diff --git "a/zh-cn/device-dev/kernel/figures/watch-task-\347\273\223\346\236\234.png" "b/zh-cn/device-dev/kernel/figure/watch-task-\347\273\223\346\236\234.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/watch-task-\347\273\223\346\236\234.png" rename to "zh-cn/device-dev/kernel/figure/watch-task-\347\273\223\346\236\234.png" diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001051690323.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001051690323.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001051690323.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001051690323.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052370303.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052370303.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052370303.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052370303.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052370305.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052370305.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052370305.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052370305.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052370307.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052370307.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052370307.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052370307.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052530298.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052530298.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052530298.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052530298.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052810300.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052810300.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052810300.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052810300.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052810304.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052810304.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001052810304.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001052810304.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001053224218.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001053224218.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001053224218.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001053224218.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001053710680.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001053710680.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001053710680.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001053710680.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001053826366.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001053826366.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001053826366.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001053826366.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001054624363.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001054624363.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001054624363.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001054624363.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001121429646.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001121429646.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001121429646.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001121429646.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124146302.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124146302.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124146302.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124146302.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124147160.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124147160.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124147160.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124147160.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124306828.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124306828.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124306828.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124306828.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124307264.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124307264.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124307264.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124307264.png diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124310992.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124310992.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001124310992.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001124310992.png diff --git a/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132085260.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132085260.png new file mode 100644 index 0000000000000000000000000000000000000000..4bc250489d5cfba6848f63abd9a1ea12502fd9df GIT binary patch literal 21297 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 TQ+($Z@b9#q@yVPMwm1J5z@3n# literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132778524.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132778524.png new file mode 100644 index 0000000000000000000000000000000000000000..7836a009e5e3cb6351c807daf9b927c7d3b71a86 GIT binary patch literal 40753 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 G%li$dV|{c0 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132935054.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001132935054.png new file mode 100644 index 0000000000000000000000000000000000000000..238a15fa82b6095a13ee54bd3014ed3c08c21b4e GIT binary patch literal 19889 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 Jvd$@?2>`-(tXKd5 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/kernel/figures/zh-cn_image_0000001170790681.png b/zh-cn/device-dev/kernel/figure/zh-cn_image_0000001170790681.png similarity index 100% rename from zh-cn/device-dev/kernel/figures/zh-cn_image_0000001170790681.png rename to zh-cn/device-dev/kernel/figure/zh-cn_image_0000001170790681.png diff --git "a/zh-cn/device-dev/kernel/figures/\344\272\213\344\273\266\350\277\220\344\275\234\345\216\237\347\220\206\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\344\272\213\344\273\266\350\277\220\344\275\234\345\216\237\347\220\206\345\233\276.png" similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\272\213\344\273\266\350\277\220\344\275\234\345\216\237\347\220\206\345\233\276.png" rename to "zh-cn/device-dev/kernel/figure/\344\272\213\344\273\266\350\277\220\344\275\234\345\216\237\347\220\206\345\233\276.png" diff --git "a/zh-cn/device-dev/kernel/figure/\344\272\222\346\226\245\351\224\201\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\344\272\222\346\226\245\351\224\201\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..37559a2a230b4d0a17fa07aaac2ea5ed3923b4df GIT binary patch literal 34146 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 B8g&2w literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" "b/zh-cn/device-dev/kernel/figure/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" rename to "zh-cn/device-dev/kernel/figure/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" diff --git "a/zh-cn/device-dev/kernel/figure/\344\273\273\345\212\241\347\212\266\346\200\201\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\344\273\273\345\212\241\347\212\266\346\200\201\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..75c79e501c27a2c41ff011133197eb646981b0f3 GIT binary patch literal 11238 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" "b/zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" rename to "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" diff --git "a/zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" rename to "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" diff --git "a/zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\351\207\217\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\351\207\217\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..02437a72c3de38cbddf5233282ef9354220002bf GIT binary patch literal 52280 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 a7@wDs=4Dn#*byG^cU$d_YLW88p#K4g)Ql_u literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" "b/zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" rename to "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" diff --git "a/zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" "b/zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" rename to "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" diff --git "a/zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" "b/zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" rename to "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" diff --git "a/zh-cn/device-dev/kernel/figure/\345\205\203\346\225\260\346\215\256\345\255\230\345\202\250\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\345\205\203\346\225\260\346\215\256\345\255\230\345\202\250\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..8566e16dbc675362366f07cf9497c2d9073d6f56 GIT binary patch literal 46397 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

    sa(ya(i5 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 A`~Uy| literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\345\206\205\346\240\270\346\236\266\346\236\204\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\345\206\205\346\240\270\346\236\266\346\236\204\345\233\276.png" similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\206\205\346\240\270\346\236\266\346\236\204\345\233\276.png" rename to "zh-cn/device-dev/kernel/figure/\345\206\205\346\240\270\346\236\266\346\236\204\345\233\276.png" diff --git "a/zh-cn/device-dev/kernel/figures/\345\207\272\347\216\260\345\206\205\345\255\230\350\266\212\347\225\214.png" "b/zh-cn/device-dev/kernel/figure/\345\207\272\347\216\260\345\206\205\345\255\230\350\266\212\347\225\214.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\207\272\347\216\260\345\206\205\345\255\230\350\266\212\347\225\214.png" rename to "zh-cn/device-dev/kernel/figure/\345\207\272\347\216\260\345\206\205\345\255\230\350\266\212\347\225\214.png" diff --git "a/zh-cn/device-dev/kernel/figures/\345\210\207\346\215\242\345\210\260\344\270\272uid\344\270\2721000-gid\344\270\2721000\347\232\204\347\224\250\346\210\267.png" "b/zh-cn/device-dev/kernel/figure/\345\210\207\346\215\242\345\210\260\344\270\272uid\344\270\2721000-gid\344\270\2721000\347\232\204\347\224\250\346\210\267.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\210\207\346\215\242\345\210\260\344\270\272uid\344\270\2721000-gid\344\270\2721000\347\232\204\347\224\250\346\210\267.png" rename to "zh-cn/device-dev/kernel/figure/\345\210\207\346\215\242\345\210\260\344\270\272uid\344\270\2721000-gid\344\270\2721000\347\232\204\347\224\250\346\210\267.png" diff --git "a/zh-cn/device-dev/kernel/figures/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" "b/zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" rename to "zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" diff --git "a/zh-cn/device-dev/kernel/figures/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" "b/zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" rename to "zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" diff --git "a/zh-cn/device-dev/kernel/figures/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" "b/zh-cn/device-dev/kernel/figure/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" rename to "zh-cn/device-dev/kernel/figure/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" diff --git "a/zh-cn/device-dev/kernel/figure/\345\212\250\346\200\201\345\206\205\345\255\230\346\240\270\345\277\203\347\256\227\346\263\225.png" "b/zh-cn/device-dev/kernel/figure/\345\212\250\346\200\201\345\206\205\345\255\230\346\240\270\345\277\203\347\256\227\346\263\225.png" new file mode 100644 index 0000000000000000000000000000000000000000..955aff65c1c8365cc6c932a5e89ef944384bb489 GIT binary patch literal 50972 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figure/\345\212\250\346\200\201\345\206\205\345\255\230\347\256\241\347\220\206\347\273\223\346\236\204\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\345\212\250\346\200\201\345\206\205\345\255\230\347\256\241\347\220\206\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..e67cd13c295d19b6ce45c4749644eea42ada7f05 GIT binary patch literal 36975 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" "b/zh-cn/device-dev/kernel/figure/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" rename to "zh-cn/device-dev/kernel/figure/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" diff --git "a/zh-cn/device-dev/kernel/figure/\345\240\206\346\240\210\345\210\206\346\236\220\345\216\237\347\220\206\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\345\240\206\346\240\210\345\210\206\346\236\220\345\216\237\347\220\206\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..6ac9200e867f2c87d14ef89ca8c15102e83d4c10 GIT binary patch literal 42208 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%0D=8J`i#%_cPA^fP&+i~-CeXqya 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 EKj$xo1ONa4 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\345\275\223\345\211\215\346\262\241\346\234\211\345\206\205\345\255\230\350\266\212\347\225\214.png" "b/zh-cn/device-dev/kernel/figure/\345\275\223\345\211\215\346\262\241\346\234\211\345\206\205\345\255\230\350\266\212\347\225\214.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\345\275\223\345\211\215\346\262\241\346\234\211\345\206\205\345\255\230\350\266\212\347\225\214.png" rename to "zh-cn/device-dev/kernel/figure/\345\275\223\345\211\215\346\262\241\346\234\211\345\206\205\345\255\230\350\266\212\347\225\214.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\214\207\344\273\244\350\276\223\345\207\272\347\273\223\346\236\234.png" "b/zh-cn/device-dev/kernel/figure/\346\214\207\344\273\244\350\276\223\345\207\272\347\273\223\346\236\234.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\214\207\344\273\244\350\276\223\345\207\272\347\273\223\346\236\234.png" rename to "zh-cn/device-dev/kernel/figure/\346\214\207\344\273\244\350\276\223\345\207\272\347\273\223\346\236\234.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" "b/zh-cn/device-dev/kernel/figure/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" rename to "zh-cn/device-dev/kernel/figure/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\226\207\344\273\266\347\263\273\347\273\237\346\240\221\345\275\242\347\273\223\346\236\204.png" "b/zh-cn/device-dev/kernel/figure/\346\226\207\344\273\266\347\263\273\347\273\237\346\240\221\345\275\242\347\273\223\346\236\204.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\226\207\344\273\266\347\263\273\347\273\237\346\240\221\345\275\242\347\273\223\346\236\204.png" rename to "zh-cn/device-dev/kernel/figure/\346\226\207\344\273\266\347\263\273\347\273\237\346\240\221\345\275\242\347\273\223\346\236\204.png" diff --git "a/zh-cn/device-dev/kernel/figure/\346\227\245\345\277\227\346\226\271\345\274\217\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\346\227\245\345\277\227\346\226\271\345\274\217\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..caf4127a296227a121ef155f9354d1f3ef3837dd GIT binary patch literal 16031 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 z zzoG)K3wl42Pe<>nUsd@iEsc9F5H8EyjFpBJh%YLjayK2#2VM(UyK^oTO%FcFd&9U4 zQ;om^9iE6j5yLd#d13nXC|3IuARw?AToR_~DFg!6;h!^+KLrp&?nim{aCjS_DmQtA zPAAwGDC*lH`GZt6m`Fh7`!Q`8rKW;SjxRpqBv&>8!Qx$-1SPo}V0hweLWN=KZW^rJ zYW-$7Y6w1QeYxVo$_}mx0KD+x0_!JJ@X1<@gPvRm01F&_8+knB3Sj9CR>B<67$YFY zi>apu<}U@*dc}17fS#1VK1x^0s4*`3Xd}%hEy|l;jkkJ>qyjEx|#~usdRhxd0r28IaUjIO3=s ztO_XlxL-ZUI<-5^d+KGe2&>4h?X^7*p9oe5udOc#K0^m{f=|~M;0mee46q#?z z$AdotC%H&Mu4bT*gH1xlj>^-xX9KG~(lTS9nE(v8u8jfpPI1rf(gkJ}~}eU3=f(Qm!q%^=cpDB^NN zC=ZJ#MxhB8O_nO7ATseo0}Th0vWF_N+bLA5RjVs_hb_pXe3~fu+&GmaP4&f%KJ@YT ztxYTHy2$7b=|%Doi}?A4QE-&UWQdhp=~!Mv5TN_oRDlcJrNA(5$Em@76F6Sn1jIf5 z`OD|Fm4&Zjn0H4NHVNHt9V*=VVM0I02;T`eHr*2i6(45Ip)v(vBDd*jDmFpQnMCW` z@*(;K%MJ_$QCs)jxD5lM!7xymm5ufcxS)I`tA2)nazjz$$N;go@=9)J3X~ugTxe2s ztO{EN??-puzrO)(r*z3CFL-D7OVCR0yiwvph_Ol@QoeB$F}V9s8$n2v)TvMpJ8Dp) zq7LbCk=J-Ez<1x@-TD(hcz;)+2+x0?v>(hc@{$@3B;C4el~JHkz_q(M5n;pMO!!xC z7vvO2NaFb2(WvRLf|0>ZrK@odrDU6XM*@OowEAjHN7Sd;oPGkd;bu(`z#wvVFFHP! zeo|Kp`c`4;Y%5yRzA;b==8_Rq3M7iSXzfY27@?V|}S^tu;m((LyZad?5_!^>!U4*vD(X=SRMO z;UM$A04Am_l2yFWrBb6M;8a#|GQ zKU)? zoc^o^)I8X)bNjd&B`Q#{XEmRsUfcI^89@TL)6jYeb92J=LdpwEYa4wfH3c(){-gI< zH_?v673%%YrIyO^`3?gQMi8jFoz5#XG*C;mLhkuf!+1EV{U{baHW(igjLmZEKCACq z=iN~;{n$?VCU;>37WnQXe;n&z;9K|G^>Y!eBU#`0Kg!=c^$nKb>oRCSBBz?(U_H64 zt{K*^a>?5{mdz>Q+ks|pFn52m6dz!&LW%hrBZWRv*v10p0GDY{i;sFK4^GN_;rvqb z@a|Yds$89tX?Cw#EjDRn=E>mwujeg$Z(ej)ixV1<(^+3J`X39D?*rddHZlY{}(kRu{&oU$B=FalLPMoImRg{mgF2YY5Y}o7H(koF~b(-ZyK9a87 z6<73zgwKcyK~ZBG5%Ytf4hDv&ugJJ;W0sPCgkx>rnaHNB1y*Ofb`3t=czkot>ifvJ z(yqcoaO@NDxXagH)-&Gay^PO_=vf$z7$CX#1eBU4P>I(**v`=YHcpnV&U)l-+r|L_dc-p%XP<6l&ml zo2g^|hrQp651Z676BOsm^OquEP4nG$WGs`18{?adtfHj@Y#vwTc+RD?cfRr4wTfgr z;A-v|hyFw$nhx%p8X&3mt^TY=kZpO7Zi_&Yu=?BSwZNNiqejR5@_BUOEF0_nVEjgj zl7A7*43O}3lgW;g>|a73w$h=#<%|_pXKiLCekLty#cEJxRlRn#LPUAFc+B@-@bv5B zX`Y+r2GQy2tqm5!J2mz|m(5h~L@eWt{-*gAq+jCl!}f6l>5~Wb#il#aN3QuP>$c77 z!ig$7KRTqgtN0g3Xnj^2gS_r8OyVZGoEt~Bhl12o23qgBs5>RamwcCIYu5nq_1(%#40T)5?rLRK7e%2|) zKHs=BrRepY4KsFhj!`b&?bgn6Z$(QLFS9N1BlRN<-lmOq+A4B&ZoNG(tfw{Xor6m{nbYj;~k7>}Tj?7V3^h5qp~Xk&~*vE*60X5P-^nNVI* z?@iMl1<8+<()Juz4rS>gT|ax(Dtn#AMtfc?J>d8}()zRFJhe-SR=Ps_quR-eZcDZy zQjNPlY4#@-kTC)g#V2#~oW7c&=xK{@$#O?S3MbViqWKc4!hFXI={k`S9oTn zGe9`Be0JK=B;ba5qHcg1o)|kx>Rg%%PN|&t%;$y?SI}c455ezSM3Kze_7U2$Up$#5 zHse*jcD`pt;DpL%K3D4^7qQ8KMt%bS&a8;Zf~>b88bX)~hk zi3!51H-V>`F{1kW-kVB=hbbYMBd2CKUUtVt_g|0D?xmBc3G(PZO7K3UeL`cqG}h~Q zwx`BD13GGl;m3dRx1Xxb+05MbE%b|Ta*=Z1vBHCd?M4f?P2J!Jw=bKc90JSeb$)qt zW{PG{bBiXJt=e**8#<7rn;__2Zjh+E<@<@J^D&I*fgUS#T)uz%xE%w=e?)gST%@4d zE9gIZh1`l`J&-TG>EEcg@0(Whtg3DPqE}=4*dNO>?*3d_g&WZu(1^iSFcB zuAiDE0u%*(l=Y1DR_Js}-4yiLn>=i+2DxD1d-stPoqH0?$c?n~M_g3+{4sa9DS|weEYH4tX%f`RC4>4N32`)rAE6%m5&c@t(H;#T?dVPq~)39UAu$3JRhX2 zE?K_)>=CvRO)60#zCNvd9zX9##sbpGJ$0ePPj5HiRKK)GFk_ib=xqh+UUj zP1oX>AD*pn#hU?W=o()r@2%Q+`RUI|V!Rd!J4NFCdEME%NF!cFN`8mr@@%L6cv7op z8mMc?ke4FJp8vdRnZ`@*;!DngzQiFi(M7#0|35`zI{-F}O+UAjQ&mj<`%uaJwoV_p zP0~`8_TSZ{{=ct6pa|c6eYf_ee5D!3@8j*`ja94mf10v$7O$}3prtRE^W`rGrR(m> z%?4exYBiJp6w}7;B=Jgnr9vU4*u)3oIrnWqQ`1>U?M5bql{ghB#=_e9Qy?0wM-U|Z z4!2kixEm+lUtMY#<9V>D1)f9FjcQDZ;O2Q&x6FyO+twSFx8SorGett%3qSER~x=kJc-VjO2u zd%bm^+O6cs@x72JE0N`J~m~kzIJ9qQPXRdd{PT<6|Mxv;bpHk|{;%n0Gf0jWR~*Ji T-3oqq4(XlH*Dlbs3Hkp3K?TpA literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/kernel/figures/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-0.png" "b/zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-17.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-0.png" rename to "zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-17.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213.png" "b/zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213.png" rename to "zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\344\277\241\346\201\257.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\344\277\241\346\201\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\344\277\241\346\201\257.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\344\277\241\346\201\257.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\345\275\223\345\211\215\350\267\257\345\276\204.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\350\267\257\345\276\204.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\345\275\223\345\211\215\350\267\257\345\276\204.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\350\267\257\345\276\204.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\347\211\251\347\220\206\351\241\265\344\275\277\347\224\250\346\203\205\345\206\265.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\347\211\251\347\220\206\351\241\265\344\275\277\347\224\250\346\203\205\345\206\265.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\347\211\251\347\220\206\351\241\265\344\275\277\347\224\250\346\203\205\345\206\265.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\347\211\251\347\220\206\351\241\265\344\275\277\347\224\250\346\203\205\345\206\265.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\347\263\273\347\273\237\350\265\204\346\272\220\344\275\277\347\224\250\346\203\205\345\206\265.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\347\263\273\347\273\237\350\265\204\346\272\220\344\275\277\347\224\250\346\203\205\345\206\265.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\347\263\273\347\273\237\350\265\204\346\272\220\344\275\277\347\224\250\346\203\205\345\206\265.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\347\263\273\347\273\237\350\265\204\346\272\220\344\275\277\347\224\250\346\203\205\345\206\265.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\344\273\273\345\212\241\351\203\250\345\210\206\344\277\241\346\201\257.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\344\273\273\345\212\241\351\203\250\345\210\206\344\277\241\346\201\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\344\273\273\345\212\241\351\203\250\345\210\206\344\277\241\346\201\257.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\344\273\273\345\212\241\351\203\250\345\210\206\344\277\241\346\201\257.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\345\257\271\345\272\224-ID-\347\232\204\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\344\277\241\346\201\257.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\345\257\271\345\272\224-ID-\347\232\204\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\344\277\241\346\201\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\345\257\271\345\272\224-ID-\347\232\204\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\344\277\241\346\201\257.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\345\257\271\345\272\224-ID-\347\232\204\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\344\277\241\346\201\257.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\346\211\200\346\234\211\345\234\250\347\224\250\347\232\204\344\277\241\345\217\267\351\207\217\344\277\241\346\201\257.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\346\211\200\346\234\211\345\234\250\347\224\250\347\232\204\344\277\241\345\217\267\351\207\217\344\277\241\346\201\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\346\211\200\346\234\211\345\234\250\347\224\250\347\232\204\344\277\241\345\217\267\351\207\217\344\277\241\346\201\257.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\346\211\200\346\234\211\345\234\250\347\224\250\347\232\204\344\277\241\345\217\267\351\207\217\344\277\241\346\201\257.png" diff --git "a/zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\346\211\200\346\234\211\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\347\233\270\345\205\263\344\277\241\346\201\257.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\346\211\200\346\234\211\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\347\233\270\345\205\263\344\277\241\346\201\257.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\346\237\245\350\257\242\346\211\200\346\234\211\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\347\233\270\345\205\263\344\277\241\346\201\257.png" rename to "zh-cn/device-dev/kernel/figure/\346\237\245\350\257\242\346\211\200\346\234\211\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250\347\233\270\345\205\263\344\277\241\346\201\257.png" diff --git "a/zh-cn/device-dev/kernel/figures/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" "b/zh-cn/device-dev/kernel/figure/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" rename to "zh-cn/device-dev/kernel/figure/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" diff --git "a/zh-cn/device-dev/kernel/figures/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" "b/zh-cn/device-dev/kernel/figure/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" rename to "zh-cn/device-dev/kernel/figure/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" diff --git "a/zh-cn/device-dev/kernel/figures/\347\272\277\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\347\272\277\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\347\272\277\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" rename to "zh-cn/device-dev/kernel/figure/\347\272\277\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/kernel/figures/\350\276\223\345\205\245-telnet-on.png" "b/zh-cn/device-dev/kernel/figure/\350\276\223\345\205\245-telnet-on.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\350\276\223\345\205\245-telnet-on.png" rename to "zh-cn/device-dev/kernel/figure/\350\276\223\345\205\245-telnet-on.png" diff --git "a/zh-cn/device-dev/kernel/figures/\350\277\233\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\350\277\233\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/figures/\350\277\233\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" rename to "zh-cn/device-dev/kernel/figure/\350\277\233\347\250\213\347\212\266\346\200\201\350\277\201\347\247\273\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/kernel/figure/\351\235\231\346\200\201\345\206\205\345\255\230\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figure/\351\235\231\346\200\201\345\206\205\345\255\230\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..f7ffdd153fcfffcc4fdf97a51b66c11c502c6a9c GIT binary patch literal 25459 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 HooD|GN*QnQ diff --git "a/zh-cn/device-dev/kernel/figures/\344\273\273\345\212\241\347\212\266\346\200\201\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figures/\344\273\273\345\212\241\347\212\266\346\200\201\347\244\272\346\204\217\345\233\276.png" deleted file mode 100644 index cf0684595b4e7b07dfebf6c55c867a97e1e71663..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51242 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 N0#8>zmvv4FO#q=`=f?m5 diff --git "a/zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\351\207\217\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figures/\344\277\241\345\217\267\351\207\217\350\277\220\344\275\234\347\244\272\346\204\217\345\233\276.png" deleted file mode 100644 index fc4591567b7f1643e1c065df5860af3e7aff2a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45092 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 z 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

    mm*8U!Ft&0kuyrO_;T0h8A@@w95})!l9TG2w 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 diff --git "a/zh-cn/device-dev/kernel/figures/\345\206\205\346\240\270\345\220\257\345\212\250\346\265\201\347\250\213.png" "b/zh-cn/device-dev/kernel/figures/\345\206\205\346\240\270\345\220\257\345\212\250\346\265\201\347\250\213.png" deleted file mode 100644 index cb86acd9c05059302f21ac10a3d8604b6e742652..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41391 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 diff --git "a/zh-cn/device-dev/kernel/figures/\345\212\250\346\200\201\345\206\205\345\255\230\347\256\241\347\220\206\347\273\223\346\236\204\345\233\276.png" "b/zh-cn/device-dev/kernel/figures/\345\212\250\346\200\201\345\206\205\345\255\230\347\256\241\347\220\206\347\273\223\346\236\204\345\233\276.png" deleted file mode 100644 index 96a1c33d124ad5cd67afa331154840ad7b59c9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32118 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 B6VCtu diff --git "a/zh-cn/device-dev/kernel/figures/\345\240\206\346\240\210\345\210\206\346\236\220\345\216\237\347\220\206\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figures/\345\240\206\346\240\210\345\210\206\346\236\220\345\216\237\347\220\206\347\244\272\346\204\217\345\233\276.png" deleted file mode 100644 index ce4103b3f82838d3593e7d04523b402b4283effa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28092 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 diff --git "a/zh-cn/device-dev/kernel/figures/\351\235\231\346\200\201\345\206\205\345\255\230\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/kernel/figures/\351\235\231\346\200\201\345\206\205\345\255\230\347\244\272\346\204\217\345\233\276.png" deleted file mode 100644 index b21c09ee49ceda81474ce085aae1f67feea17f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16217 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 FKL8U%JnaAg diff --git "a/zh-cn/device-dev/kernel/\346\227\266\351\227\264\347\256\241\347\220\206.md" b/zh-cn/device-dev/kernel/kernel-lite-basic-mini-time.md similarity index 32% rename from "zh-cn/device-dev/kernel/\346\227\266\351\227\264\347\256\241\347\220\206.md" rename to zh-cn/device-dev/kernel/kernel-lite-basic-mini-time.md index 967a229499e..1cded0a67f9 100644 --- "a/zh-cn/device-dev/kernel/\346\227\266\351\227\264\347\256\241\347\220\206.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-basic-mini-time.md @@ -1,7 +1,7 @@ # 时间管理 -- **[基本概念](基本概念-13.md)** +- **[基本概念](kernel-lite-mini-basic-time-basic.md)** -- **[开发指导](开发指导-14.md)** +- **[开发指导](kernel-lite-mini-basic-time-guide.md)** diff --git "a/zh-cn/device-dev/kernel/\345\206\205\346\240\270\347\274\226\347\240\201\350\247\204\350\214\203.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-app-code.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\206\205\346\240\270\347\274\226\347\240\201\350\247\204\350\214\203.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-app-code.md diff --git "a/zh-cn/device-dev/kernel/\345\217\214\345\220\221\351\223\276\350\241\250.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-app-data-list.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\217\214\345\220\221\351\223\276\350\241\250.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-app-data-list.md index 8b9323d6187..d219cc86b00 100644 --- "a/zh-cn/device-dev/kernel/\345\217\214\345\220\221\351\223\276\350\241\250.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-app-data-list.md @@ -120,7 +120,7 @@ 5. 调用LOS\_ListEmpty判断链表是否为空。 6. 调用LOS\_ListDelInit删除指定节点并以此节点初始化链表。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 需要注意节点指针前后方向的操作。 >- 链表操作接口,为底层接口,不对入参进行判空,需要使用者确保传参合法。 >- 如果链表节点的内存是动态申请的,删除节点时,要注意释放内存。 diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\225\260\346\215\256\347\273\223\346\236\204.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-app-data.md similarity index 52% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\225\260\346\215\256\347\273\223\346\236\204.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-app-data.md index 5464ca3ceec..78fda11861f 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\225\260\346\215\256\347\273\223\346\236\204.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-app-data.md @@ -1,5 +1,5 @@ # 基本数据结构 -- **[双向链表](双向链表.md)** +- **[双向链表](kernel-lite-mini-app-data-list.md)** diff --git "a/zh-cn/device-dev/kernel/CMSIS\346\224\257\346\214\201.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-cmsis.md similarity index 99% rename from "zh-cn/device-dev/kernel/CMSIS\346\224\257\346\214\201.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-cmsis.md index 4f64bc6b8ca..fb77b086298 100644 --- "a/zh-cn/device-dev/kernel/CMSIS\346\224\257\346\214\201.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-cmsis.md @@ -457,7 +457,7 @@ CMSIS-RTOS2组件可以作为库或源代码提供(下图显示了库)。通 静态对象分配需要访问RTOS对象控制块定义。特定于实现的头文件(下图中的os\_xx .h)提供对此类控制块定义的访问。对于OpenHarmony LiteOS-M内核,由文件名以los\_开头的头文件提供,这些文件包含OpenHarmony LiteOS-M内核的这些定义。 -![](figures/zh-cn_image_0000001121429646.png) +![](figure/zh-cn_image_0000001132778524.png) ### 编程实例 diff --git "a/zh-cn/device-dev/kernel/POSIX\346\224\257\346\214\201.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-posix.md similarity index 100% rename from "zh-cn/device-dev/kernel/POSIX\346\224\257\346\214\201.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-app-lib-posix.md diff --git "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223\346\224\257\346\214\201.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-app-lib.md similarity index 35% rename from "zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223\346\224\257\346\214\201.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-app-lib.md index 7522c305c5e..b2f157ae194 100644 --- "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223\346\224\257\346\214\201.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-app-lib.md @@ -1,7 +1,7 @@ # 标准库支持 -- **[CMSIS支持](CMSIS支持.md)** +- **[CMSIS支持](kernel-lite-mini-app-lib-cmsis.md)** -- **[POSIX支持](POSIX支持.md)** +- **[POSIX支持](kernel-lite-mini-app-lib-posix.md)** diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-app.md b/zh-cn/device-dev/kernel/kernel-lite-mini-app.md new file mode 100644 index 00000000000..1d46fa1186b --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-app.md @@ -0,0 +1,9 @@ +# 附录 + +- **[内核编码规范](kernel-lite-mini-app-code.md)** + +- **[基本数据结构](kernel-lite-mini-app-data.md)** + +- **[标准库支持](kernel-lite-mini-app-lib.md)** + + diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-concept.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-concept.md diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-guide.md index c97dfdd3f24..346332358b3 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt-guide.md @@ -61,7 +61,7 @@ OpenHarmony LiteOS-M内核的中断模块提供下面几种功能,接口详细 2. 调用TestHwiTrigger接口触发指定中断(该接口在测试套中定义,通过写中断控制器的相关寄存器模拟外部中断,一般的外设设备,不需要执行这一步)。 3. 调用HalHwiDelete接口删除指定中断,此接口根据实际情况使用,判断是否需要删除中断。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 根据具体硬件,配置支持的最大中断数及可设置的中断优先级个数。 >- 中断处理程序耗时不能过长,否则会影响CPU对中断的及时响应。 >- 中断响应过程中不能直接、间接执行引起调度的LOS\_Schedule等函数。 diff --git "a/zh-cn/device-dev/kernel/\344\270\255\346\226\255\347\256\241\347\220\206.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt.md similarity index 31% rename from "zh-cn/device-dev/kernel/\344\270\255\346\226\255\347\256\241\347\220\206.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt.md index 29edaf0e1e6..3b10c0482f6 100644 --- "a/zh-cn/device-dev/kernel/\344\270\255\346\226\255\347\256\241\347\220\206.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-interrupt.md @@ -1,7 +1,7 @@ # 中断管理 -- **[基本概念](基本概念.md)** +- **[基本概念](kernel-lite-mini-basic-interrupt-concept.md)** -- **[开发指导](开发指导.md)** +- **[开发指导](kernel-lite-mini-basic-interrupt-guide.md)** diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-6.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-basic.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-6.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-basic.md index 6869a792fd8..91a6c20c0e1 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-6.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-basic.md @@ -80,7 +80,7 @@ 5. 处理事件控制块 6. 事件控制块销毁 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 进行事件读写操作时,事件的第25位为保留位,不可以进行位设置。 >- 对同一事件反复写入,算作一次写入。 diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-5.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-guide.md similarity index 97% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-5.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-guide.md index a96f943c8d8..47befc62231 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-5.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event-guide.md @@ -48,5 +48,5 @@ LOS\_WAITMODE\_CLR:事件读取成功后,对应读取到的事件会被清 **事件销毁:**销毁指定的事件控制块。 **图 1** 事件运作原理图 -![](figures/事件运作原理图.png "事件运作原理图") +![](figure/事件运作原理图.png "事件运作原理图") diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event.md b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event.md new file mode 100644 index 00000000000..4f18b019229 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-event.md @@ -0,0 +1,7 @@ +# 事件 + +- **[基本概念](kernel-lite-mini-basic-ipc-event-guide.md)** + +- **[开发指导](kernel-lite-mini-basic-ipc-event-basic.md)** + + diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-7.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-basic.md similarity index 95% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-7.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-basic.md index 4989a0b93ed..1d297346248 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-7.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-basic.md @@ -15,5 +15,5 @@ 用互斥锁处理非共享资源的同步访问时,如果有任务访问该资源,则互斥锁为加锁状态。此时其他任务如果想访问这个公共资源则会被阻塞,直到互斥锁被持有该锁的任务释放后,其他任务才能重新访问该公共资源,此时互斥锁再次上锁,如此确保同一时刻只有一个任务正在访问这个公共资源,保证了公共资源操作的完整性。 **图 1** 互斥锁运作示意图 -![](figures/互斥锁运作示意图.png "互斥锁运作示意图") +![](figure/互斥锁运作示意图.png "互斥锁运作示意图") diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-8.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-8.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-guide.md index a194bc9e585..053174daa32 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-8.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex-guide.md @@ -67,7 +67,7 @@ 4. 删除互斥锁LOS\_MuxDelete。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 两个任务不能对同一把互斥锁加锁。如果某任务对已被持有的互斥锁加锁,则该任务会被挂起,直到持有该锁的任务对互斥锁解锁,才能执行对这把互斥锁的加锁操作。 >- 互斥锁不能在中断服务程序中使用。 >- LiteOS-M内核作为实时操作系统需要保证任务调度的实时性,尽量避免任务的长时间阻塞,因此在获得互斥锁之后,应该尽快释放互斥锁。 diff --git "a/zh-cn/device-dev/kernel/\344\272\222\346\226\245\351\224\201.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex.md similarity index 30% rename from "zh-cn/device-dev/kernel/\344\272\222\346\226\245\351\224\201.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex.md index ce0ea2949c4..e081c415442 100644 --- "a/zh-cn/device-dev/kernel/\344\272\222\346\226\245\351\224\201.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-mutex.md @@ -1,7 +1,7 @@ # 互斥锁 -- **[基本概念](基本概念-7.md)** +- **[基本概念](kernel-lite-mini-basic-ipc-mutex-basic.md)** -- **[开发指导](开发指导-8.md)** +- **[开发指导](kernel-lite-mini-basic-ipc-mutex-guide.md)** diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-9.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-basic.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-9.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-basic.md index 90541dda60a..06f38749def 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-9.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-basic.md @@ -61,7 +61,7 @@ typedef struct 图 1 队列读写数据操作示意图 -![](figures/zh-cn_image_0000001124146302.png) +![](figure/zh-cn_image_0000001132935054.png) 上图对读写队列做了示意,图中只画了尾节点写入方式,没有画头节点写入,但是两者是类似的。 diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-10.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-10.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-guide.md index c521fd755d1..6c161853b66 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-10.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue-guide.md @@ -83,7 +83,7 @@ 4. 通过LOS\_QueueInfoGet获取队列信息。 5. 通过LOS\_QueueDelete删除队列。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 系统支持的最大队列数是指:整个系统的队列资源总个数,而非用户能使用的个数。例如:系统软件定时器多占用一个队列资源,那么用户能使用的队列资源就会减少一个。 >- 创建队列时传入的队列名和flags暂时未使用,作为以后的预留参数。 >- 队列接口函数中的入参timeOut是相对时间。 diff --git "a/zh-cn/device-dev/kernel/\346\266\210\346\201\257\351\230\237\345\210\227.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue.md similarity index 31% rename from "zh-cn/device-dev/kernel/\346\266\210\346\201\257\351\230\237\345\210\227.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue.md index 3a564001563..a2780339615 100644 --- "a/zh-cn/device-dev/kernel/\346\266\210\346\201\257\351\230\237\345\210\227.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-queue.md @@ -1,7 +1,7 @@ # 消息队列 -- **[基本概念](基本概念-9.md)** +- **[基本概念](kernel-lite-mini-basic-ipc-queue-basic.md)** -- **[开发指导](开发指导-10.md)** +- **[开发指导](kernel-lite-mini-basic-ipc-queue-guide.md)** diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-11.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-basic.md similarity index 97% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-11.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-basic.md index dd72ce5e104..79c4d7e6f57 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-11.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-basic.md @@ -49,5 +49,5 @@ typedef struct { 信号量允许多个任务在同一时刻访问共享资源,但会限制同一时刻访问此资源的最大任务数目。当访问资源的任务数达到该资源允许的最大数量时,会阻塞其他试图获取该资源的任务,直到有任务释放该信号量。 **图 1** 信号量运作示意图 -![](figures/信号量运作示意图.png "信号量运作示意图") +![](figure/信号量运作示意图.png "信号量运作示意图") diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-12.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-12.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-guide.md index 4a483b33917..81715063b36 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-12.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem-guide.md @@ -58,7 +58,7 @@ 3. 释放信号量LOS\_SemPost。 4. 删除信号量LOS\_SemDelete。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >由于中断不能被阻塞,因此不能在中断中使用阻塞模式申请信号量。 ## 编程实例 diff --git "a/zh-cn/device-dev/kernel/\344\277\241\345\217\267\351\207\217.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem.md similarity index 30% rename from "zh-cn/device-dev/kernel/\344\277\241\345\217\267\351\207\217.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem.md index 6eb88eb04b6..1b1afc6945e 100644 --- "a/zh-cn/device-dev/kernel/\344\277\241\345\217\267\351\207\217.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc-sem.md @@ -1,7 +1,7 @@ # 信号量 -- **[基本概念](基本概念-11.md)** +- **[基本概念](kernel-lite-mini-basic-ipc-sem-basic.md)** -- **[开发指导](开发指导-12.md)** +- **[开发指导](kernel-lite-mini-basic-ipc-sem-guide.md)** diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc.md b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc.md new file mode 100644 index 00000000000..2acba70e2f9 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-ipc.md @@ -0,0 +1,11 @@ +# 内核通信机制 + +- **[事件](kernel-lite-mini-basic-ipc-event.md)** + +- **[互斥锁](kernel-lite-mini-basic-ipc-mutex.md)** + +- **[消息队列](kernel-lite-mini-basic-ipc-queue.md)** + +- **[信号量](kernel-lite-mini-basic-ipc-sem.md)** + + diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-4.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-basic.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-4.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-basic.md diff --git "a/zh-cn/device-dev/kernel/\345\212\250\346\200\201\345\206\205\345\255\230.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-dynamic.md similarity index 98% rename from "zh-cn/device-dev/kernel/\345\212\250\346\200\201\345\206\205\345\255\230.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-dynamic.md index 05922df9f79..c9f32f97ad1 100644 --- "a/zh-cn/device-dev/kernel/\345\212\250\346\200\201\345\206\205\345\255\230.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-dynamic.md @@ -16,7 +16,7 @@ OpenHarmony LiteOS-M动态内存在TLSF算法的基础上,对区间的划分进行了优化,获得更优的性能,降低了碎片率。动态内存核心算法框图如下: **图 1** 动态内存核心算法 -![](figures/动态内存核心算法.png "动态内存核心算法") +![](figure/动态内存核心算法.png "动态内存核心算法") 根据空闲内存块的大小,使用多个空闲链表来管理。根据内存空闲块大小分为两个部分:\[4, 127\]和\[27, 231\],如上图size class所示: @@ -28,7 +28,7 @@ OpenHarmony LiteOS-M动态内存在TLSF算法的基础上,对区间的划分 内存管理结构如下图所示: **图 2** 动态内存管理结构图 -![](figures/动态内存管理结构图.png "动态内存管理结构图") +![](figure/动态内存管理结构图.png "动态内存管理结构图") - 内存池池头部分 @@ -138,7 +138,7 @@ OpenHarmony LiteOS-M的动态内存管理主要为用户提供以下功能,接

    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 由于动态内存管理需要管理控制块数据结构来管理内存,这些数据结构会额外消耗内存,故实际用户可使用内存总量小于配置项OS\_SYS\_MEM\_SIZE的大小。 >- 对齐分配内存接口LOS\_MemAllocAlign/LOS\_MemMallocAlign因为要进行地址对齐,可能会额外消耗部分内存,故存在一些遗失内存,当系统释放该对齐内存时,同时回收由于对齐导致的遗失内存。 diff --git "a/zh-cn/device-dev/kernel/\351\235\231\346\200\201\345\206\205\345\255\230.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-static.md similarity index 98% rename from "zh-cn/device-dev/kernel/\351\235\231\346\200\201\345\206\205\345\255\230.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-static.md index 090cea4a0d0..b52510e80b5 100644 --- "a/zh-cn/device-dev/kernel/\351\235\231\346\200\201\345\206\205\345\255\230.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory-static.md @@ -16,7 +16,7 @@ 静态内存池由一个控制块LOS\_MEMBOX\_INFO和若干相同大小的内存块LOS\_MEMBOX\_NODE构成。控制块位于内存池头部,用于内存块管理,包含内存块大小uwBlkSize,内存块数量uwBlkNum,已分配使用的内存块数量uwBlkCnt和空闲内存块链表stFreeList。内存块的申请和释放以块大小为粒度,每个内存块包含指向下一个内存块的指针pstNext。 **图 1** 静态内存示意图 -![](figures/静态内存示意图.png "静态内存示意图") +![](figure/静态内存示意图.png "静态内存示意图") ## 开发指导 @@ -80,7 +80,7 @@ OpenHarmony LiteOS-M的静态内存管理主要为用户提供以下功能,接
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >初始化后的内存池的内存块数量,不等于总大小除于内存块大小,因为内存池的控制块和每个内存块的控制头,都存在内存开销,设置总大小时,需要将这些因素考虑进去。 ### 开发流程 diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory.md b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory.md new file mode 100644 index 00000000000..e0f1da7e357 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-memory.md @@ -0,0 +1,9 @@ +# 内存管理 + +- **[基本概念](kernel-lite-mini-basic-memory-basic.md)** + +- **[静态内存](kernel-lite-mini-basic-memory-static.md)** + +- **[动态内存](kernel-lite-mini-basic-memory-dynamic.md)** + + diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-15.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-basic.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-15.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-basic.md diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-16.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-16.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-guide.md index 37753d3a43a..0e9f963c0c6 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-16.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft-guide.md @@ -75,7 +75,7 @@ OpenHarmony LiteOS-M内核的软件定时器模块提供下面几种功能,接 5. 停止定时器LOS\_SwtmrStop。 6. 删除定时器LOS\_SwtmrDelete。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 软件定时器的回调函数中不要做过多操作,不要使用可能引起任务挂起或者阻塞的接口或操作。 >- 软件定时器使用了系统的一个队列和一个任务资源,软件定时器任务的优先级设定为0,且不允许修改 。 >- 系统可配置的软件定时器资源个数是指:整个系统可使用的软件定时器资源总个数,而并非是用户可使用的软件定时器资源个数。例如:系统软件定时器多占用一个软件定时器资源数,那么用户能使用的软件定时器资源就会减少一个。 diff --git "a/zh-cn/device-dev/kernel/\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft.md similarity index 34% rename from "zh-cn/device-dev/kernel/\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft.md index 903970bdd61..0aef7971458 100644 --- "a/zh-cn/device-dev/kernel/\350\275\257\344\273\266\345\256\232\346\227\266\345\231\250.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-soft.md @@ -1,7 +1,7 @@ # 软件定时器 -- **[基本概念](基本概念-15.md)** +- **[基本概念](kernel-lite-mini-basic-soft-basic.md)** -- **[开发指导](开发指导-16.md)** +- **[开发指导](kernel-lite-mini-basic-soft-guide.md)** diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-2.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-basic.md similarity index 98% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-2.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-basic.md index db5ae0ccd5e..074596f4011 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-2.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-basic.md @@ -29,7 +29,7 @@ OpenHarmony LiteOS-M的任务模块可以给用户提供多个任务,实现任 **任务状态迁移** **图 1** 任务状态示意图 -![](figures/任务状态示意图.png "任务状态示意图") +![](figure/任务状态示意图.png "任务状态示意图") **任务状态迁移说明:** diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-guide.md index ee4e2944bc7..6b42cf5b4a9 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-3.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-task-guide.md @@ -164,7 +164,7 @@ OpenHarmony LiteOS-M内核的任务管理模块提供下面几种功能,接口 5. 挂起指定的任务LOS\_TaskSuspend,任务挂起等待恢复操作。 6. 恢复挂起的任务LOS\_TaskResume。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 执行Idle任务时,会对待回收链表中的任务控制块和任务栈进行回收。 >- 任务名是指针,并没有分配空间,在设置任务名时,禁止将局部变量的地址赋值给任务名指针。 >- 任务栈的大小按8字节大小对齐。确定任务栈大小的原则是,够用就行,多了浪费,少了任务栈溢出。 diff --git "a/zh-cn/device-dev/kernel/\344\273\273\345\212\241\347\256\241\347\220\206.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-task.md similarity index 32% rename from "zh-cn/device-dev/kernel/\344\273\273\345\212\241\347\256\241\347\220\206.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-task.md index 22165d0c36e..8ca91b1f10c 100644 --- "a/zh-cn/device-dev/kernel/\344\273\273\345\212\241\347\256\241\347\220\206.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-task.md @@ -1,7 +1,7 @@ # 任务管理 -- **[基本概念](基本概念-2.md)** +- **[基本概念](kernel-lite-mini-basic-task-basic.md)** -- **[开发指导](开发指导-3.md)** +- **[开发指导](kernel-lite-mini-basic-task-guide.md)** diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-13.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-basic.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-13.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-basic.md diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-14.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-guide.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-14.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-guide.md index 46c7d87b7cb..a0328b1c7dd 100644 --- "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-14.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic-time-guide.md @@ -76,7 +76,7 @@ OpenHarmony LiteOS-M内核的时间管理提供下面几种功能,接口详细 1. 根据实际需求,完成板级配置适配,并配置系统主时钟频率OS\_SYS\_CLOCK(单位Hz)和LOSCFG\_BASE\_CORE\_TICK\_PER\_SECOND。OS\_SYS\_CLOCK的默认值基于硬件平台配置。 2. 调用时钟转换/统计接口。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 时间管理不是单独的功能模块,依赖于OS\_SYS\_CLOCK和LOSCFG\_BASE\_CORE\_TICK\_PER\_SECOND两个配置选项。 >- 系统的Tick数在关中断的情况下不进行计数,故系统Tick数不能作为准确时间使用。 >- 配置选项维护在开发板工程的文件target\_config.h。 diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-basic.md b/zh-cn/device-dev/kernel/kernel-lite-mini-basic.md new file mode 100644 index 00000000000..fd6774bee47 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-basic.md @@ -0,0 +1,15 @@ +# 基础内核 + +- **[中断管理](kernel-lite-mini-basic-interrupt.md)** + +- **[任务管理](kernel-lite-mini-basic-task.md)** + +- **[内存管理](kernel-lite-mini-basic-memory.md)** + +- **[内核通信机制](kernel-lite-mini-basic-ipc.md)** + +- **[时间管理](kernel-lite-basic-mini-time.md)** + +- **[软件定时器](kernel-lite-mini-basic-soft.md)** + + diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-17.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup-basic.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-17.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup-basic.md diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-18.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup-guide.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-18.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup-guide.md diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup.md b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup.md new file mode 100644 index 00000000000..e49d8a7175b --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-cpup.md @@ -0,0 +1,7 @@ +# CPU占用率 + +- **[基本概念](kernel-lite-mini-extend-cpup-basic.md)** + +- **[开发指导](kernel-lite-mini-extend-cpup-guide.md)** + + diff --git a/zh-cn/device-dev/kernel/FAT-20.md b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-fat.md similarity index 99% rename from zh-cn/device-dev/kernel/FAT-20.md rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-fat.md index 7b8620cb01f..d96f14f3435 100644 --- a/zh-cn/device-dev/kernel/FAT-20.md +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-fat.md @@ -34,7 +34,7 @@ FAT文件系统的使用需要底层MMC相关驱动的支持。在一个带MMC ### 开发流程 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- FATFS文件与目录操作: > - 单个文件大小不超过4G。 > - 支持同时打开的文件数最大为FAT\_MAX\_OPEN\_FILES,文件夹数最大为FAT\_MAX\_OPEN\_DIRS。 diff --git "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-21.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-basic.md similarity index 60% rename from "zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-21.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-basic.md index 310f6014ea2..17423ee5c40 100644 --- "a/zh-cn/device-dev/kernel/\345\237\272\346\234\254\346\246\202\345\277\265-21.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-basic.md @@ -3,31 +3,19 @@ - [运行机制](#section10284121317365) - [日志方式](#section13804114513361) - [Cow机制](#section172771130193610) - - [lfs掉电保护](#section42941021173614) + - [LittleFS掉电保护](#section42941021173614) -LittleFS主要用在微控制器和flash上,是一种嵌入式文件系统,具有如下3个特点: - -1. 掉电恢复 - - 在写入时即使复位或者掉电也可以恢复到上一个正确的状态。 - -2. 擦写均衡 - - 有效延长flash的使用寿命。 - -3. 有限的RAM/ROM - - 节省ROM和RAM空间。 - +LittleFS主要用在微控制器和Flash上,是一种嵌入式文件系统,具有掉电恢复、擦写均衡、节省ROM/RAM空间等特点。 ## 运行机制 -最经典的掉电保护方法有两种,一种是使用日志,一种是通过COW方式。lfs结合了两种方法,并优化了两种方案的缺点,提供了一套掉电保护策略 +最经典的掉电保护方法有两种,一种是使用日志,一种是通过COW方式。LittleFS结合了两种方法,并优化了两种方案的缺点,提供了一套掉电保护策略 ### 日志方式 -![](figures/zh-cn_image_0000001124310992.png) +**图 1** 日志方式示意图 +![](figure/日志方式示意图.png "日志方式示意图") 具体步骤为: @@ -44,7 +32,8 @@ LittleFS主要用在微控制器和flash上,是一种嵌入式文件系统, ### Cow机制 -![](figures/zh-cn_image_0000001170790681.png) +**图 2** Cow机制示意图 +![](figure/Cow机制示意图.png "Cow机制示意图") 具体步骤为: @@ -55,27 +44,28 @@ LittleFS主要用在微控制器和flash上,是一种嵌入式文件系统, 步骤1完成了,步骤2没有完成,则使用旧的数据,新的节点变成孤儿节点。 -### lfs掉电保护 +### LittleFS掉电保护 -fs结合了日志方式和COW机制两种方式进行掉电保护,并且优化了两种方案。 +LittleFS结合了日志方式和COW机制两种方式进行掉电保护,并且优化了两种方案。 -前面谈过文件系统三要素,超级块,inode,以及数据。对应lfs来说,他把超级块以及inode通过日志的方式存储,两种采用统一的存储结构,后文称两者为元数据;普通数据则采用cow的方式存储,采用czt逆序链表的方式。 +文件系统有三要素,超级块,inode,以及数据,对应LittleFS来说,它把超级块以及inode通过日志的方式存储,两种采用统一的存储结构,后文称两者为元数据;普通数据则采用cow的方式存储,采用czt逆序链表的方式。 -![](figures/zh-cn_image_0000001124307264.png) +![](figure/zh-cn_image_0000001124307264.png) **元数据的存储** -![](figures/zh-cn_image_0000001124147160.png) - 元数据(对应root,dir)采用双block的方式存储,互为备份,每个block都有一个revision序号,值越大,表示block的数据越新,每个block默认可以存储最多0xff个文件的数据,如果超过这个值,则需要compact(压缩)。 -Compact是干什么呢? 即当数据的大小大于某个值的时候,把数据整合,剔除同一个id的旧的数据,然后写入到备份block里面。 +Compact是干什么呢? 即当数据的大小大于某个值的时候,把数据整合,剔除同一个id的旧的数据,然后写入到备份block里面。如图所示: + +**图 3** 元数据存储示意图 +![](figure/元数据存储示意图.png "元数据存储示意图") **普通数据的存储** -Lfs的数据采用链表的方式逆向管理。 +LittleFS的数据采用链表的方式逆向管理。 -![](figures/zh-cn_image_0000001124306828.png) +![](figure/zh-cn_image_0000001132085260.png) 1. 采用逆向的指针,这样常规的追加数据,不需要额外的开销来重新建立所有的索引; 2. 每个偶数block有多个指针,指向更远的数据,这样可以在检索的时候加快速度。 diff --git "a/zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-22.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-guide.md similarity index 100% rename from "zh-cn/device-dev/kernel/\345\274\200\345\217\221\346\214\207\345\257\274-22.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit-guide.md diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit.md b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit.md new file mode 100644 index 00000000000..b0ffac3d679 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file-lit.md @@ -0,0 +1,7 @@ +# LittleFS + +- **[基本概念](kernel-lite-mini-extend-file-lit-basic.md)** + +- **[开发指导](kernel-lite-mini-extend-file-lit-guide.md)** + + diff --git "a/zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237-19.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file.md similarity index 99% rename from "zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237-19.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-file.md index ba10ab39c51..c7ee5fabfdc 100644 --- "a/zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237-19.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-file.md @@ -197,8 +197,8 @@
    -- **[FAT](FAT-20.md)** +- **[FAT](kernel-lite-mini-extend-file-fat.md)** -- **[LittleFS](LittleFS.md)** +- **[LittleFS](kernel-lite-mini-extend-file-lit.md)** diff --git "a/zh-cn/device-dev/kernel/C++\346\224\257\346\214\201.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-support.md similarity index 98% rename from "zh-cn/device-dev/kernel/C++\346\224\257\346\214\201.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-extend-support.md index 86080372577..c0b1ed52914 100644 --- "a/zh-cn/device-dev/kernel/C++\346\224\257\346\214\201.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend-support.md @@ -68,7 +68,7 @@ C++代码的识别主要由编译器支持,系统主要对全局对象进行
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >调用该函数时,一定要在c++业务前。另外部分与系统资源强相关的类或接口,如std::thread,std::mutex等,在三方编译器使用的c库非musl c时,存在兼容性问题,不建议使用。 ### 编程实例 diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-extend.md b/zh-cn/device-dev/kernel/kernel-lite-mini-extend.md new file mode 100644 index 00000000000..1d413abe902 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-extend.md @@ -0,0 +1,9 @@ +# 扩展组件 + +- **[C++支持](kernel-lite-mini-extend-support.md)** + +- **[CPU占用率](kernel-lite-mini-extend-cpup.md)** + +- **[文件系统](kernel-lite-mini-extend-file.md)** + + diff --git "a/zh-cn/device-dev/kernel/\350\270\251\345\206\205\345\255\230\346\243\200\346\265\213.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-cet.md similarity index 98% rename from "zh-cn/device-dev/kernel/\350\270\251\345\206\205\345\255\230\346\243\200\346\265\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-cet.md index ab5d4101a00..20a2b532d3a 100644 --- "a/zh-cn/device-dev/kernel/\350\270\251\345\206\205\345\255\230\346\243\200\346\265\213.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-cet.md @@ -22,7 +22,7 @@ LOSCFG\_BASE\_MEM\_NODE\_INTEGRITY\_CHECK:开关宏,默认关闭;若打开 由于该功能只会检测出哪个内存节点被破坏了,并给出前节点信息(因为内存分布是连续的,当前节点最有可能被前节点破坏)。如果要进一步确认前节点在哪里申请的,需开启内存泄漏检测功能,通过LR记录,辅助定位。 ->![](public_sys-resources/icon-caution.gif) **注意:** +>![](../public_sys-resources/icon-caution.gif) **注意:** >开启该功能,节点头多了魔鬼数字字段,会增大节点头大小。由于实时检测完整性,故性能影响较大;若性能敏感的场景,可以不开启该功能,使用LOS\_MemIntegrityCheck接口检测。 ## 开发指导 diff --git "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\346\263\204\346\274\217\346\243\200\346\265\213.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-det.md similarity index 98% rename from "zh-cn/device-dev/kernel/\345\206\205\345\255\230\346\263\204\346\274\217\346\243\200\346\265\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-det.md index 5c57178e507..7f49df4fc87 100644 --- "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\346\263\204\346\274\217\346\243\200\346\265\213.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-det.md @@ -43,7 +43,7 @@ node size LR[0] LR[1] LR[2] 0x100179cc: 0x5c 0x9b02c24e 0x9b02c246 0x9b008ef0 ``` ->![](public_sys-resources/icon-caution.gif) **注意:** +>![](../public_sys-resources/icon-caution.gif) **注意:** >开启内存检测会影响内存申请的性能,且每个内存节点都会记录LR地址,内存开销也加大。 ### 编程实例 diff --git "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\344\277\241\346\201\257\347\273\237\350\256\241.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-mes.md similarity index 95% rename from "zh-cn/device-dev/kernel/\345\206\205\345\255\230\344\277\241\346\201\257\347\273\237\350\256\241.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-mes.md index f0dce32252a..0dd4f930425 100644 --- "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\344\277\241\346\201\257\347\273\237\350\256\241.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug-mes.md @@ -17,7 +17,7 @@ - 碎片率:衡量内存池的碎片化程度,碎片率高表现为内存池剩余内存很多,但是最大空闲内存块很小,可以用公式(fragment=100-最大空闲内存块大小/剩余内存大小)来度量; -- 其他参数:通过调用接口(详见[内存管理](内存管理.md)章节接口说明),扫描内存池的节点信息,统计出相关信息。 +- 其他参数:通过调用接口(详见[内存管理](kernel-lite-mini-basic-memory.md)章节接口说明),扫描内存池的节点信息,统计出相关信息。 ## 功能配置 diff --git "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\350\260\203\346\265\213.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug.md similarity index 70% rename from "zh-cn/device-dev/kernel/\345\206\205\345\255\230\350\260\203\346\265\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug.md index 82555bc8620..0c4474cd15e 100644 --- "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\350\260\203\346\265\213.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-debug.md @@ -2,10 +2,10 @@ 内存调测方法旨在辅助定位动态内存相关问题,提供了基础的动态内存池信息统计手段,向用户呈现内存池水线、碎片率等信息;提供了内存泄漏检测手段,方便用户准确定位存在内存泄漏的代码行,也可以辅助分析系统各个模块内存的使用情况;提供了踩内存检测手段,可以辅助定位越界踩内存的场景。 -- **[内存信息统计](内存信息统计.md)** +- **[内存信息统计](kernel-lite-mini-inner-debug-mes.md)** -- **[内存泄漏检测](内存泄漏检测.md)** +- **[内存泄漏检测](kernel-lite-mini-inner-debug-det.md)** -- **[踩内存检测](踩内存检测.md)** +- **[踩内存检测](kernel-lite-mini-inner-debug-cet.md)** diff --git "a/zh-cn/device-dev/kernel/\345\274\202\345\270\270\350\260\203\346\265\213.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-exception.md similarity index 99% rename from "zh-cn/device-dev/kernel/\345\274\202\345\270\270\350\260\203\346\265\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-inner-exception.md index 8e9a050102d..5828d645f13 100644 --- "a/zh-cn/device-dev/kernel/\345\274\202\345\270\270\350\260\203\346\265\213.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-exception.md @@ -21,7 +21,7 @@ OpenHarmony LiteOS-M提供异常接管调测手段,帮助开发者定位分析 堆栈分析原理如下图所示,实际堆栈信息根据不同CPU架构有所差异,此处仅做示意。 **图 1** 堆栈分析原理示意图 -![](figures/堆栈分析原理示意图.png "堆栈分析原理示意图") +![](figure/堆栈分析原理示意图.png "堆栈分析原理示意图") 图中不同颜色的寄存器表示不同的函数。可以看到函数调用过程中,寄存器的保存。通过FP寄存器,栈回溯到异常函数的父函数,继续按照规律对栈进行解析,推出函数调用关系,方便用户定位问题。 diff --git "a/zh-cn/device-dev/kernel/Trace\350\260\203\346\265\213.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-inner-trace.md similarity index 100% rename from "zh-cn/device-dev/kernel/Trace\350\260\203\346\265\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-inner-trace.md diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini-inner.md b/zh-cn/device-dev/kernel/kernel-lite-mini-inner.md new file mode 100644 index 00000000000..63cd8f58de7 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-inner.md @@ -0,0 +1,9 @@ +# 内核调测 + +- **[内存调测](kernel-lite-mini-inner-debug.md)** + +- **[异常调测](kernel-lite-mini-inner-exception.md)** + +- **[Trace调测](kernel-lite-mini-inner-trace.md)** + + diff --git "a/zh-cn/device-dev/kernel/\350\256\244\350\257\206LiteOS-M\345\206\205\346\240\270.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-m.md similarity index 96% rename from "zh-cn/device-dev/kernel/\350\256\244\350\257\206LiteOS-M\345\206\205\346\240\270.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-m.md index 7984b0843bb..3548ae04b61 100644 --- "a/zh-cn/device-dev/kernel/\350\256\244\350\257\206LiteOS-M\345\206\205\346\240\270.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-m.md @@ -1,4 +1,4 @@ -# 认识LiteOS-M内核 +# 内核概述 - [内核简介](#section1429342661510) - [cpu体系架构支持](#section48891456112819) @@ -10,7 +10,7 @@ OpenHarmony LiteOS-M内核是面向IoT领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等。OpenHarmony LiteOS-M内核架构包含硬件相关层以及硬件无关层,如下图所示,其中Kernel Arch模块属于硬件相关层,该模块按不同编译工具链、芯片架构分类,提供统一的HAL(Hardware Abstraction Layer)接口,提升了硬件易适配性,满足AIoT类型丰富的硬件和编译工具链的拓展;Components等其他模块属于硬件无关层,其中Kernel Task等内核模块提供基础能力,Components模块提供网络、文件系统等组件能力,Utils模块提供错误处理、调测等能力,KAL(Kernel Abstraction Layer)模块提供统一的标准接口。 **图 1** 内核架构图 -![](figures/内核架构图.png "内核架构图") +![](figure/内核架构图.png "内核架构图") ### cpu体系架构支持 @@ -58,5 +58,5 @@ LiteOS-M已经支持ARM Cortex-M3、ARM Cortex-M4、ARM Cortex-M7、ARM Cortex-M 在开发板配置文件target\_config.h配置系统时钟、每秒Tick数,可以对任务、内存、IPC、异常处理模块进行裁剪配置。系统启动时,根据配置进行指定模块的初始化。内核启动流程包含外设初始化、系统时钟配置、内核初始化、操作系统启动等,详见内核启动流程图。 **图 2** 内核启动流程 -![](figures/内核启动流程.png "内核启动流程") +![](figure/内核启动流程.png "内核启动流程") diff --git "a/zh-cn/device-dev/kernel/\345\277\253\351\200\237\345\205\245\351\227\250.md" b/zh-cn/device-dev/kernel/kernel-lite-mini-start.md similarity index 77% rename from "zh-cn/device-dev/kernel/\345\277\253\351\200\237\345\205\245\351\227\250.md" rename to zh-cn/device-dev/kernel/kernel-lite-mini-start.md index 53ddc75318f..13cd49841e8 100644 --- "a/zh-cn/device-dev/kernel/\345\277\253\351\200\237\345\205\245\351\227\250.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-mini-start.md @@ -5,15 +5,15 @@ - [获取示例工程源码](#section204717216181) - [编译运行](#section9772514181917) -OpenHarmony LiteOS-M内核的编译构建系统是一个基于gn和ninja的组件化构建系统,支持按组件配置、裁剪和拼装,按需构建出定制化的产品。编译构建系统的详细信息可以参考[编译构建概述](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA%E6%A6%82%E8%BF%B0.md)。本文主要介绍如何基于gn和ninja编译LiteOS-M工程。 +OpenHarmony LiteOS-M内核的编译构建系统是一个基于gn和ninja的组件化构建系统,支持按组件配置、裁剪和拼装,按需构建出定制化的产品。编译构建系统的详细信息可以参考[考编译构建概](../subsystems/subsys-build-mini-lite.md#section10958256161119)。本文主要介绍如何基于gn和ninja编译LiteOS-M工程。 ## 搭建开发环境 -在搭建各个开发板环境前,需要完成OpenHarmony系统基础环境搭建。系统基础环境主要是指OpenHarmony的编译环境和开发环境,详细介绍请参考官方站点[搭建系统基础环境](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/%E6%90%AD%E5%BB%BA%E7%B3%BB%E7%BB%9F%E7%8E%AF%E5%A2%83.md)。开发者需要根据环境搭建文档,完成下述软件的安装:Python3.7+、gn、ninja、hb。对于LiteOS-M内核,还需要安装ARM GCC编译工具链。 +在搭建各个开发板环境前,需要完成OpenHarmony系统基础环境搭建。系统基础环境主要是指OpenHarmony的编译环境和开发环境,详细介绍请参考官方站点[搭建系统基础环境](../quick-start/quickstart-lite-env-setup-des.md)。开发者需要根据环境搭建文档,完成下述软件的安装:Python3.7+、gn、ninja、hb。对于LiteOS-M内核,还需要安装ARM GCC编译工具链。 ## 获取OpenHarmony源码 -开发者需要在Linux服务器上通过Git克隆获取OpenHarmony最新源码,详细的源码获取方式,请见[源码获取](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.md)。获取OpenHarmony完整仓代码后,假设克隆目录为\~/openHarmony。 +开发者需要在Linux服务器上通过Git克隆获取OpenHarmony最新源码,详细的源码获取方式,请见[源码获取](../get-code/sourcecode-acquire.md)。获取OpenHarmony完整仓代码后,假设克隆目录为\~/openHarmony。 ## 获取示例工程源码 diff --git a/zh-cn/device-dev/kernel/kernel-lite-mini.md b/zh-cn/device-dev/kernel/kernel-lite-mini.md new file mode 100644 index 00000000000..f531579ddb9 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-mini.md @@ -0,0 +1,13 @@ +# 轻量系统内核 + +- **[内核概述](kernel-lite-mini-m.md)** + +- **[基础内核](kernel-lite-mini-basic.md)** + +- **[扩展组件](kernel-lite-mini-extend.md)** + +- **[内核调测](kernel-lite-mini-inner.md)** + +- **[附录](kernel-lite-mini-app.md)** + + diff --git a/zh-cn/device-dev/kernel/kernel-lite-small-basic.md b/zh-cn/device-dev/kernel/kernel-lite-small-basic.md new file mode 100644 index 00000000000..d9cac957f99 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-small-basic.md @@ -0,0 +1,11 @@ +# 基础内核 + +- **[进程](kernel-lite-small-process.md)** + +- **[线程](kernel-lite-small-thread.md)** + +- **[内存](kernel-lite-small-memory.md)** + +- **[网络](kernel-lite-small-net.md)** + + diff --git a/zh-cn/device-dev/kernel/FAT.md b/zh-cn/device-dev/kernel/kernel-lite-small-file-fat.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/FAT.md rename to zh-cn/device-dev/kernel/kernel-lite-small-file-fat.md diff --git a/zh-cn/device-dev/kernel/JFFS2.md b/zh-cn/device-dev/kernel/kernel-lite-small-file-jffs.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/JFFS2.md rename to zh-cn/device-dev/kernel/kernel-lite-small-file-jffs.md diff --git a/zh-cn/device-dev/kernel/NFS.md b/zh-cn/device-dev/kernel/kernel-lite-small-file-nfs.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/NFS.md rename to zh-cn/device-dev/kernel/kernel-lite-small-file-nfs.md index d319329c44d..dec5a7023b1 --- a/zh-cn/device-dev/kernel/NFS.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-file-nfs.md @@ -116,7 +116,7 @@ NFS客户端用户,能够将网络远程的NFS服务端分享的目录挂载 该命令将服务器10.67.212.178上的/home/sqbin/nfs目录mount在OpenHarmony内核设备上的/nfs上。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >本例默认nfs server已经配置可用,即示例中服务器10.67.212.178上的/home/sqbin/nfs已配置可访问。 mount命令的格式为: diff --git a/zh-cn/device-dev/kernel/RAMFS.md b/zh-cn/device-dev/kernel/kernel-lite-small-file-ramfs.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/RAMFS.md rename to zh-cn/device-dev/kernel/kernel-lite-small-file-ramfs.md diff --git a/zh-cn/device-dev/kernel/VFS.md b/zh-cn/device-dev/kernel/kernel-lite-small-file-vfs.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/VFS.md rename to zh-cn/device-dev/kernel/kernel-lite-small-file-vfs.md index 0a16319ccd1..c7d197be361 --- a/zh-cn/device-dev/kernel/VFS.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-file-vfs.md @@ -17,7 +17,7 @@ VFS是Virtual File System(虚拟文件系统)的缩写,它不是一个实 由于不同类型的文件系统接口不统一,若系统中有多个文件系统类型,访问不同的文件系统就需要使用不同的非标准接口。而通过在系统中添加VFS层,提供统一的抽象接口,屏蔽了底层异构类型的文件系统的差异,使得访问文件系统的系统调用不用关心底层的存储介质和文件系统类型,提高开发效率。VFS和各个具体文件系统的关系如下: **图 1** VFS和各个文件系统的关系 -![](figures/VFS和各个文件系统的关系.png "VFS和各个文件系统的关系") +![](figure/VFS和各个文件系统的关系.png "VFS和各个文件系统的关系") OpenHarmony内核中,VFS框架是通过在内存中的树结构来实现的,树的每个结点都是一个inode结构体。设备注册和文件系统挂载后会根据路径在树中生成相应的结点。VFS最主要是两个功能: @@ -35,7 +35,7 @@ VFS框架内存中的inode树结点有三种类型: - 挂载点:挂载具体文件系统,如/vs/sd、/mnt。 **图 2** 文件系统树形结构 -![](figures/文件系统树形结构.png "文件系统树形结构") +![](figure/文件系统树形结构.png "文件系统树形结构") ## 注意事项 @@ -81,7 +81,7 @@ VFS框架内存中的inode树结点有三种类型: open, close, read, write, seek, ioctl, fcntl, mmap, sync, dup, dup2, truncate, opendir, closedir, readdir, rewinddir, mount, umount, statfs, unlink, remove, mkdir, rmdir, rename, stat, utime, seek64, fallocate, fallocate64, truncate64, chmod, chown。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 当前只提供修改jffs2文件以及vfs设备节点属性的接口,各个系统对只读等属性有各自的处理方式。 >- 在OpenHarmony内核中属性并不冲突(可以任意修改)。 >- 在OpenHarmony内核中只读属性文件/目录不允许被删除。 diff --git "a/zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237.md" b/zh-cn/device-dev/kernel/kernel-lite-small-file.md similarity index 94% rename from "zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-file.md index b17821e62df..e88e5dd77b3 100644 --- "a/zh-cn/device-dev/kernel/\346\226\207\344\273\266\347\263\273\347\273\237.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-file.md @@ -41,14 +41,14 @@ OpenHarmony轻内核支持的文件系统有:VFS(虚拟文件系统)、NFS
    -- **[VFS](VFS.md)** +- **[VFS](kernel-lite-small-file-vfs.md)** -- **[NFS](NFS.md)** +- **[NFS](kernel-lite-small-file-nfs.md)** -- **[RAMFS](RAMFS.md)** +- **[RAMFS](kernel-lite-small-file-ramfs.md)** -- **[FAT](FAT.md)** +- **[FAT](kernel-lite-small-file-fat.md)** -- **[JFFS2](JFFS2.md)** +- **[JFFS2](kernel-lite-small-file-jffs.md)** diff --git "a/zh-cn/device-dev/kernel/\344\270\216Linux\346\240\207\345\207\206\345\272\223\347\232\204\345\267\256\345\274\202.md" b/zh-cn/device-dev/kernel/kernel-lite-small-lib-differ.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/\344\270\216Linux\346\240\207\345\207\206\345\272\223\347\232\204\345\267\256\345\274\202.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-lib-differ.md diff --git "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223-0.md" b/zh-cn/device-dev/kernel/kernel-lite-small-lib-standard.md old mode 100755 new mode 100644 similarity index 96% rename from "zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223-0.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-lib-standard.md index a3651484509..9af746232e7 --- "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223-0.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-lib-standard.md @@ -4,12 +4,12 @@ - [操作实例](#section4807125622614) - [常见问题](#section1219455217277) -OpenHarmony内核OpenHarmony使用**musl libc**库,支持标准POSIX接口,开发者可基于POSIX标准接口开发内核之上的组件及应用。 +OpenHarmony内核使用**musl libc**库,支持标准POSIX接口,开发者可基于POSIX标准接口开发内核之上的组件及应用。 ## 框架流程 **图 1** POSIX接口框架 -![](figures/POSIX接口框架.png "POSIX接口框架") +![](figure/POSIX接口框架.png "POSIX接口框架") **musl libc**库支持POSIX标准,涉及的系统调用相关接口由OpenHarmony内核适配支持 ,以满足接口对外描述的功能要求。 diff --git "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223.md" b/zh-cn/device-dev/kernel/kernel-lite-small-lib.md old mode 100755 new mode 100644 similarity index 31% rename from "zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-lib.md index 56f2c7aa1b5..849c9823bb4 --- "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\345\272\223.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-lib.md @@ -1,7 +1,7 @@ # 标准库 -- **[标准库](标准库-0.md)** +- **[标准库](kernel-lite-small-lib-standard.md)** -- **[与Linux标准库的差异](与Linux标准库的差异.md)** +- **[与Linux标准库的差异](kernel-lite-small-lib-differ.md)** diff --git "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230.md" b/zh-cn/device-dev/kernel/kernel-lite-small-memory.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/kernel/\345\206\205\345\255\230.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-memory.md index 871a1c5ac80..5f97c5705ac --- "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-memory.md @@ -217,8 +217,8 @@
    - >![](public_sys-resources/icon-note.gif) **说明:** - >mmap与Linux实现差异详见[与Linux标准库的差异](与Linux标准库的差异.md)章节。 + >![](../public_sys-resources/icon-note.gif) **说明:** + >mmap与Linux实现差异详见[与Linux标准库的差异](kernel-lite-small-lib-differ.md)章节。 **返回值:** diff --git "a/zh-cn/device-dev/kernel/\347\275\221\347\273\234.md" b/zh-cn/device-dev/kernel/kernel-lite-small-net.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/kernel/\347\275\221\347\273\234.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-net.md index 17eafd2f164..8aa33611c31 --- "a/zh-cn/device-dev/kernel/\347\275\221\347\273\234.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-net.md @@ -8,7 +8,7 @@ 网络模块实现了TCP/IP协议栈基本功能,提供标准的POSIX socket接口。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >当前系统使用**lwIP**提供网络能力。 ## 使用场景 diff --git "a/zh-cn/device-dev/kernel/\350\277\233\347\250\213.md" b/zh-cn/device-dev/kernel/kernel-lite-small-process.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/kernel/\350\277\233\347\250\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-process.md index c425b175ae5..d6b9ca0377b --- "a/zh-cn/device-dev/kernel/\350\277\233\347\250\213.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-process.md @@ -34,7 +34,7 @@ OpenHarmony内核的进程一共有32个优先级\(0-31\),用户进程可配 **图 1** 进程状态迁移示意图 -![](figures/进程状态迁移示意图.png "进程状态迁移示意图") +![](figure/进程状态迁移示意图.png "进程状态迁移示意图") **进程状态迁移说明:** diff --git "a/zh-cn/device-dev/kernel/\347\224\250\346\210\267\346\200\201\345\274\202\345\270\270\344\277\241\346\201\257\350\257\264\346\230\216.md" b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-abn.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/\347\224\250\346\210\267\346\200\201\345\274\202\345\270\270\344\277\241\346\201\257\350\257\264\346\230\216.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-abn.md diff --git a/zh-cn/device-dev/kernel/cat.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cat.md old mode 100755 new mode 100644 similarity index 95% rename from zh-cn/device-dev/kernel/cat.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cat.md index ef609b4dc07..89f4a35b9f4 --- a/zh-cn/device-dev/kernel/cat.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cat.md @@ -49,5 +49,5 @@ cat用于显示文本文件的内容。 ## 输出说明 **图 1** 查看 hello-harmony.txt 文件的信息 -![](figures/查看-hello-harmony-txt-文件的信息.png "查看-hello-harmony-txt-文件的信息") +![](figure/查看-hello-harmony-txt-文件的信息.png "查看-hello-harmony-txt-文件的信息") diff --git a/zh-cn/device-dev/kernel/cd.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cd.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/cd.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cd.md index 8acd5da837d..61247bfba2e --- a/zh-cn/device-dev/kernel/cd.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cd.md @@ -53,5 +53,5 @@ cd \[_path_\] ## 输出说明 **图 1** 显示结果如下 -![](figures/显示结果如下.png "显示结果如下") +![](figure/显示结果如下.png "显示结果如下") diff --git a/zh-cn/device-dev/kernel/chgrp.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chgrp.md old mode 100755 new mode 100644 similarity index 95% rename from zh-cn/device-dev/kernel/chgrp.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chgrp.md index dc292bf35fd..efeccc336fa --- a/zh-cn/device-dev/kernel/chgrp.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chgrp.md @@ -56,5 +56,5 @@ chgrp \[_group_\] \[_pathname_\] ## 输出说明 **图 1** 修改 hello-harmony.txt 文件的群组为100 -![](figures/修改-hello-harmony-txt-文件的群组为100.png "修改-hello-harmony-txt-文件的群组为100") +![](figure/修改-hello-harmony-txt-文件的群组为100.png "修改-hello-harmony-txt-文件的群组为100") diff --git a/zh-cn/device-dev/kernel/chmod.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chmod.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/chmod.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chmod.md index a77659fcddf..296ab1e3d38 --- a/zh-cn/device-dev/kernel/chmod.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chmod.md @@ -56,5 +56,5 @@ chmod \[_mode_\] \[_pathname_\] ## 输出说明 **图 1** 修改 hello-harmony.txt 文件的权限为666 -![](figures/修改-hello-harmony-txt-文件的权限为666.png "修改-hello-harmony-txt-文件的权限为666") +![](figure/修改-hello-harmony-txt-文件的权限为666.png "修改-hello-harmony-txt-文件的权限为666") diff --git a/zh-cn/device-dev/kernel/chown.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chown.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/chown.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chown.md index 467da9d89ce..4e63051ec9c --- a/zh-cn/device-dev/kernel/chown.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-chown.md @@ -66,5 +66,5 @@ chown \[_owner_\] \[_group_\] \[_pathname_\] ## 输出说明 **图 1** 修改 hello-harmony.txt 文件的uid为100,gid为200 -![](figures/修改-hello-harmony-txt-文件的uid为100-gid为200.png "修改-hello-harmony-txt-文件的uid为100-gid为200") +![](figure/修改-hello-harmony-txt-文件的uid为100-gid为200.png "修改-hello-harmony-txt-文件的uid为100-gid为200") diff --git a/zh-cn/device-dev/kernel/cp.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cp.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/cp.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cp.md index eab217ee504..299beb065c7 --- a/zh-cn/device-dev/kernel/cp.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-cp.md @@ -64,5 +64,5 @@ cp \[_SOURCEFILE_\] \[_DESTFILE_\] ## 输出说明 **图 1** 显示结果如下 -![](figures/显示结果如下-0.png "显示结果如下-0") +![](figure/显示结果如下-17.png "显示结果如下-17") diff --git a/zh-cn/device-dev/kernel/format.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-format.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/format.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-format.md index ecddf4e0313..200ddb4fe65 --- a/zh-cn/device-dev/kernel/format.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-format.md @@ -65,5 +65,5 @@ format <_dev\_inodename_\> <_sectors_\> <_option_\> \[_label_\] 结果如下 -![](figures/zh-cn_image_0000001052370307.png) +![](figure/zh-cn_image_0000001052370307.png) diff --git a/zh-cn/device-dev/kernel/ls.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-is.md old mode 100755 new mode 100644 similarity index 95% rename from zh-cn/device-dev/kernel/ls.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-is.md index fa17ee74660..0a1823804e0 --- a/zh-cn/device-dev/kernel/ls.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-is.md @@ -55,5 +55,5 @@ ls \[_path_\] ## 输出说明 **图 1** 查看当前系统路径下的目录,显示的内容如下 -![](figures/查看当前系统路径下的目录-显示的内容如下.png "查看当前系统路径下的目录-显示的内容如下") +![](figure/查看当前系统路径下的目录-显示的内容如下.png "查看当前系统路径下的目录-显示的内容如下") diff --git a/zh-cn/device-dev/kernel/lsfd.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-isfd.md old mode 100755 new mode 100644 similarity index 93% rename from zh-cn/device-dev/kernel/lsfd.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-isfd.md index fe0ac751182..e1fb8007c53 --- a/zh-cn/device-dev/kernel/lsfd.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-isfd.md @@ -25,5 +25,5 @@ lsfd命令显示当前已经打开文件的fd号以及文件的名字。 ## 输出说明 **图 1** lsfd输出说明 -![](figures/lsfd输出说明.png "lsfd输出说明") +![](figure/lsfd输出说明.png "lsfd输出说明") diff --git a/zh-cn/device-dev/kernel/mkdir.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-mkdir.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/mkdir.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-mkdir.md index 444d6a246b9..c261ebdca3e --- a/zh-cn/device-dev/kernel/mkdir.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-mkdir.md @@ -50,5 +50,5 @@ mkdir \[_directory_\] ## 输出说明 **图 1** 创建 share 目录 -![](figures/创建-share-目录.png "创建-share-目录") +![](figure/创建-share-目录.png "创建-share-目录") diff --git a/zh-cn/device-dev/kernel/mount.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-mount.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/mount.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-mount.md index 5924e0ca5ac..103a5d29c4e --- a/zh-cn/device-dev/kernel/mount.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-mount.md @@ -74,5 +74,5 @@ mount后加需要挂载的设备信息、指定目录以及设备文件格式, 将/dev/mmcblk0p0 挂载到/bin1/vs/sd目录 -![](figures/zh-cn_image_0000001051690323.png) +![](figure/zh-cn_image_0000001051690323.png) diff --git a/zh-cn/device-dev/kernel/partinfo.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-part.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/partinfo.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-part.md index b8dc652e97d..52ba25e1018 --- a/zh-cn/device-dev/kernel/partinfo.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-part.md @@ -48,5 +48,5 @@ partinfo /dev/mmcblk0p0 ## 输出说明 -![](figures/zh-cn_image_0000001052370303.png) +![](figure/zh-cn_image_0000001052370303.png) diff --git a/zh-cn/device-dev/kernel/partition.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-partion.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/partition.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-partion.md index 9a4b1568499..458f7f05ef4 --- a/zh-cn/device-dev/kernel/partition.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-partion.md @@ -58,5 +58,5 @@ partition \[_nand / spinor_\] 查看spinor flash分区信息 -![](figures/zh-cn_image_0000001052810300.png) +![](figure/zh-cn_image_0000001052810300.png) diff --git a/zh-cn/device-dev/kernel/pwd.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-pwd.md old mode 100755 new mode 100644 similarity index 94% rename from zh-cn/device-dev/kernel/pwd.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-pwd.md index bff68160cec..c9d526fc07d --- a/zh-cn/device-dev/kernel/pwd.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-pwd.md @@ -30,5 +30,5 @@ pwd 命令将当前目录的全路径名称(从根目录)写入标准输出 ## 输出说明 **图 1** 查看当前路径 -![](figures/查看当前路径.png "查看当前路径") +![](figure/查看当前路径.png "查看当前路径") diff --git a/zh-cn/device-dev/kernel/rm.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-rm.md old mode 100755 new mode 100644 similarity index 94% rename from zh-cn/device-dev/kernel/rm.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-rm.md index 2815b287a1d..b9eb4d90a0a --- a/zh-cn/device-dev/kernel/rm.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-rm.md @@ -60,8 +60,8 @@ rm \[_-r_\] \[_dirname / filename_\] ## 输出说明 **图 1** 用 rm 命令删除文件 log1.txt -![](figures/用-rm-命令删除文件-log1-txt.png "用-rm-命令删除文件-log1-txt") +![](figure/用-rm-命令删除文件-log1-txt.png "用-rm-命令删除文件-log1-txt") **图 2** 用 rm -r 删除目录 sd -![](figures/用-rm--r-删除目录-sd.png "用-rm--r-删除目录-sd") +![](figure/用-rm--r-删除目录-sd.png "用-rm--r-删除目录-sd") diff --git a/zh-cn/device-dev/kernel/rmdir.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-rmdir.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/rmdir.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-rmdir.md index 6a1e52eee3b..c37bbea17c0 --- a/zh-cn/device-dev/kernel/rmdir.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-rmdir.md @@ -51,5 +51,5 @@ rmdir \[_dir_\] ## 输出说明 **图 1** 删除一个名为 dir 的目录 -![](figures/删除一个名为-dir-的目录.png "删除一个名为-dir-的目录") +![](figure/删除一个名为-dir-的目录.png "删除一个名为-dir-的目录") diff --git a/zh-cn/device-dev/kernel/statfs.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-sta.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/statfs.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-sta.md index bc428c78b25..2373311252b --- a/zh-cn/device-dev/kernel/statfs.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-sta.md @@ -48,5 +48,5 @@ statfs \[_directory_\] statfs /nfs **图 1** statfs输出说明 -![](figures/statfs输出说明.png "statfs输出说明") +![](figure/statfs输出说明.png "statfs输出说明") diff --git a/zh-cn/device-dev/kernel/sync.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-sync.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/sync.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-sync.md diff --git a/zh-cn/device-dev/kernel/touch.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-touch.md old mode 100755 new mode 100644 similarity index 94% rename from zh-cn/device-dev/kernel/touch.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-touch.md index dc40b522af4..1ec96315b5f --- a/zh-cn/device-dev/kernel/touch.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-touch.md @@ -44,7 +44,7 @@ touch \[_filename_\] - touch命令用来创建一个空文件,该文件可读写。 - 使用touch命令一次只能创建一个文件。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >在系统重要资源路径下使用touch命令创建文件,会对系统造成死机等未知影响,如在/dev路径下执行touch uartdev-0,会产生系统卡死现象。 @@ -55,5 +55,5 @@ touch \[_filename_\] ## 输出说明 **图 1** 创建一个名为 file.c 的文件 -![](figures/创建一个名为-file-c-的文件.png "创建一个名为-file-c-的文件") +![](figure/创建一个名为-file-c-的文件.png "创建一个名为-file-c-的文件") diff --git a/zh-cn/device-dev/kernel/umount.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-umount.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/umount.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-umount.md index 7cb41d53ef0..def6e2f84bd --- a/zh-cn/device-dev/kernel/umount.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-umount.md @@ -51,5 +51,5 @@ umount后加上需要卸载的指定文件系统的目录,即将指定文件 将已在/bin1/vs/sd挂载的文件系统卸载 **图 1** umount输出示例 -![](figures/umount输出示例.png "umount输出示例") +![](figure/umount输出示例.png "umount输出示例") diff --git a/zh-cn/device-dev/kernel/writeproc.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-write.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/writeproc.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-write.md index 7e0306ff60c..c94ac15b6a2 --- a/zh-cn/device-dev/kernel/writeproc.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file-write.md @@ -49,7 +49,7 @@ writeproc <_data_\> \>\> /proc/<_filename_\> proc文件实现自身的write函数,调用writeproc命令后会将入参传入write函数。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >procfs不支持多线程访问。 ## 使用实例 @@ -64,6 +64,6 @@ OHOS \# writeproc test \>\> /proc/uptime test \>\> /proc/uptime ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >uptime proc文件临时实现write函数,INFO日志为实现的测试函数打印的日志。 diff --git a/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file.md new file mode 100644 index 00000000000..f2d8302ca40 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-file.md @@ -0,0 +1,45 @@ +# 文件命令 + +- **[cat](kernel-lite-small-shell-cmd-file-cat.md)** + +- **[cd](kernel-lite-small-shell-cmd-file-cd.md)** + +- **[chgrp](kernel-lite-small-shell-cmd-file-chgrp.md)** + +- **[chmod](kernel-lite-small-shell-cmd-file-chmod.md)** + +- **[chown](kernel-lite-small-shell-cmd-file-chown.md)** + +- **[cp](kernel-lite-small-shell-cmd-file-cp.md)** + +- **[format](kernel-lite-small-shell-cmd-file-format.md)** + +- **[ls](kernel-lite-small-shell-cmd-file-is.md)** + +- **[lsfd](kernel-lite-small-shell-cmd-file-isfd.md)** + +- **[mkdir](kernel-lite-small-shell-cmd-file-mkdir.md)** + +- **[mount](kernel-lite-small-shell-cmd-file-mount.md)** + +- **[partinfo](kernel-lite-small-shell-cmd-file-part.md)** + +- **[partition](kernel-lite-small-shell-cmd-file-partion.md)** + +- **[pwd](kernel-lite-small-shell-cmd-file-pwd.md)** + +- **[rm](kernel-lite-small-shell-cmd-file-rm.md)** + +- **[rmdir](kernel-lite-small-shell-cmd-file-rmdir.md)** + +- **[statfs](kernel-lite-small-shell-cmd-file-sta.md)** + +- **[sync](kernel-lite-small-shell-cmd-file-sync.md)** + +- **[touch](kernel-lite-small-shell-cmd-file-touch.md)** + +- **[writeproc](kernel-lite-small-shell-cmd-file-write.md)** + +- **[umount](kernel-lite-small-shell-cmd-file-umount.md)** + + diff --git "a/zh-cn/device-dev/kernel/\351\255\224\346\263\225\351\224\256\344\275\277\347\224\250\346\226\271\346\263\225.md" b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/kernel/\351\255\224\346\263\225\351\224\256\344\275\277\347\224\250\346\226\271\346\263\225.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md index 9bd18a8340d..bc083f86ce0 --- "a/zh-cn/device-dev/kernel/\351\255\224\346\263\225\351\224\256\344\275\277\347\224\250\346\226\271\346\263\225.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md @@ -17,7 +17,7 @@ Debug ---\> Enable MAGIC KEY;若关闭该选项,则魔法键失效。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >1. 可以在menuconfig中,将光标移动到LOSCFG\_ENABLE\_MAGICKEY上,输入“?”,查看帮助信息。 2. 输入“ctrl + r”键,打开魔法键检测功能。 @@ -33,6 +33,6 @@ Debug ---\> Enable MAGIC KEY;若关闭该选项,则魔法键失效。 - ctrl + e:系统进行简单完整性内存池检查,检查出错会输出相关错误信息,检查正常会输出“system memcheck over, all passed!”。 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >魔法键检测功能打开情况下,如果需要通过UART或者USB转虚拟串口输入特殊字符需避免与魔法键值重复,否则魔法键会被误触发,而原有设计功能可能出现错误。 diff --git a/zh-cn/device-dev/kernel/arp.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-arp.md old mode 100755 new mode 100644 similarity index 99% rename from zh-cn/device-dev/kernel/arp.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-arp.md index 2cf3628efa4..7ff926b4104 --- a/zh-cn/device-dev/kernel/arp.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-arp.md @@ -77,7 +77,7 @@ arp \[_-i IF_\] -d _IPADDR_ **图 1** 打印整个 ARP 缓存表 - ![](figures/Snipaste_2021-01-26_10-38-58.png) + ![](figure/Snipaste_2021-01-26_10-38-58.png) **表 2** 参数说明 diff --git a/zh-cn/device-dev/kernel/dhclient.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-dh.md old mode 100755 new mode 100644 similarity index 99% rename from zh-cn/device-dev/kernel/dhclient.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-dh.md index 360efdc8085..05d883c72b2 --- a/zh-cn/device-dev/kernel/dhclient.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-dh.md @@ -110,7 +110,7 @@ dhclient -sd 8.8.8.8 ## 使用实例 -![](figures/zh-cn_image_0000001053224218.png) +![](figure/zh-cn_image_0000001053224218.png) ## 输出说明 diff --git a/zh-cn/device-dev/kernel/dns.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-dns.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/dns.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-dns.md diff --git a/zh-cn/device-dev/kernel/ifconfig.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipc.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/ifconfig.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipc.md diff --git a/zh-cn/device-dev/kernel/ipdebug.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipd.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/ipdebug.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipd.md diff --git a/zh-cn/device-dev/kernel/netstat.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-net.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/netstat.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-net.md index cca0b0dc9ae..b35a6494a18 --- a/zh-cn/device-dev/kernel/netstat.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-net.md @@ -30,7 +30,7 @@ netstat **图 1** netstat 打印信息 -![](figures/Snipaste_2021-01-26_10-38-58-1.png) +![](figure/Snipaste_2021-01-26_10-38-58-18.png) ## 输出说明 @@ -78,6 +78,6 @@ netstat
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >形如“========== total sockets 32 ====== unused sockets 22 BootTime 27 s ========== ”,表示一共32个套接字,未使用套接字22个,距系统启动已经过27秒。 diff --git a/zh-cn/device-dev/kernel/ntpdate.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ntp.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/ntpdate.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ntp.md diff --git a/zh-cn/device-dev/kernel/ping.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping.md old mode 100755 new mode 100644 similarity index 99% rename from zh-cn/device-dev/kernel/ping.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping.md index c995f3c5ebd..e1792bc92dd --- a/zh-cn/device-dev/kernel/ping.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping.md @@ -95,5 +95,5 @@ ping _-k_ **图 1** ping tftp 服务器地址 -![](figures/Snipaste_2021-01-26_10-38-58-2.png) +![](figure/Snipaste_2021-01-26_10-38-58-19.png) diff --git a/zh-cn/device-dev/kernel/ping6.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping6.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/ping6.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping6.md diff --git a/zh-cn/device-dev/kernel/telnet.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-tel.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/telnet.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-tel.md index e68f22de468..95e8083c802 --- a/zh-cn/device-dev/kernel/telnet.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-tel.md @@ -50,7 +50,7 @@ telnet \[_on | off_\] - telnet启动要确保网络驱动及网络协议栈已经初始化完成,且板子的网卡是link up状态。 - 暂时无法支持多个客户端(telnet + IP)同时连接开发板。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >telnet属于调测功能,默认配置为关闭,正式产品中禁止使用该功能。 @@ -61,5 +61,5 @@ telnet \[_on | off_\] ## 输出说明 **图 1** 输入 telnet on -![](figures/输入-telnet-on.png "输入-telnet-on") +![](figure/输入-telnet-on.png "输入-telnet-on") diff --git a/zh-cn/device-dev/kernel/tftp.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-tftp.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/tftp.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-tftp.md index a82fdf93898..d0a864992ff --- a/zh-cn/device-dev/kernel/tftp.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net-tftp.md @@ -68,7 +68,7 @@ tftp命令可以从TFTP服务器上下载文件。 2. OpenHarmony单板使用tftp命令上传、下载文件。 3. 传输的文件大小是有限制的不能大于32M。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >tftp属于调测功能,默认配置为关闭,正式产品中禁止使用该功能。 diff --git a/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net.md new file mode 100644 index 00000000000..6695d35058d --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-net.md @@ -0,0 +1,25 @@ +# 网络命令 + +- **[arp](kernel-lite-small-shell-cmd-net-arp.md)** + +- **[dhclient](kernel-lite-small-shell-cmd-net-dh.md)** + +- **[dns](kernel-lite-small-shell-cmd-net-dns.md)** + +- **[ifconfig](kernel-lite-small-shell-cmd-net-ipc.md)** + +- **[ipdebug](kernel-lite-small-shell-cmd-net-ipd.md)** + +- **[netstat](kernel-lite-small-shell-cmd-net-net.md)** + +- **[ntpdate](kernel-lite-small-shell-cmd-net-ntp.md)** + +- **[ping](kernel-lite-small-shell-cmd-net-ping.md)** + +- **[ping6](kernel-lite-small-shell-cmd-net-ping6.md)** + +- **[telnet](kernel-lite-small-shell-cmd-net-tel.md)** + +- **[tftp](kernel-lite-small-shell-cmd-net-tftp.md)** + + diff --git a/zh-cn/device-dev/kernel/cpup.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-cpup.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/cpup.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-cpup.md index c2bf2bba463..5d9bf1de8a7 --- a/zh-cn/device-dev/kernel/cpup.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-cpup.md @@ -61,5 +61,5 @@ cpup \[_mode_\] \[_taskID_\] ## 输出说明 **图 1** 指令输出结果 -![](figures/指令输出结果.png "指令输出结果") +![](figure/指令输出结果.png "指令输出结果") diff --git a/zh-cn/device-dev/kernel/date.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-date.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/date.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-date.md index d359856e204..0ee6698e2fc --- a/zh-cn/device-dev/kernel/date.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-date.md @@ -90,5 +90,5 @@ date -r \[_Filename_\] ## 输出说明 **图 1** 按指定格式打印系统日期 -![](figures/按指定格式打印系统日期.png "按指定格式打印系统日期") +![](figure/按指定格式打印系统日期.png "按指定格式打印系统日期") diff --git a/zh-cn/device-dev/kernel/dmesg.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-demsg.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/dmesg.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-demsg.md index 197e38fdfff..b4e1bbd9eea --- a/zh-cn/device-dev/kernel/dmesg.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-demsg.md @@ -109,5 +109,5 @@ dmesg \> \[_fileA_\] ## 输出说明 **图 1** dmesg重定向到文件。 -![](figures/dmesg重定向到文件.png "dmesg重定向到文件") +![](figure/dmesg重定向到文件.png "dmesg重定向到文件") diff --git a/zh-cn/device-dev/kernel/exec.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-exec.md old mode 100755 new mode 100644 similarity index 97% rename from zh-cn/device-dev/kernel/exec.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-exec.md index a3b0933672a..c5e437ad7ce --- a/zh-cn/device-dev/kernel/exec.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-exec.md @@ -55,6 +55,6 @@ OHOS # exec helloworld OHOS # hello world! ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >可执行文件执行后,先打印“OHOS \#”提示符原因:目前Shell “exec”命令执行均为后台执行,结果可能导致提示符提前打印。 diff --git a/zh-cn/device-dev/kernel/free.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-free.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/free.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-free.md index 56734efb792..dcfdc363829 --- a/zh-cn/device-dev/kernel/free.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-free.md @@ -63,7 +63,7 @@ free \[_-k | -m_\] ## 输出说明 **图 1** 以三种方式显示内存使用情况 -![](figures/以三种方式显示内存使用情况.png "以三种方式显示内存使用情况") +![](figure/以三种方式显示内存使用情况.png "以三种方式显示内存使用情况") **表 2** 输出说明 diff --git a/zh-cn/device-dev/kernel/help.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-help.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/help.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-help.md diff --git a/zh-cn/device-dev/kernel/hwi.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-hwi.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/hwi.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-hwi.md index d2ab70ddb33..9414e1f7446 --- a/zh-cn/device-dev/kernel/hwi.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-hwi.md @@ -32,11 +32,11 @@ hwi 1. 显示中断信息(LOSCFG\_CPUP\_INCLUDE\_IRQ关闭) - ![](figures/zh-cn_image_0000001053826366.png) + ![](figure/zh-cn_image_0000001053826366.png) 2. 显示中断信息(LOSCFG\_CPUP\_INCLUDE\_IRQ打开) - ![](figures/zh-cn_image_0000001052810304.png) + ![](figure/zh-cn_image_0000001052810304.png) **表 1** 输出说明 diff --git a/zh-cn/device-dev/kernel/kill.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-kill.md old mode 100755 new mode 100644 similarity index 92% rename from zh-cn/device-dev/kernel/kill.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-kill.md index c88e6abc63e..6f1447fbdaa --- a/zh-cn/device-dev/kernel/kill.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-kill.md @@ -45,7 +45,7 @@ kill \[_signo_ | _-signo_\] \[_pid_\]
    ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >signo有效范围为\[0,64\],建议取值范围为\[1,30\],其余为保留内容。 ## 使用指南 @@ -59,24 +59,24 @@ kill \[_signo_ | _-signo_\] \[_pid_\] 1. 查看当前进程列表,查看需要杀死的进程PID(7)。 **图 1** 查看进程PID -![](figures/查看进程PID.png "查看进程PID") +![](figure/查看进程PID.png "查看进程PID") 2. 发送信号14(SIGALRM默认行为为进程终止)给7号进程**helloworld\_d**(用户态进程):**kill 14 7**(kill -14 7效果相同),并查看当前进程列表,7号进程已终止。 **图 2** 信号发送结果图 -![](figures/信号发送结果图.png "信号发送结果图") +![](figure/信号发送结果图.png "信号发送结果图") ## 输出说明 发送成功或失败输出结果如下。 **图 3** 发送信号给指定进程 -![](figures/发送信号给指定进程.png "发送信号给指定进程") +![](figure/发送信号给指定进程.png "发送信号给指定进程") 信号发送会显示发送记录,未报错表示信号发送成功。 **图 4** 信号发送失败 -![](figures/信号发送失败.png "信号发送失败") +![](figure/信号发送失败.png "信号发送失败") 信号发送失败,上图所示原因为信号发送命令参数无效,请排查信号编号及进程编号是否无效。 diff --git a/zh-cn/device-dev/kernel/log.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-log.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/log.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-log.md index d6972d55512..cdadf985931 --- a/zh-cn/device-dev/kernel/log.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-log.md @@ -70,5 +70,5 @@ log level \[_levelNum_\] ## 输出说明 -![](figures/zh-cn_image_0000001052530298.png) +![](figure/zh-cn_image_0000001052530298.png) diff --git a/zh-cn/device-dev/kernel/memcheck.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-mem.md old mode 100755 new mode 100644 similarity index 89% rename from zh-cn/device-dev/kernel/memcheck.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-mem.md index 5e6058dcf60..8ff0289bcde --- a/zh-cn/device-dev/kernel/memcheck.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-mem.md @@ -31,8 +31,8 @@ memcheck ## 输出说明 **图 1** 当前没有内存越界 -![](figures/当前没有内存越界.png "当前没有内存越界") +![](figure/当前没有内存越界.png "当前没有内存越界") **图 2** 出现内存越界 -![](figures/出现内存越界.png "出现内存越界") +![](figure/出现内存越界.png "出现内存越界") diff --git a/zh-cn/device-dev/kernel/oom.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-oom.md old mode 100755 new mode 100644 similarity index 99% rename from zh-cn/device-dev/kernel/oom.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-oom.md index 4590f61fedd..e21772b94ea --- a/zh-cn/device-dev/kernel/oom.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-oom.md @@ -77,7 +77,7 @@ oom -h | --help ## 输出说明 -![](figures/zh-cn_image_0000001053710680.png) +![](figure/zh-cn_image_0000001053710680.png) **表 2** 输出说明 diff --git a/zh-cn/device-dev/kernel/pmm.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-pmm.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/pmm.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-pmm.md index 9ed393dfdd9..067433a0b83 --- a/zh-cn/device-dev/kernel/pmm.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-pmm.md @@ -30,7 +30,7 @@ Debug版本才具备的命令。 ## 输出说明 **图 1** 查看物理页使用情况 -![](figures/查看物理页使用情况.png "查看物理页使用情况") +![](figure/查看物理页使用情况.png "查看物理页使用情况") **表 1** 输出说明 diff --git a/zh-cn/device-dev/kernel/reset.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-reset.md old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/kernel/reset.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-reset.md diff --git a/zh-cn/device-dev/kernel/sem.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sem.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/sem.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sem.md index 14342e75319..4a27c8d10ba --- a/zh-cn/device-dev/kernel/sem.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sem.md @@ -61,7 +61,7 @@ sem \[_ID__ / fulldata_\] ## 输出说明 **图 1** 查询所有在用的信号量信息 -![](figures/查询所有在用的信号量信息.png "查询所有在用的信号量信息") +![](figure/查询所有在用的信号量信息.png "查询所有在用的信号量信息") **表 2** 输出说明 @@ -85,7 +85,7 @@ sem \[_ID__ / fulldata_\]
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >● sem命令的ID参数输入形式以十进制形式表示或十六进制形式表示皆可。 >● sem命令的ID参数在\[0, 1023\]范围内时,返回对应ID的信号量的状态(如果对应ID的信号量未被使用则进行提示);其他取值时返回参数错误的提示。 diff --git a/zh-cn/device-dev/kernel/stack.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-stack.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/stack.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-stack.md index 526ed83f4d8..8f2904a4b88 --- a/zh-cn/device-dev/kernel/stack.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-stack.md @@ -32,7 +32,7 @@ stack **图 1** 系统堆栈使用情况 -![](figures/zh-cn_image_0000001054624363.png) +![](figure/zh-cn_image_0000001054624363.png) **表 1** 输出说明 diff --git a/zh-cn/device-dev/kernel/su.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-su.md old mode 100755 new mode 100644 similarity index 96% rename from zh-cn/device-dev/kernel/su.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-su.md index a23b14445d1..a8536a0e4d7 --- a/zh-cn/device-dev/kernel/su.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-su.md @@ -58,5 +58,5 @@ su \[_uid_\] \[_gid_\] ## 输出说明 **图 1** **切换到**为uid为1000,gid为1000的用户 -![](figures/切换到为uid为1000-gid为1000的用户.png "切换到为uid为1000-gid为1000的用户") +![](figure/切换到为uid为1000-gid为1000的用户.png "切换到为uid为1000-gid为1000的用户") diff --git a/zh-cn/device-dev/kernel/swtmr.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-swymr.md old mode 100755 new mode 100644 similarity index 95% rename from zh-cn/device-dev/kernel/swtmr.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-swymr.md index 7ab65604883..07b2b1b0429 --- a/zh-cn/device-dev/kernel/swtmr.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-swymr.md @@ -50,10 +50,10 @@ swtmr \[_ID_\] ## 输出说明 **图 1** 查询所有软件定时器相关信息 -![](figures/查询所有软件定时器相关信息.png "查询所有软件定时器相关信息") +![](figure/查询所有软件定时器相关信息.png "查询所有软件定时器相关信息") **图 2** 查询对应 ID 的软件定时器信息 -![](figures/查询对应-ID-的软件定时器信息.png "查询对应-ID-的软件定时器信息") +![](figure/查询对应-ID-的软件定时器信息.png "查询对应-ID-的软件定时器信息") **表 2** 输出说明 @@ -104,7 +104,7 @@ swtmr \[_ID_\]
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- swtmr命令的ID参数输入形式以十进制形式表示或十六进制形式表示皆可。 >- swtmr命令的ID参数在\[0, 当前软件定时器个数 - 1\]范围内时,返回对应ID的软件定时器的状态;其他取值时返回错误提示。 diff --git a/zh-cn/device-dev/kernel/systeminfo.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sys.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/systeminfo.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sys.md index 16fbd841d38..8b59757af00 --- a/zh-cn/device-dev/kernel/systeminfo.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sys.md @@ -30,7 +30,7 @@ systeminfo ## 输出说明 **图 1** 查看系统资源使用情况 -![](figures/查看系统资源使用情况.png "查看系统资源使用情况") +![](figure/查看系统资源使用情况.png "查看系统资源使用情况") **表 1** 输出说明 diff --git a/zh-cn/device-dev/kernel/task.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-task.md old mode 100755 new mode 100644 similarity index 99% rename from zh-cn/device-dev/kernel/task.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-task.md index 673ed06ae2a..4fb2b3e3f8f --- a/zh-cn/device-dev/kernel/task.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-task.md @@ -49,7 +49,7 @@ task/task -a ## 输出说明 **图 1** 查询任务部分信息 -![](figures/查询任务部分信息.png "查询任务部分信息") +![](figure/查询任务部分信息.png "查询任务部分信息") **表 2** 输出说明 diff --git a/zh-cn/device-dev/kernel/uname.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-uname.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/uname.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-uname.md index 71a06837cc2..ff2c1b7a3db --- a/zh-cn/device-dev/kernel/uname.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-uname.md @@ -68,5 +68,5 @@ uname用于显示当前操作系统名称。语法uname -a | -t| -s| -v 描述un 查看系统信息 -![](figures/zh-cn_image_0000001052370305.png) +![](figure/zh-cn_image_0000001052370305.png) diff --git a/zh-cn/device-dev/kernel/vmm.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-vmm.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/vmm.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-vmm.md index 0d38eadc7e3..35f4ada41e1 --- a/zh-cn/device-dev/kernel/vmm.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-vmm.md @@ -65,7 +65,7 @@ vmm \[_pid_\] ## 输出说明 **图 1** PID为3的进程虚拟内存使用信息 -![](figures/PID为3的进程虚拟内存使用信息.png "PID为3的进程虚拟内存使用信息") +![](figure/PID为3的进程虚拟内存使用信息.png "PID为3的进程虚拟内存使用信息") **表 2** 进程基本信息 diff --git a/zh-cn/device-dev/kernel/watch.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-watch.md old mode 100755 new mode 100644 similarity index 98% rename from zh-cn/device-dev/kernel/watch.md rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-watch.md index 0586d287df8..c3adf787bbc --- a/zh-cn/device-dev/kernel/watch.md +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys-watch.md @@ -93,8 +93,8 @@ watch -n 2 -c 6 task ## 输出说明 **图 1** watch task 结果 -![](figures/watch-task-结果.png "watch-task-结果") +![](figure/watch-task-结果.png "watch-task-结果") ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >示例中,总共有6次task命令打印,每次间隔2秒,截图为最后一次打印详情。 diff --git a/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md new file mode 100644 index 00000000000..8bccc06e167 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md @@ -0,0 +1,47 @@ +# 系统命令 + +- **[cpup](kernel-lite-small-shell-cmd-sys-cpup.md)** + +- **[date](kernel-lite-small-shell-cmd-sys-date.md)** + +- **[dmesg](kernel-lite-small-shell-cmd-sys-demsg.md)** + +- **[exec](kernel-lite-small-shell-cmd-sys-exec.md)** + +- **[free](kernel-lite-small-shell-cmd-sys-free.md)** + +- **[help](kernel-lite-small-shell-cmd-sys-help.md)** + +- **[hwi](kernel-lite-small-shell-cmd-sys-hwi.md)** + +- **[kill](kernel-lite-small-shell-cmd-sys-kill.md)** + +- **[log](kernel-lite-small-shell-cmd-sys-log.md)** + +- **[memcheck](kernel-lite-small-shell-cmd-sys-mem.md)** + +- **[oom](kernel-lite-small-shell-cmd-sys-oom.md)** + +- **[pmm](kernel-lite-small-shell-cmd-sys-pmm.md)** + +- **[reset](kernel-lite-small-shell-cmd-sys-reset.md)** + +- **[sem](kernel-lite-small-shell-cmd-sys-sem.md)** + +- **[stack](kernel-lite-small-shell-cmd-sys-stack.md)** + +- **[su](kernel-lite-small-shell-cmd-sys-su.md)** + +- **[swtmr](kernel-lite-small-shell-cmd-sys-swymr.md)** + +- **[systeminfo](kernel-lite-small-shell-cmd-sys-sys.md)** + +- **[task](kernel-lite-small-shell-cmd-sys-task.md)** + +- **[uname](kernel-lite-small-shell-cmd-sys-uname.md)** + +- **[vmm](kernel-lite-small-shell-cmd-sys-vmm.md)** + +- **[watch](kernel-lite-small-shell-cmd-sys-watch.md)** + + diff --git "a/zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\344\275\277\347\224\250\350\257\246\350\247\243.md" b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd.md old mode 100755 new mode 100644 similarity index 31% rename from "zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\344\275\277\347\224\250\350\257\246\350\247\243.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd.md index 2faa37c7405..95d4b92cffc --- "a/zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\344\275\277\347\224\250\350\257\246\350\247\243.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-cmd.md @@ -2,12 +2,12 @@ 本章节介绍了系统关键命令的功能、格式、参数范围、使用指南和使用实例。 -不在本文档范围内的命令,详见[help](help.md)命令的输出内容,也可以通过命令的“-h | --help”选项,查看该命令的使用帮助。 +不在本文档范围内的命令,详见[help](kernel-lite-small-shell-cmd-sys-help.md)命令的输出内容,也可以通过命令的“-h | --help”选项,查看该命令的使用帮助。 -- **[系统命令](系统命令.md)** +- **[系统命令](kernel-lite-small-shell-cmd-sys.md)** -- **[文件命令](文件命令.md)** +- **[文件命令](kernel-lite-small-shell-cmd-file.md)** -- **[网络命令](网络命令.md)** +- **[网络命令](kernel-lite-small-shell-cmd-net.md)** diff --git "a/zh-cn/device-dev/kernel/Shell\344\273\213\347\273\215.md" b/zh-cn/device-dev/kernel/kernel-lite-small-shell-des.md old mode 100755 new mode 100644 similarity index 92% rename from "zh-cn/device-dev/kernel/Shell\344\273\213\347\273\215.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-des.md index f72e4f67cbb..8b7909db207 --- "a/zh-cn/device-dev/kernel/Shell\344\273\213\347\273\215.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-des.md @@ -10,7 +10,7 @@ OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统 - 网络相关命令:支持查询接到开发板的其他设备的IP、查询本机IP、测试网络连接、设置开发板的AP和station模式等相关功能。 - 新增命令的详细流程可参见[开发指导](Shell命令开发指导.md)和[编程实例](Shell命令编程实例.md)。 + 新增命令的详细流程可参见[开发指导](kernel-lite-small-shell-guide.md)和[编程实例](kernel-lite-small-shell-sample.md)。 ## 注意事项 @@ -30,7 +30,7 @@ OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统 - Shell功能不符合POSIX标准,仅供调试使用。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >Shell功能仅供调试使用,在Debug版本中开启(使用时通过menuconfig在配置项中开启"LOSCFG\_DEBUG\_VERSION"编译开关进行相关控制),商用产品中禁止包含该功能。 diff --git "a/zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/kernel/kernel-lite-small-shell-guide.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-guide.md index b8d1e6d8861..7f7327f6b28 --- "a/zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell-guide.md @@ -126,7 +126,7 @@ ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >命令关键字必须是唯一的,也即两个不同的命令项不能拥有相同的命令关键字,否则只会执行其中一个。 >Shell在执行用户命令时,如果存在多个命令关键字相同的命令,只会执行其中在"help"命令中排序在最前面的一个。 @@ -161,7 +161,7 @@ 4. 输入Shell命令,有两种输入方式: - 在串口工具中直接输入Shell命令。 - - 在telnet工具中输入Shell命令(telnet使用方式详见[telnet](telnet.md))。 + - 在telnet工具中输入Shell命令(telnet使用方式详见[telnet](kernel-lite-small-shell-cmd-net-tel.md))。 diff --git "a/zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\347\274\226\347\250\213\345\256\236\344\276\213.md" b/zh-cn/device-dev/kernel/kernel-lite-small-shell-sample.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/Shell\345\221\275\344\273\244\347\274\226\347\250\213\345\256\236\344\276\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-shell-sample.md diff --git a/zh-cn/device-dev/kernel/kernel-lite-small-shell.md b/zh-cn/device-dev/kernel/kernel-lite-small-shell.md new file mode 100644 index 00000000000..edc56c8c73e --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-small-shell.md @@ -0,0 +1,15 @@ +# 调测 + +- **[Shell介绍](kernel-lite-small-shell-des.md)** + +- **[Shell命令开发指导](kernel-lite-small-shell-guide.md)** + +- **[Shell命令编程实例](kernel-lite-small-shell-sample.md)** + +- **[Shell命令使用详解](kernel-lite-small-shell-cmd.md)** + +- **[魔法键使用方法](kernel-lite-small-shell-cmd-mag.md)** + +- **[用户态异常信息说明](kernel-lite-small-shell-cmd-abn.md)** + + diff --git "a/zh-cn/device-dev/kernel/\347\272\277\347\250\213.md" b/zh-cn/device-dev/kernel/kernel-lite-small-thread.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/kernel/\347\272\277\347\250\213.md" rename to zh-cn/device-dev/kernel/kernel-lite-small-thread.md index 7add0e4dc77..b758c77877f --- "a/zh-cn/device-dev/kernel/\347\272\277\347\250\213.md" +++ b/zh-cn/device-dev/kernel/kernel-lite-small-thread.md @@ -30,7 +30,7 @@ OpenHarmony内核的线程一共有32个优先级\(0-31\),最高优先级为0 **图 1** 线程状态迁移示意图 -![](figures/线程状态迁移示意图.png "线程状态迁移示意图") +![](figure/线程状态迁移示意图.png "线程状态迁移示意图") **线程状态迁移说明:** diff --git a/zh-cn/device-dev/kernel/kernel-lite-small.md b/zh-cn/device-dev/kernel/kernel-lite-small.md new file mode 100644 index 00000000000..a435da97d4b --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-lite-small.md @@ -0,0 +1,11 @@ +# 小型系统内核 + +- **[基础内核](kernel-lite-small-basic.md)** + +- **[文件系统](kernel-lite-small-file.md)** + +- **[标准库](kernel-lite-small-lib.md)** + +- **[调测](kernel-lite-small-shell.md)** + + diff --git "a/zh-cn/device-dev/kernel/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" b/zh-cn/device-dev/kernel/kernel-lite.md similarity index 41% rename from "zh-cn/device-dev/kernel/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" rename to zh-cn/device-dev/kernel/kernel-lite.md index 0ae605881ae..f6fcf22c8ec 100644 --- "a/zh-cn/device-dev/kernel/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" +++ b/zh-cn/device-dev/kernel/kernel-lite.md @@ -1,7 +1,7 @@ # 轻量和小型系统内核 -- **[轻量系统内核](轻量系统内核.md)** +- **[轻量系统内核](kernel-lite-mini.md)** -- **[小型系统内核](小型系统内核.md)** +- **[小型系统内核](kernel-lite-small.md)** diff --git "a/zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\257\274.md" b/zh-cn/device-dev/kernel/kernel-standard-build.md old mode 100755 new mode 100644 similarity index 93% rename from "zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\257\274.md" rename to zh-cn/device-dev/kernel/kernel-standard-build.md index 1dec4cb1447..1b52ac7b1f6 --- "a/zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\347\274\226\350\257\221\344\270\216\346\236\204\345\273\272\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/kernel/kernel-standard-build.md @@ -21,7 +21,7 @@ 1. 准备工作 - 1. 按[开发板Patch使用指导](OpenHarmony开发板Patch使用指导.md)打入所需补丁。 + 1. 按[开发板Patch使用指导](kernel-standard-patch.md)打入所需补丁。 2. 准备编译环境,可以使用开源arm clang/gcc编译器。 进入工程主目录配置环境变量: diff --git "a/zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\346\246\202\350\277\260.md" b/zh-cn/device-dev/kernel/kernel-standard-des.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/kernel/Linux\345\206\205\346\240\270\346\246\202\350\277\260.md" rename to zh-cn/device-dev/kernel/kernel-standard-des.md diff --git "a/zh-cn/device-dev/kernel/OpenHarmony\345\274\200\345\217\221\346\235\277Patch\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/kernel/kernel-standard-patch.md old mode 100755 new mode 100644 similarity index 92% rename from "zh-cn/device-dev/kernel/OpenHarmony\345\274\200\345\217\221\346\235\277Patch\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/kernel/kernel-standard-patch.md index 25eadc954a7..87b3fea376c --- "a/zh-cn/device-dev/kernel/OpenHarmony\345\274\200\345\217\221\346\235\277Patch\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/kernel/kernel-standard-patch.md @@ -12,6 +12,6 @@ Patch文件位于工程项目源码路径:kernel/linux/patches/linux-4.19, patch -p1 < device/hisilicon/hi3516dv300/sdk_linux/open_source/linux/hisi_linux-4.19_hos_l2.patch ``` ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >由于OpenHarmony的编译构建流程中会拷贝kernel/linux-4.19的代码环境后进行打补丁动作,在使用OpenHarmony的版本级编译命令前,需要kernel/linux-4.19保持原代码环境。 diff --git a/zh-cn/device-dev/kernel/kernel-standard.md b/zh-cn/device-dev/kernel/kernel-standard.md new file mode 100644 index 00000000000..67af7b81d08 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-standard.md @@ -0,0 +1,9 @@ +# 标准系统内核 + +- **[Linux内核概述](kernel-standard-des.md)** + +- **[OpenHarmony开发板Patch使用指导](kernel-standard-patch.md)** + +- **[Linux内核编译与构建指导](kernel-standard-build.md)** + + diff --git a/zh-cn/device-dev/kernel/kernel.md b/zh-cn/device-dev/kernel/kernel.md new file mode 100644 index 00000000000..05e683e74b3 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel.md @@ -0,0 +1,7 @@ +# 内核 + +- **[轻量和小型系统内核](kernel-lite.md)** + +- **[标准系统内核](kernel-standard.md)** + + diff --git a/zh-cn/device-dev/kernel/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/kernel/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/kernel/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/kernel/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/kernel/public_sys-resources/icon-note.gif b/zh-cn/device-dev/kernel/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/kernel/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/kernel/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/kernel/\344\272\213\344\273\266.md" "b/zh-cn/device-dev/kernel/\344\272\213\344\273\266.md" deleted file mode 100644 index e998fce8eb5..00000000000 --- "a/zh-cn/device-dev/kernel/\344\272\213\344\273\266.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 事件 - -- **[基本概念](基本概念-5.md)** - -- **[开发指导](开发指导-6.md)** - - diff --git "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\347\256\241\347\220\206.md" "b/zh-cn/device-dev/kernel/\345\206\205\345\255\230\347\256\241\347\220\206.md" deleted file mode 100644 index fb44d9bd13b..00000000000 --- "a/zh-cn/device-dev/kernel/\345\206\205\345\255\230\347\256\241\347\220\206.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 内存管理 - -- **[基本概念](基本概念-4.md)** - -- **[静态内存](静态内存.md)** - -- **[动态内存](动态内存.md)** - - diff --git "a/zh-cn/device-dev/kernel/\345\206\205\346\240\270\350\260\203\346\265\213.md" "b/zh-cn/device-dev/kernel/\345\206\205\346\240\270\350\260\203\346\265\213.md" deleted file mode 100644 index 6b7080f2bcb..00000000000 --- "a/zh-cn/device-dev/kernel/\345\206\205\346\240\270\350\260\203\346\265\213.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 内核调测 - -- **[内存调测](内存调测.md)** - -- **[异常调测](异常调测.md)** - -- **[Trace调测](Trace调测.md)** - - diff --git "a/zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270-1.md" "b/zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270-1.md" deleted file mode 100644 index df2416afdc8..00000000000 --- "a/zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270-1.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 基础内核 - -- **[中断管理](中断管理.md)** - -- **[任务管理](任务管理.md)** - -- **[内存管理](内存管理.md)** - -- **[IPC](IPC.md)** - -- **[时间管理](时间管理.md)** - -- **[软件定时器](软件定时器.md)** - - diff --git "a/zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270.md" "b/zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270.md" deleted file mode 100644 index 94b43451a99..00000000000 --- "a/zh-cn/device-dev/kernel/\345\237\272\347\241\200\345\206\205\346\240\270.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 基础内核 - -- **[进程](进程.md)** - -- **[线程](线程.md)** - -- **[内存](内存.md)** - -- **[网络](网络.md)** - - diff --git "a/zh-cn/device-dev/kernel/\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" "b/zh-cn/device-dev/kernel/\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" deleted file mode 100644 index d2484399631..00000000000 --- "a/zh-cn/device-dev/kernel/\345\260\217\345\236\213\347\263\273\347\273\237\345\206\205\346\240\270.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 小型系统内核 - -- **[认识LiteOS-M内核](认识LiteOS-M内核.md)** - -- **[快速入门](快速入门.md)** - -- **[基础内核](基础内核-1.md)** - -- **[扩展组件](扩展组件.md)** - -- **[内核调测](内核调测.md)** - -- **[附录](附录.md)** - - diff --git "a/zh-cn/device-dev/kernel/\346\211\251\345\261\225\347\273\204\344\273\266.md" "b/zh-cn/device-dev/kernel/\346\211\251\345\261\225\347\273\204\344\273\266.md" deleted file mode 100644 index dcfc826616e..00000000000 --- "a/zh-cn/device-dev/kernel/\346\211\251\345\261\225\347\273\204\344\273\266.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 扩展组件 - -- **[C++支持](C++支持.md)** - -- **[CPUP](CPUP.md)** - -- **[文件系统](文件系统-19.md)** - - diff --git "a/zh-cn/device-dev/kernel/\346\226\207\344\273\266\345\221\275\344\273\244.md" "b/zh-cn/device-dev/kernel/\346\226\207\344\273\266\345\221\275\344\273\244.md" deleted file mode 100755 index c1735a02785..00000000000 --- "a/zh-cn/device-dev/kernel/\346\226\207\344\273\266\345\221\275\344\273\244.md" +++ /dev/null @@ -1,45 +0,0 @@ -# 文件命令 - -- **[cat](cat.md)** - -- **[cd](cd.md)** - -- **[chgrp](chgrp.md)** - -- **[chmod](chmod.md)** - -- **[chown](chown.md)** - -- **[cp](cp.md)** - -- **[format](format.md)** - -- **[ls](ls.md)** - -- **[lsfd](lsfd.md)** - -- **[mkdir](mkdir.md)** - -- **[mount](mount.md)** - -- **[partinfo](partinfo.md)** - -- **[partition](partition.md)** - -- **[pwd](pwd.md)** - -- **[rm](rm.md)** - -- **[rmdir](rmdir.md)** - -- **[statfs](statfs.md)** - -- **[sync](sync.md)** - -- **[touch](touch.md)** - -- **[writeproc](writeproc.md)** - -- **[umount](umount.md)** - - diff --git "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\347\263\273\347\273\237\345\206\205\346\240\270.md" "b/zh-cn/device-dev/kernel/\346\240\207\345\207\206\347\263\273\347\273\237\345\206\205\346\240\270.md" deleted file mode 100644 index 5911c5e037a..00000000000 --- "a/zh-cn/device-dev/kernel/\346\240\207\345\207\206\347\263\273\347\273\237\345\206\205\346\240\270.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 标准系统内核 - -- **[Linux内核概述](Linux内核概述.md)** - -- **[OpenHarmony开发板Patch使用指导](OpenHarmony开发板Patch使用指导.md)** - -- **[Linux内核编译与构建指导](Linux内核编译与构建指导.md)** - - diff --git "a/zh-cn/device-dev/kernel/\347\263\273\347\273\237\345\221\275\344\273\244.md" "b/zh-cn/device-dev/kernel/\347\263\273\347\273\237\345\221\275\344\273\244.md" deleted file mode 100755 index 6d10fdb0221..00000000000 --- "a/zh-cn/device-dev/kernel/\347\263\273\347\273\237\345\221\275\344\273\244.md" +++ /dev/null @@ -1,47 +0,0 @@ -# 系统命令 - -- **[cpup](cpup.md)** - -- **[date](date.md)** - -- **[dmesg](dmesg.md)** - -- **[exec](exec.md)** - -- **[free](free.md)** - -- **[help](help.md)** - -- **[hwi](hwi.md)** - -- **[kill](kill.md)** - -- **[log](log.md)** - -- **[memcheck](memcheck.md)** - -- **[oom](oom.md)** - -- **[pmm](pmm.md)** - -- **[reset](reset.md)** - -- **[sem](sem.md)** - -- **[stack](stack.md)** - -- **[su](su.md)** - -- **[swtmr](swtmr.md)** - -- **[systeminfo](systeminfo.md)** - -- **[task](task.md)** - -- **[uname](uname.md)** - -- **[vmm](vmm.md)** - -- **[watch](watch.md)** - - diff --git "a/zh-cn/device-dev/kernel/\347\275\221\347\273\234\345\221\275\344\273\244.md" "b/zh-cn/device-dev/kernel/\347\275\221\347\273\234\345\221\275\344\273\244.md" deleted file mode 100755 index 2a1245c1579..00000000000 --- "a/zh-cn/device-dev/kernel/\347\275\221\347\273\234\345\221\275\344\273\244.md" +++ /dev/null @@ -1,25 +0,0 @@ -# 网络命令 - -- **[arp](arp.md)** - -- **[dhclient](dhclient.md)** - -- **[dns](dns.md)** - -- **[ifconfig](ifconfig.md)** - -- **[ipdebug](ipdebug.md)** - -- **[netstat](netstat.md)** - -- **[ntpdate](ntpdate.md)** - -- **[ping](ping.md)** - -- **[ping6](ping6.md)** - -- **[telnet](telnet.md)** - -- **[tftp](tftp.md)** - - diff --git "a/zh-cn/device-dev/kernel/\350\260\203\346\265\213.md" "b/zh-cn/device-dev/kernel/\350\260\203\346\265\213.md" deleted file mode 100755 index 2327e141234..00000000000 --- "a/zh-cn/device-dev/kernel/\350\260\203\346\265\213.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 调测 - -- **[Shell介绍](Shell介绍.md)** - -- **[Shell命令开发指导](Shell命令开发指导.md)** - -- **[Shell命令编程实例](Shell命令编程实例.md)** - -- **[Shell命令使用详解](Shell命令使用详解.md)** - -- **[魔法键使用方法](魔法键使用方法.md)** - -- **[用户态异常信息说明](用户态异常信息说明.md)** - - diff --git "a/zh-cn/device-dev/kernel/\350\275\273\351\207\217\347\263\273\347\273\237\345\206\205\346\240\270.md" "b/zh-cn/device-dev/kernel/\350\275\273\351\207\217\347\263\273\347\273\237\345\206\205\346\240\270.md" deleted file mode 100644 index 290c4915bf9..00000000000 --- "a/zh-cn/device-dev/kernel/\350\275\273\351\207\217\347\263\273\347\273\237\345\206\205\346\240\270.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 轻量系统内核 - -- **[基础内核](基础内核.md)** - -- **[文件系统](文件系统.md)** - -- **[标准库](标准库.md)** - -- **[调测](调测.md)** - - diff --git "a/zh-cn/device-dev/kernel/\351\231\204\345\275\225.md" "b/zh-cn/device-dev/kernel/\351\231\204\345\275\225.md" deleted file mode 100644 index 73adc5ca617..00000000000 --- "a/zh-cn/device-dev/kernel/\351\231\204\345\275\225.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 附录 - -- **[内核编码规范](内核编码规范.md)** - -- **[基本数据结构](基本数据结构.md)** - -- **[标准库支持](标准库支持.md)** - - diff --git a/zh-cn/device-dev/porting/Readme-CN.md b/zh-cn/device-dev/porting/Readme-CN.md index 0dca00c895f..6e960a48da3 100755 --- a/zh-cn/device-dev/porting/Readme-CN.md +++ b/zh-cn/device-dev/porting/Readme-CN.md @@ -1,27 +1,33 @@ # 移植指南 -- [三方库移植指导](三方库移植指导.md) - - [概述](概述.md) - - [CMake方式组织编译的库移植](CMake方式组织编译的库移植.md) - - [Makefile方式组织编译的库移植](Makefile方式组织编译的库移植.md) - -- [三方芯片移植指导](三方芯片移植指导.md) - - [移植准备](移植准备.md) - - [移植须知](移植须知.md) - - [编译构建适配流程](编译构建适配流程.md) - - - [内核移植](内核移植.md) - - [移植概述](移植概述.md) - - [内核基础适配](内核基础适配.md) - - [内核移植验证](内核移植验证.md) - - - [板级系统移植](板级系统移植.md) - - [移植概述](移植概述-0.md) - - [板级驱动适配](板级驱动适配.md) - - [HAL层实现](HAL层实现.md) - - [系统组件调用](系统组件调用.md) - - [三方组件适配](三方组件适配.md) - - [XTS认证](XTS认证.md) - - - [常见问题](常见问题.md) - +- [三方库移植指导](transplant-thirdparty.md) + - [概述](transplant-thirdparty-overview.md) + - [CMake方式组织编译的库移植](transplant-thirdparty-cmake.md) + - [Makefile方式组织编译的库移植](transplant-thirdparty-makefile.md) +- [轻量系统芯片移植指导](transplant-minichip.md) + - [移植准备](transplant-chip-prepare.md) + - [移植须知](transplant-chip-prepare-knows.md) + - [编译构建适配流程](transplant-chip-prepare-process.md) + - [内核移植](transplant-chip-kernel.md) + - [移植概述](transplant-chip-kernel-overview.md) + - [内核基础适配](transplant-chip-kernel-adjustment.md) + - [内核移植验证](transplant-chip-kernel-verify.md) + - [板级系统移植](transplant-chip-board.md) + - [移植概述](transplant-chip-board-overview.md) + - [板级驱动适配](transplant-chip-board-drive.md) + - [HAL层实现](transplant-chip-board-hal.md) + - [系统组件调用](transplant-chip-board-component.md) + - [三方组件适配](transplant-chip-board-bundle.md) + - [XTS认证](transplant-chip-board-xts.md) + - [常见问题](transplant-chip-faqs.md) +- [小型系统芯片移植指导](transplant-smallchip.md) + - [移植准备](transplant-smallchip-prepare.md) + - [移植须知](transplant-smallchip-prepare-needs.md) + - [编译构建](transplant-smallchip-prepare-building.md) + - [移植内核](transplant-smallchip-kernel.md) + - [LiteOS-A内核](transplant-smallchip-kernel-a.md) + - [Linux内核](transplant-smallchip-kernel-linux.md) + - [驱动移植](transplant-smallchip-drive.md) + - [移植概述](transplant-smallchip-drive-des.md) + - [平台驱动移植](transplant-smallchip-drive-plat.md) + - [器件驱动移植](transplant-smallchip-drive-oom.md) \ No newline at end of file diff --git a/zh-cn/device-dev/porting/figure/HDF_WIFI.png b/zh-cn/device-dev/porting/figure/HDF_WIFI.png new file mode 100644 index 0000000000000000000000000000000000000000..56e6ab3aee9a539c76afd3edac98f21bff0766d5 GIT binary patch literal 60062 zcmb@ucQ~7G+&-LYRZHoxiW;q&H9CyitEj!H8Liqv?HQ{@OO4j587p>dQ8QIlMeQv{ zONkY#2ogztH{a)Z{(b*>@8ifpF88?ZYkbCeo*(b@b=7I9S*bxF5Us}3Cx#%<1uqbY z;^U=@KugEsi81iwoVTI6GN@|s);jRzf}@g-5(reANOSU>68L`k)l+kC5QzEu>E~P@ z@16n(wDCyeiIQ=E&DK0s+bxr0@~-#T`J$MQ!@*95H!i6B9_<9g>I9q@|}T}$$2oGrl>YxdEoV?>rvpRUn_eE-Un1M!s*#zGcl*;&u3x`4B%D3{ zK%I*!XHd9lVY{Po1vj#vY!tcE8U?50;r4XaP`?iTi`tYKvJUO{%ZC=HO$E0fw5wpxIUE_I?sEE z&&tNS1-IkG@967q5nsfF+1O2QxDV$=1i}g(?)T-@Y>`8}>vclPWOoD8G!^P+xBl@W z62&w&k=Np%iG`kAAiMoO(2v8uKt1X}F%UY$9Et0)hrk;%rcU?>=K9hvuEO1R3`4JW zPap7@BR?=$ibhR3XA^~FBBws6-`ePC+OaWcPVv180?mGx;G1KUOK7+CF*0^KpE@Z6 z%6nAbvm1L}N}U}V+4^U+zwqDN-x!?uOL0|o!W z&k^U-VeOo$CY`jYeScZXUy+u~92&yT3H=Qb->4Uu~eBwN|sTf`f^&4f3f z$8fAA9FaOnsrZ)P-!12{{tKznk@{)&?i&k3>Dj^i`N45joNS;Et5QZG0wql7?obS8 zsDGx+anW)CQMoI6(VvVeoH~!?CTz9G$gF>}qq)czOX;=c^)y6knHno`0Kz@6Uxsuce*QN-ELh0}nId{TckvE>u{O%>J+QO!%KiEl&-% z{I38*!vU-iCpX+<8_%)w0aPkY!;eQp@|-3&$7FGfd?5mSHrEq_mwHQ}y{f6d#mc9v zTfXDpby65~KT9>B%%L7>^FS?cj|3l>N2#ri)VVOgXeAfwemyj^{L}+IR4Dp&f7m>| zIjy|WT8OfSVNPq-zoC8K`d&5CeZRwE40$vosw?^#^(Jt%W}fJul zWO1JZVTM=~+VA*~<<3r7{ZZbsdfg*PZ*u6u>B?(}2PO~wezq^&D>r0=1#B@*wBz^- zH*Hylt=9Ed<9INBvk#=as{8hz$8gRYzBBdfEK`ts(6^w!8VRTN&CiRVxGSNUH)KeE z18Vvy1!^mhSHE~J=Gd|Eu***GXO_DC#i$k9{z{=F#r{ezrFIkV)(b;&2+_lonU>2SC_Xt_8bm#*pUZAUdHQY zD+>C`!x(}tE8?&NOY$>8I(acVU#bT$d;*q55!Szcs>@liG` z1QDZ3g?5QnFz3tZAVIf)C2)DQW|LNS zelJEr zeqFsIWkD}N`X8;|d>|iKvsh8jLSMz$TyA+EeB{`>7qGP3^Thljz7ht*+mT&b0^r2g zR~7c*IHkRk%7Wo+=fe1C0%}}O9H}+86H3^O81+g%Q^I3tj1 zXYQA6w2T`{rvWN9WPxnpN@(m8ymxFUQdn~HKs1%%CG~y|wavvL`KinYXI*sym*4nd zz%ycM4B_jJ7#KJB)#JceD)1Kmo(lcJqm487^LgCjRQjkuUf$0)UmTj=lB$aDNLu;Z zzgShyUaeh7v-AUIBBQ}a_?py z?}Lp`rrahx2Zu(k)J`*bF?h|9kkUl@gBe3?xGKE7-8x15Baa<&*>frInTu?2G@<#k)o$jh zAhG+r7Gle595Q9?pR;DLlzP~@J?Oi{-JNMNqn-C6+M^~{l(9HGzRsGV#-Q80^M)@+ z#bAdf4$gk zOiWAX9mCVHhx{OTxN%yjaXBIr&BM>*WY~AuBo5)E^k8T($g9!+qIRyl0dh85Ye(fw zKd$?hvrhkt$8z#raB%yj-WfC8i{MaEuPbkutk|KW%r*XC8q=C4IN&l`*r6l#9vR8c znqUE4Z(y{4=5%S3ITtFl@$<7j?j408x0<^_1O4*`T1w9b=u#&eQKDfnYOuU<(fQKx zsSmEMw>w)S7{dw01gx?61rIm! z7F`*W-46S82<+{U@_&`F^%T6Ux#rNU(nqtnac$Mk`@Rm9eMGcJ+fCX71fB0P3mf%& zcE6($k~!4auJv2{;R02Mv6XCpMZ4j5<4abtNEmYE)Z=6Q^Xpx({_!dHXIrW?zWkz> zn!DK7bT8ste#MXD3c58DX;}nASE^q4dsCj>E1Ak}e2qv{>d~vwjTp6549>#Slu5mf z%trY`Ii`hLUf^|?!-i9^ac1fx`#xi^U=^^NL|o|~AlO>vrfghwz~yu@#{QFBDXRh< zq()f@dUYkhrKlyHt;?b^7cTXPt7!lC6nByDQfcSjV)@irWXq?cLE(|t%`P! zZfMMaLzerN)*$rn@0gC1!tkdL%sc95mH9rOdfx_j8iR{H&M4^#h5if)NT#UpR$=0I zf}u3}iAda;?c~@6nSMNKsXh1IrKYpEa`VZ#frDrdCWwOXQ{m+vy|)~%cd)JLqVTbQ z>F9M&xEtrQvn7f&0A_63c7QukKFw^TF@o*gVe(!{{ZL}xN8e|TQsl3wBSUGz41Tau z#jd3HU(STX>ziiQ-Z`T1{)byWe@FYPj|}SqzVO6ZxTW`3w|!3^C7z_CcHwSaQ|T@- z*rr|hTxjt6V(el1OZ68OMfFQU{os3kp90R73%WFjt4AWn@EV^n$wb5K7w_OjxA6xa zwlR-H)mW%ET<^w5FCk&XvE;-KMTqiVIMOg*xf}sLU zq-7#udP@KSYbZ9eSREm7{DIkTqV~mlOZC;$AVyqcQ+2tMGW^vHv7&Fs@FY0-7c`$}KrBU2SNi7rfn}Wg`)j zrWHX$o8|7z?qoepivAdRw{^QMS#;&07Lv8mj=|?rhJr060~uP!lWF()@&r`W-0)^SU=tn&E1sH0O$33RT?2qKDLCa}z2 zoaMEMnH5FHEy8@=#lW+NTPJ7h(4}G{;?|7okTtZ-#PEyS(g5O{L+s0Z-507XTr%5j zX5&}i@tRaY?yICa#b013`IW3zR+n;|*Wt9~Sayd!(&+iKwO zyB6ES80}{c=zXn4#C4d9s?sN_o`swy;fA5jKvfC36yawJ7+Rl-F5L_nRvR1G1Gi}x z(nNNU{kK~|f6oa=h-oRYqr>P=`Ku08uXEm*!mqD{yyJgwLS zpG`Xn_E(C68ruM~HASR*{8Pbu8&g91?4T3)v6Lcgk!V+Vy9V20y80%1P6V!kshMNF zC?Arh=4jZ{;g>P~jqj~TiG>@pxEVF^E5GfH4x>fip>{h992*qyQL{q$pD&bdi(jVB zQFUcm&XBRFR*-@pG`=7d-i6Q%jJ0f5B|A$siaHZ3#+(V3Ptj>Eb&R;7c|T&6%o2f0 z-Cn?v6o*Jw+zaf7`2WH36%;$bFXDj+g6QV0?EWjNmifJVEHxz0^nebuc4f=6%^@P& zLX+lZ9%SN0YZ2vX;-19*zgbRl@mZ`5WWe(Om%~OXp27ye4PSF58QE_*nL@jbgI^eP z{nyA<(kEt-Bz=Ow?E`r>QSz)cd@%O^E^_+uyJsRqBSTavnDwK@o&;o8j9eKsc@x>f zCgzkEHYpEuWA4>5V!Pb6Dz2|f^4Sm(Cy9Uob|KvDX6P*tYnEJs$69fuu@pJY%PdM;-O*rskLp+%F zb#|$j7o>+uI2Q*W5PL^-~Nd1Y3>1&ehy@)?_UIIj?@R69S(R1t%uh1-=7MrcS{NNfSv*ai4P}tS7PU6S1V!S?;9spm>B1h18+kK`o)5y}Eh*5k_q&-8{sg>1$GV zfegKM>+n|^(8r%Sl8ZXo(&%=X=b3EeZnF_r>ZM!FoA;XzE~*q_4#wMlz4z>mv^!Sd z3|vGl&9&US>hl_Z;IjAY2B^UiJdnv|UqIf;(QwC2?G;Q#SIa-99;~hze=)LWap$ZH z+Y#B1s-YutM{{pV+eqcF=Mu6+Hj&T#%hseoTv@e4AzRy_OWcS5A~nO^T7Qpj_YkV+ zQ#XH49P+k$yNArQlh^mxj&m(5f8iE_R3-EDhJfqx9#ekXfo>G?Ye84H=4c1G{jIyO z9moF+noTeL0V&!6SVLyXS1aG4EMcW=6@RON9N$0D7d%0ER|?gHu!C|zMKZ4lCWV+o z1!66sXWGBOOU^2U;A(Kqv6+X-*O5d1D|>DK{m924{X4$C$gUsubM|~5OycROT1>aV zi$||CjW4nen1@MM+Y3$r*4+X}o*a!M2hXtk?q4RE`?l|G2MhO~z7?vv&49@pn*B7hys|yM%oVhTfq&NFH@#&tHmFi4%Ame@s?liwbwLc;xvR5!fl*E`q?wPjI zw^=9036IJNo(Bn*$PbP8e99aE7UT9anmk$Rh4*tluKtTeazZ3qRHPJjI6pUUE@S)>lD^S@^(M8-Y1h=Fr>Qk>Zz-V-9V=M?1Xr%2bjvqDNK)a* zeg9IPY`>6P1J9+xFKQO|)y*Y=K&*-|nT8fkVXPmGz4sZG8`2iG8Y@xTf?0Ur-jj0} zTNmK+q0{K+^+kp0QW&K^y&K zh417+)9k9GWK#%^j!l$ajsoZ^x+|uIhicysJdnGY8-(>H3l8s^$aud5Ai3@Do7H_Z zt6Q~GBpT?@!~TYZljAS16ORllRIbW@IfaxA%p*Q1D}4Zx@XqvXv`_Mf4rB1*%yY}b zpUGESuXjx)=DIdBS_#6ha)_m6QhF)FXtnlt7*C(;VGEl}THHVtGc6nkWDmt~47**#?U*DB5_&x^ijUm}$z+v^av{9mO6ioJTbVr_I7D$Fij zfyx$w#eM%DfPDD&{Hys?1EY%1zEjpcK(>FJY6f+F-n0;c2>yqE`hQu*6I$i_s`UX;?-P z%9Yx!nN@mAZ$gd`p{4HWlMEqN9RX+Rag_GxqWDBC zh1l~?UX(92u_|ga4(^u+#;eCIouHhrZV{sOvq*YO7 z*wl>+F1e3*GQYMMjXgX_FZ|t$ZsB$?W{$X(*BRxbrK7>#IFs^|&An{`6|1-@ zXT+#S+lb%e0?jqlIeh~dill%Ds_8<+a3DZsuv$HB8b3qUUGDjQWg>-6h)*4x-IlIR zyxFX}6m*`|+L4Gw9ih?-Q}!PXo)m_`_iE5q^q_HNCnP;@e@7LsNtE%Pn#IWxGi-FL zWly)`&z!aY;-=Qjbofs{bizOQ*N^U%ckL+zUaKi(Cg~J%#Xoex9}W$LD`Ql-s1!>I zX<|-u59wMy--}dv53EmliJ&gY{>^$2NZ%SclMFn>U53gu$y&wM(%ijhoxHSf(fClO ziKQ`BRLZ|gXGXz@MbQJb=Waat)>I=$fUg-a5FrAXW(?TpG(D0Iv#;&MZ{lxA%K*`x zG`savw2{dBl5u_2W)d`_P=%UF_kvEm%x8PI>tGU86`mA*SC86)@!yF0GPLYIWscZL zw{nj%7uDJ?iTRf=wb;86KJr~KM@E``W#w0)|HsV4h5K^ioJ%g<>ls6eyP@5-$M z&$Qwn7P(p??Q=k^J*-0a7yi|~`M?kC0yn5oj_HqK5A}JG)W0!R-RL|)#Tj~2PEe77 zLVQC)u~S6+0mtWW{|rjTp6^!_CP>{5Qjoq#A*D!FLT~P5=W1ki%4}H}ec=(aZ&FG& zvth?*&CC?*?>cC%j5^MaR4_0I{P}mUdKYd5Q#4n5Z5Y0K=$ONnI>B&nxYPtiz*ZO5 z)pZX^?R+i0RT5}8*1!x7=|wFS3>oD)tV~SCQ;7E&8aAEl`#0kCt@Uc2OhiJ||L)2` z`NPOHgU%alZ!;d+$BM3~ISZ-{RHqEkXFe3LHHfE6KFApLDxaB-X0&oiD} zjz|G`3H|+>PUB_6ZJR$AVe_L5g1IJz#m*A+rO#}6eWW2V{OUa;VjG{>vP^Dz58_5> zChmKL)}u*9go1xq#{{o9+y+xBTLgQqZhIp0#%E21`v*xJ48bTmvDp=+deM^0?6u@Mrl9kTM-i{{2g>#js(zrKU zJ{*y9d@a9~weR$BCVH5IBPQ2byG%thZL*MqcjXf`&?D44VLRm(B~3ijo%PuW|N>e&r9 z{ExpS>or+DNhc7}itPL+7yYeHjs&IM5w+hpC=+Xc2au*v)~Qp+MeWZ_O<&xWmN)iF zXuvQKtTi@+{-|+l+DI1o%DK<632*X+RskD56VqV&ahNoZ`#}IAez3Qt$NljfAbvZk zn5ZAP+^jh_O`|5M8YQ707eqCi+s+iv>F;yJ7$#A$i8$jc;xa)|@^&Aqo~!maP(FBa z?lL>r7gD-KZxDWGyljbjz$`nVy3g(M=xPs#qi=5D<^gko*KO%01i&a6{8A-*PcWtn zHE8?Et&8WVcLh_A99wgnm(jn>p-(e+a5Be$#iHAmKhu?FGHuP7WUUV7-hvhvuN(34 zc9gX1az|HJ(`$w^7y_a7@$*Vpb0rHwFoRBdBL);W#ohb4c=!Fl_fk|BFAXJ z3U?-?HSkwt;unGsofLHNw{&)Wi>LNyocBtnx^S_2e%3`g&SbPr$q?#DOnTBiY)fs$3ZRz5*XG!}k z&jo$n>jZ^`XyQ>Wx!hR7ffWpr2;LRgY#Cu#eYEZ^7KLR}_|5}m0`BHcJR}z^V>8U; zGmj26OI|@bY!{s#J?HqinpoypLYXCT@YycWde<&jPOTW2MJ)3IebvbR!r#n|YrEvj zMgfV%K%BxSQ>_83IBtTOZ?!0B~l)GyouI(`3FVb`bWV>V4dIX+BtT0 zJ)W7S-EOS|lYrAWqv~GnqL_op15FKnuNub^)~}nwM+6We@w2jm$`wvNxACoa`uk-0 z(}GG+n=%LUv8+@52I{bD@XJhWO8lD-r$&cDJ%h#zLuOmXt!?MohacLTARyMXF8&p* zl-)SyficrUKkXd8d4plhn!D=fM>cP_zr6?i+$--b=VXE)Ii;XRz_(N zNe6_9oL(_$^|fjEe}k)s+Br(9PfOrwp<&tXD;B`qw0tT&^uZ#`!kt}o?2WI{)^v$) z$>BQD`K#a9eI#huW-Wjv!5R%|eFc7qyP1)uRN#tw+-?TrD_3EVc1&F=qECdZ-&2RV zJ`(QE4KuZI?$$Qn?&GK4%$p|jKf=h!xNX9k`Qz5s`8Z-9x`Yw3z{nFhq1Ls%v9*(Y zgRgZ~c7?mwe!QCruAcn8>@)Jo&vtlom*yGq*O1leL+X6H-X4R( z11GXsQcq|?T6btdvBJrAgHy)&_OQfu+~LqDd+=PZFc8y_mIz)a7j8utkGCMVLQ4)o z?C~OL*r=k=*Uw>7Bu=s%6LlK@r{|&_2PoX9(nWatk8#ZU(MO*vW6dK81=nGcI=jn& zc_pFgcGw?;K*_OjeK_w*3mCULK!Nsq4s%p|oQzM%aGqk-=y6~->I&J|QwCoT(yO(- z2^vqvGCW>Lf8QS6(9``nVC=-U$r`n(bzEp>q8w5DU)oi`_WHTJC=s0+h>;gh>|4rH zN!aJX3_d0@cNk~+VIMIb8Dx!~hSnY=oWftiyH0MjM*0F7NSV|>SV0ryMMH{hg7+FR zdm^D-f5RJb6=Q?@a7yNO8j&ZA5W0R>%npzSVTAY2f{+b9H)aGMLUh3F(@>FbX`Wtf zxKSh0SA3c)w!UcLW?f_m~czf%U}izZ)YfGxl7 zjsRc+p{hjtXVOZW?HhYvsiC$`f+dO9@(kWA$Dd6`EvA<&pX7gKtlMQ&6-L4TdzuF? zORSdT-S974ETN$7PI#UU9trxXU!w-I$LJ*I_5cYwFfEP#J|;+*-30y?%j5?NVcavu z$#|Qq4JXbKk7!ldoa7sIeYI)#%7$8hx7^#4zY3Z?&%T4@*O9g{-;fciiFjA(R??ep z9oi^rqKml|{BugYu4+9sm9uo=hC+4G$g9nQq4(9Vy%6;{3&4cDzACq*h49g>mAof0 z`|9)NR8w_WbV8(}E(O{(a5PcnjJ@q6-hbUgBD@h@sfX2X4$2%GK4ib;rf!=?q2o{5 zyGR!DKNkRCibsx8El0@f%W3VRMbum#j_08Q(KBC-ksKX(nWwRlr zDAqf2F&pO%ObXwD7;8c8@JZC|TdMut?3cLI{bk1zB&DORaZ@L^^_C@td<;0G15*A5 zYV98}{S3lI~ccU!f-I%;qH7ppnb5idXu_$&Rtu8nwfGx1DzBk7ImQzcW zMH?qucC20Tcx`VfBN{ZE=HqSIqxCLv^sdBF-ApkX!SMOUPsw3V%c<3tG!>d_e{b9|TwsDdXc$$2UyJ zBD0P-GELJ~6zb)(>#ESBmXypO^LR~pu$b$6;jna#fVZ;$wom>i9z43qgA?2bFigL3 zrHv_ROgBrLwVX%=G9{4TCwqf}0oTSC-M(m`+n!z2fumbk0kU5N+~?P%7}j*Ig0RiG zsYQb$2YVzUKOj?QS(xd;Fu$99VgLaWC(0A&h9$tS{j5O87`OO)lc+fPdt$AlQo4JV2|?N1zCt=|syvSYAM*0b>$L7JpfoLvWKPX;3hl$~Mn@#+xsT(sfh=Q|I>IMp zJTPb`wb-H+{>DX4%Enm4BiiP-E-ru1OIy5@iWVSB#}5ci?8GT>~U>hhkm0><84zHWq+Mwy7`%!Q_F5W`>%DI_FSd{fDiH^+xmS_geg4)ey$e{Gm*^6ltaN#OFm(X`x^#Vg>U;aP*1FGw^1PISVd~7a zNOQRi*KxWm5wPg4*wca6tEziN$ehd}7b@XClTt6c?t2o>>iO}?hPUuKH4-tWV| z`n=GG-`BF&MC%iBA|+;b8X&1Ssem%ZLV7&`{NWB@(>DSifW%^tx}BtQ1B(wt!1)~u zOH2M1;9$hTO~19<$NtWYKSwT^o=<-!FRi{#XJ-+Pnk^4Zc<*?z*!+3aN{9fexptbj z8maI`xlTe4(9jjwAs~38(qKv;1u7RcQJX5<9eFWUcaQP!&F1w<;fN24Ju8)k%##+g z;;qu_W+*QltMy*R%H(mXfwc@Bg_MBX7oO1cpBEjzs*Xi-OT6Xau?cK~wlKJwrZ(O| z$h|4o%}6q7%_t8c>3pgCQct4~Qof}A9-EEQQvA3xcd|Hwb5O}ywzGf1IjnCj^ zMI|UaoY{q`$WG&PR%vT~>O~*cm0OoV?C&D)O0Qnr2&-d&;$L1h?b)P3$`>2xLh1_@ zr)pYuorW$;lU(O_E%JL!uUkR`@IxSxMQ#5R? z%w~0Ipp0Soa;g#Ar`iZk8P;e>S}J@Xq;bpt%X1py4-?PHPJSQOO1d8%CtJkQGV$q*|o%xHL{!O)-T@zYDU4cJn&i@0VUSErZHCT#uA&SmY?B3i_XZZU+< z&G4(G3Ia!WbhZceChj zhZhRnwzhP=Fn3=elbKjeyIPt(o_QfY5f}|LM5Zs@BFkuobR@D_#JqBCQe=^yCHNMAHhu6E;HJcnftu9WJ4uuZOk|Fa2*6!45ureJcFnN z^~(Ic7DHt$6)x`%36EdZ6-WBQmy}W~x$ECxi+gH*?#ggta*3@4doFrnpxLJD+!n7l zb~~1-StPeysoKpDV+jcZDBU+ZkW_dvE&1YYmOE74z}sTgSUSGZdmb?T3Jj zZd>KXT)uISnVywS-?`Hl+T+f8S2j2I4JvDi;A@ z4T9rLjPGF3^Pp3R(r{bdStnPvJKc-j%Hg~2ry%*qPiZ`FgXr^ZJbw9G^ zAneeOG=I_U^Q!HH8Mc-VH>*K^^B-OB(Ce|DP#TZuV6U?D2{oKdsCyKb!|YQvLI5&4 zA!@Oq7By2oJba;M{7~=*;~J~=Vm=#7Oa67RM?_U~V|K&_!Xidzp0Gk$9vh$g{<|_) z$)(`izJNZ8`x*ZidX(+^!({K76*Ge4@r+#5+FqPE+h})n{5TWdz(Fc}ZE1$XcC)kU zD*KcACso+GZ!!7XQ`HB}^3~5MyDqBN38sCoJ~m>In|9p!^BSTLxR9z-a5LSD5B35Z z(wH43$f;Bd)eB23X`j?e>*ELyISb8J-f+3!mX4m`dLt*Y@pa4w1jbKAsaMC=>$EH} z550)l8!VXi)a;W|-yn8V7^Q;)b!>RgN7%4>{&+ObkoYdi0*mk4?1R)8~I$pxG)NUn!Y|z1!C(;4@NTUt@3_pvWD1PBv)q z^$pSCgG@or6|1fChaXKnN8Sl8;0}RoKfW)@_%tzqIX6W~7mWGyjo{-%9ZTngo3`pk z?DE8B#bzh**+=gh5Dlth%6TJek;d46=h@YLwY6!Yza>7`=uu^x9+5&09}9Bm3or@k zWmN~|a36#@W5g+UA+Q%MD(onIv%G$X=Nm-lz4D#fP1e(_YAS`Xa2XZJ?o3>&1h7DZ z`#kbdt53}FW4+3l2k0vrQz+_CK&7E@(GgA_J1JwkG*Itkey`cVjBj}5Ld1TUMg$Kc zOk7;0$1qt@w~)$1h{)Bj7uW91w8P2wl=^SV*ex}I!1A??0v+bAmQUl9^`n2>c<^;7 zo13Y^!OVL5=6EnPT3#!8d#jAr@#YIX7-O2zhCyxnMyytdK$H8#$fwmuLiN0i#<*~n$F2M|-}tFr9Tgi64Ku}q;db8@{J;GW{zsv+i$p~k*C8spk=&F1 z8?DP|<^D3{x80R1e5{mXTk=J|_UT&5lUYHFO*wrtT!sSdrKZV|W)|{95iuC(W0`eF zLT5xMM!IU_kUkWHABf3s?|Pv9F(D2mg~bH+#J`el=$U?{J?`1XK_5ri@B4nlaorzM zZ@%H1FiwuzvpCv%rE7FeVHht9=<12}AxL^H4H@vX?|INcF<029C7(Uh&M4*1o9*hI zDM!YoQU=Wocg?(cDBqq+q(7<;Y8DPn$ll8<^tQb1vcx%QmQNDvzfPgmw>Hw|WC&A$ z-(}2uAQmsZ`kjCK;cE8e&t%PkoT)9pqg|-MF$~4N!n8RrEGQ{xo%9`DQh|73sA|n@ zCb7oF>RULRsLpJETjh!W%J|hpgb?3IRL-3_XIMqtMgYdz+2?v0SErutv3-BY+LrnM@?)8Y&9Iy~`|A-f#N{+$arY;`4L{zJ7dsYyHCH4h`0rY&YY zv=$5T4*);--IVKBYqe2ZGW@^*bM63@_Kkza#WSIyhu!3c?(s}@oQP4rw?*DTeUA;n zvCnqg`dP5m*rg<=TTOERI$HnWrsgKuuK1R0k!gYF0UDvIo#Ox12r->%goL&{v*o=W zzLi`yxTs`-RBb!|vb`zgk`pQvS{T<-giMPdnF`gF<4QExUzul0ntT@*Op$jzy103a zdbzWYG^D<;wq%j|URkWV<&}s}X9c9-z|d)aJ$N6w^5l?lep0pwVFX1+`k5=VTA*7j z_Sw59VGI^A<)!N$68*fon|hlDi||8q{#z3bO;eKN`RdlV zBQv0Y?;rr!%{5B$*s9rH`Rch{H*OGU_`!z{$q|BS8!7ko!CX;-n-Wp2)4@Dgy3%bS z7atz`gtvlitOV4wDmZ(zTKul_O_QfUW>vaN^Bf9e_gx=;eU<;XRWN^N>V9M2@TJk! z#+#6OK3GukO8q#?zf%H)a0`)se-1gyTJKQzO~G=n6l7!ZYN)&$i6o$NgST3SL#9`L z)+xlM?EB=Jr9#UoCop$+T8r~lVvfurw&ah!9QL18ECcGK zBzCI{5YCowumuofS~pi?G<|g_lU!Ak z=JqE`$UULPPi%A5=~?pL3BjueqJU&$>1(a^nC88zUtr3*;8D(@Df2+v{kPx$4Yuwy zM`#J{WVRf}6*H3$>&P_WLBk#*Cl?P&7hkHI)+-MF5NA&0*a24 z%)~<-LW~!tIlWzPhv0OscCekPRdx`t~ z41T3+Jn3P8>P3>`CkzKDq_|Bvw~)^~%1T3evDLr`hHo7Avo9C)KqReZ5$&VlrB*Zq zNNb&CrN89i2^;-<{MEK)FeS*it71pTZ)%QUYAk;wQ=yvZB!tQK&ktUm!4&>mYxfuZ z)JsGNH+f{(upPF9HA3b9)rIihzq5Kh1nPA6*vp?5yO3RWec^$0VN-Q^%Z4@XUGYsq z_^c6+ogdtE@qKumjiwm`Kv=RqQ|?wH%p&sTHQ} zKZP|)j5lmh(IjBJW~@Cv6JVsrr$VSlfYc<7Ef)=GXg~*@$D6r`mD}bX6Y2}k%Gp#g zn7$v|RjoS*JQ(CD$9}H)N;ZtRw9o&HITGG|vf2P^O*ON4Ah_97w&Kj`a5TJSlJ5U z9B3tQKMeMH2X??Ix&2x|-qr@4C+o6&2D3AZZ{8GpE1#h0+ojW_mWYNBAd{T`_|NlQ z(5xSo_xZk#`aAS5tdLzp=e$%w3i;Iw{192*cagjtHiu2@*x}Xw8Q(ww;@>VDa{O$` z87kVc7Pgc+WYttl9ELKO+b;rFg?WUn z54IjN`r}PRKM(N@c~yu`4H37(eG7&B#L`Yx8SO;fD)M7{kg@Bl_d(`>;J5JCyW&$$ z0E`el@TSKz%|fPj)Dq2|bGuGl&BGN@s#xZN#Wg^XCo1TFSEn$cxz;@D0mhB9UH{$= z^r4(4J9In#9f=Wx7a5gfokhA%@sg=QUovH?XP{EP$SmB%EwX0Sqd>|Zr}9X$CX`5+ z*)<@`CYOY<%XwJ5y2Lr&l)l+?GxZwi>E1+T;K=UWMHEWX#oqs~zv;n{i)$9W*MQk+ zb?ksh+os7*X*wWysOCv3q)Vv3;3Za|`xnr|_~8w-O*%=v0;t%&Q?}BEZ=~{Gsd-AK z2_<}sin?JN&_e*KugNBxu-k%?4}))2TXOMz#(p@QqpuFx&JC*<&jT!~Zq5&ny2%^v z7!MH)*ja{pY3}4#>vpf1g8xpK^gJMg;4fY*kShp3L9z*BClSl~%NM-LE9NxsbiNDO z_+ko$-9@NOG74V)^Hi#H5?2XKaD=pf)?<5Q)??o^*MwCN=-L!q%V<2m7JtjK$WfB) zLU`z$nXpnnKhAsjpw`d88|>lam=N9W}Os>K5r2 zMOH#=Cdu#aA-DYInb4?M4K$hh^4?)z#q!+M1nEK4#vE8gehAU%P=!ttLTj`0#K`-J z70l62S+k_FnY5mI8bF(T6?hN3^Ve>8+%SG>@#?Ds9RtmknZB}<-~J`d$$Bn`t?#GW z8B4(~2sX}ll@Hk@pLJSK1YXFy<#{*6kUE5OiOFM zNbedfS+)ODY>63AuYI3-F%?5^~9k@L(A~RI^IQ3L^N`F3clmOcv}lZM`!0Gi zToK@VoBTwn@j7?YTO>sGEw>A)I4>*Gk$RNjUv=^)jo_#VayMYgxe~n+3H?;+D%3=iIFYiXKQ(C@~+SiwDO8?8Y+qm2RBq6{I3}nVT(ikZ^0eaCs znu{~O2gp+g$YmHC%PptEDf6E(@^UuA8)B^CE z0cw4pYOmrAI~v|opgm&k71VVi`XHtSAeBp8Wm1XKyrz4i;t&HPMAKrxgYp_G>Q(+n z-0`cD#<-?guf4U}G_f7LJmvNAko7YZ(>fWy8hFZUu7Y<&#mEyyfi;T=?X&>3;j4*q z4@4gqXy>|!U#E^x#B$Ci%;r9yFRd(oEinwQ%nSIXDmIi~mJJy2O$)+%96MGeVzM!9 z$S_=MhrG}cd~D{mFB@Vy$s2O7a#;H5TOw8h2*6IKByCnCGjCRi%@Ls)@n_5zxm78g5ok88j2X%&A8vU^Gz?w`x>)?aMllttU@FhK6 zXY7>5CLW+`O9o4Dx3O9gX`;e6%>@W-(2aFRXxT0hWdfZHmvA6d8^qKD>cq$YS2Rk@ z);!NkEylR9W!jnaNS7QHmgZWJGC8IFjE*uiHeS|P7%2W$@7x(Zxp$AJ)DagQ$+IiO z=xd0edz&a-+?bI`A=0N-CgJZz>V7NAc(fZu{Rvi)j1iu8`fvBROg4tI#l_$+8y zi&&kRZG9%|X*C3J{NUpFRO;aHhPI*fD+^gf-0|{276Yhurzv$!QRlUCw+Z7a&@-wn zRJADFXk|{K>#WvxT(k3C&8>qqPQDuAHF%kszQDUWV>hn#6c|x@!_z zvrOZH4IpFVJTR3?UG2CzfF^yNo*GM)(m?k8AE71JYv-}zW5WXh?r#qKvb%rAI#TSi z>Pyd?QL?+ONH2(WOVCPh4WEaWg_x_S%{q1c?nucNcuBy{JSRXx%5ZobWZ>shJA#oj z%|YR^fFdz72x3224MR8-b|1nSxVZQwrKYWRLX<{boAw1QAivOhVx+%Z1= zpRHAtu{|$BZX=RI1bQwyNRTHTMwZ`RM?}B^6r?6@A_QyB75`V^$wSkXf6vwc+hIdp zhVf6;ipUHI6Dt_WbP<2jIzS;f^`{po;hz$!EDJ_yCr4K_Noyv-IsUI$Mhz_{nE;@mAiRQ;<&AgSvss zhiZv-qBrLm7-tnN$7RZO%tev^W@JkmDYBvjt0UC*-%&A-XS=ljZsv*)0rXA6Gqga| zVy~5aH(sPj6NNVb{?9|RywSL}M&Xrr#9Q`Qr=q;awBCs8AD^Ti2RNesA93#i)Kt_) zi$)Mp5V3$rM^TWjQ~_xsAYHnEfJ!d`1wv>cC@M;qD!qhWr4w2}Km>%)YamLmL8K=n zc_;e+cix@3Z{EB&_swI*8O4*6z0W>-?{BYft@Zhs$B{DfCs*D>o~_7eRzmWgm#BUV zlLJK^avBZP2}*Bwkuo|(HHHKESOMOlh;H#i;>t~kxK+7lB4Q9<2QPUTDBoTGd^jjZ ztrAvbFuCAsMJ+4gi1tdt?4&fUe2hL30=lTYGSXtn0__~=z=&c?^^JgB*OnM_{u@uuW@fZN5c`Q--fI`dO#n%)8bdA$0>;|c) zJxRO61-N;5lvk#H2CG8mtk+!`R8cs=<m=NeE2X6xqobJ3#(~U*Ms)I;KRRW- zvA^Fw*Q4>^GLE+CyqD@3k;@7d%s~5}Qwtip02xM}Zqr58i{H*D&nF8@2Q0jEtsKuUcCJkI;$h~a;xR_TBgIT( zXBRuGFNob zj44>)Rt&GXP@D7zCiEG)DfQ<_y0x>f(|mtcJm%5Z=A@)6r=D170BnfSM3_qPSZDF{ zYYz4-pH>eQcsXLjr9DC|mZ}r+ADF7!)b_8k6W0!*`#;nJx}JQap_I&+4;N`kWQ&WU_a`L*jPn-ChGtcX|^I2KAEd0jfI;&&2Iq`uQ(C7MW$D zVE`O%I*Y1V(&9aZ+_kXRhfV{HZ$lzy{TtD=WlRv+JCJW2hb-{fh=cwprv1M{Rfx0i zj&cVi^ydev`#YO7?2`sN-WXOXWb0I2qE+4M%zjT?+g#vtN`_9~Va_4HtgdleK2;_T>F@cpBc)6i|B^K`>= zQ|GUx3K;4B)rQI*b}JF5lKxQNe=XRQom0{3`9PV6>rqjB%2?q!-4tNWkg9k=`lpV) zljd)Dr`VvA`Z4NgjJ37q%Mtz&BKRALHVCWKCskC{pU8wc0)p$U%%!TDQORNjAe+l- zl?D4U*qUQ+Y9t~rK7rOJR*IQSjG*tYXdfr5MwSD*JaP*$FJSc@=HBnPlb&;wxz<|I zbm$XDSi*N76JQ=1(M~A0GdfOqW3Y5byL5e}%1t4Gwrcd;8t(&O$vtP%29^+#LKrA1 z5ODAhaQk1+-U{Nf;RzN$%vx@P>{G{`VNO$EqZ@#dT5*#QN6EVSor?5AlhVa%4N>>% z%wzEN23WDJo^#!toZ!PYoX~YI&1kxpMPfWNrzxlI{?WsJAV|Cn%Scq{+ZLT0^`JO2 z7%r5U^Q-`;nrJRZVe!F!^Ov5KXC31<{X)CpSl4P6fL|KTu&!mJ*~E`#%iv7Ov7Gav zxupB^#D&wEr!s(i!`9DQHsh(QGD)3T6xr%yj)jTH43+XGxeoqEh%`cf*z4|D& z*lty3M(u_PE2usrQq0XWQwS_t2R=6J|n>P#a`hB z4A6cM)7A1+o4^vH@j%QE(*d;NA(c&WIYoFWw#4KT%f$HGxXC=>cFeO>^vxlxNpkcd z0aaTH6z^s1LN2>FpQYQl|3;j_q5T zXP22~^lz3Ta*18|j%__O{WBU5)GXV1t-qP6Sg%k{|12@cc`GwEq*;v&$Cp__fZ^@g z5A#5p+n~eo-;%MlO>hb-ryR@W<$%nv(TDblAPZ-lBD;tsV>^d56U%=FjOv+CkygC5 z#n75}*HsfeS8QT7PM{}m^>ecN47EisDTqDfB$ZeF(Hg2*fYyl}DN)m2cv*oWIrI^r zBpeh|UqAPiES0I)9psaJc!oRZs4`U%=D$Y*j`{V21f`?jywD|+3B2O~5ua4>a9j2# zd21t)ORf{LH7$j=v6ti6?cl{^qKP3hUWZng8{xtjwuSA9*`JB#{)Ox<6S!oFcVT5E z0I8+*XVcY>q}HxwthZ}LOFmh9Ah*W|)3n`!{liMwmYF8svZ{n!7Ouxs;U;Z^EuVQaw~zrxi~5DSbjy{vGI9H#Z{t6q$0T*tr$(kjn6zs zf6xLMHy0Xdb+otAE1AS!s3GqASuk!?)R$YrYE3Li`f&%Z5kbFU&^cKYnrU>TYO8j| z-H(vQ2h-067cZNkh_jhFRa7d|e3}FY-pcNse1mSxWGTPxK#}$OEJfZ#h{J{Vax#4(aH1L$^=JvX75QQOj=41fE(5dO=Q77<&^i7O}!fBo}r`^ z2F*&RxFA`k1QvdEl5eIN^kI5?UWJ3G&Zuw{T!{HJdi@`0%NdRru2gj+FUH&8F9+9o ze@lk%HvT8_$vW>+o*kt9kay3C=>`bg9d$Y%>!9IenDF-B2`PRJ$Y@Ot zcWNOn4t3HwvE#SieQMiFZQj9`-hZr* z?_aAgz-Fz=6fH+{GXIOW3)`SRljAMFH*Il4p*RST$d{L~2bhK|0HX?<78HPISg-#J zm4^Q6o_Mv}_o?0EM@@*EBTuTLaaxZvADhlh?{L%$49P``+?d_uzWnX=HXxHyai zcmE#R!m7FZu}!bT*HI*{MGPhCnxRE3ms~236Ar5EzwG`9>rP7c(wLQ-O9~6G@G4p) zqp$5E*_9xA#!+aqtIsWognm|$Orx-)lL&%aojiHyBguS55CYT5RKT`KJ~uVr$Vr26 zJK4atMy5WZT5fg)kq=~Y?d6Wk^-rq*Orb{=cT?|Xsx2Kg8w;*MEqkEGp2AdeIcknN z-qif?RcWh$bI|GQ>_=uLA-}o}1f`5BIqzWu4#BObvqUBr?g473Gsb?Tslr>7zWTcQ zYqkd~Csdc2nNuKxdRry!(%%t;9+y_*#tEg&EqA|HTFYU^x3KmJO?p)yD(Z<9ggaih zPNGy3p(SE-BT9X;zXs0XY$|kj(R9^hC0D&_%k4B7L=^^lMCX2dO5vn>IH9rZCMkW# z&qX_-G+IBuA3_fD^4D(5`K&e3qLU$uRyf@GkwXAiV&Q?@LiS{>%jDLLj8sgO^*p@9 zczCuBD~Qds+tu%kSs53Vt7Ym z!#MetIUmi!Jho)J*$zFPuajpuBHd&)@#KaQbtx0RWqOmV-y_?>vDZ$^qTakf7&XJv zjn;aaw6nHzhzeWg2S_0PG%J*8eo40^nC

    &5aVz6jOVms7d?Mdu(r(Fs^=xcP#5qF;@8z>s&M6Htz5U+9D?<<~l!k zJ{?)^E-u7$U-0TtkJhOqt8!nZilW3f*Sf)TDX*?TH|x*To__TZmOr@}%I#6xASQLS zjGjh~siv|Iv2UQ6sB?Ec=4im|j|NYrZi-f3R9~5=QlEpFGaTGWvaiuaLAOHvP%@mM zOh17mL)%y2z?+^X804sQf`lhlZ@ENbOMhk8J02MhWNch5zg;ryBtaE#@SBu7uB?-| zY_2Ujjwf#iC1c)}T}C05P_|fK>4g0)6U%Ca2cXp=Mhn6PLm&ObpQZtMJjsG&>9a-l z#rAO=G+uu~GL|ZoXvE?nmnYpyN^8*Xg?arJ(@$WnpPT}|t)Svt%Yea_y8-|=Ia%*g zF4Oe7JMCT2V9u&a!0jiA212o>Y^pyODi1A$61xPai;ZW_f2MuGIc*vOd<(sOPggAU zIl95gW7u-X(<{ZP)}Jpcgw?%D6h<8AB#)${ml>ooOblSRO4yY3;8 zd8B3OJMEe@FG|MZDef;@?7;f}$+u2}*W|;N4F)p>Grob*&^Wkt~cvTgIy|Qs6RraQ0Le)pR zx#P*qV(H+W#X1zz%#f#47hxw^-1V2TUh^CB_LD1O_A8UZF*#ZY?1mrfcF;kdfv2|eVRfdg&-Qa*0mSSwR`qEOusQ`?vH$?D z^=C^e3OT>tYp3tQ_a(jbT&p=*YaZFdf@^Ah6NmVOYNCGIPU(PV+AAmZ;zra_VTaMS zgq))Mqen*4-UQ?xxU@4vDOi%s{O2 z2oNV1QcHDD`X_X0WrRu57T0xSUBN!QLZ5#%#O-a2NmYI|b1F8mzZ2Onu0;{@Kf6ls{}7Y21_ulPCRAaB~tsy8kib0C-zDem;? zEAhJhtOs*5a{D(khFYWiGfU?up$t-$%j+|#QhCp^sY2d4ao4CsQ<|$7Pibx*&4Y!i zGvT;-X1BsytC}SGgLU=ihQx*QK;bKnI`olHw(e=^Fxp;n<+45 zKx-~nzB{*Y(R>LO>|d9xAMG)%Gst+st3Tz&R<@g~Rk;N`q$^G{N_zJZ{JM$H9vJed z82e3p(0Jv;Bxo-+*%~yTA#qByzpoPOvRRsDG1B^K)+=rnDjHBx40!t~I)=RSku1JP z!?mUO2?D3Dv6-~h5g2(}lmNx0J?xg<8sW#twr_cM5w=9{0G@(_b3k-7`dYAmhPdAn z%WpYV9(t-$@l{wP8$$REVhqV>CC{{B&$<;WHO8JkEaZY;Tx z5rIX#ajc~ie@fKZI2a_wj}JBUj}Ljqvl%y@^oX&@4cMi}z6sUblLt0E|5*pFo`r4r zlC&au%PCWo$rnHul!btyv^Z~hLuuyb+($P|!N|%@(<3@vbD@y2y@SqiWxe|yx11+; z?wQPiX|QKPs_gb|_OP8cQac8tf`K3PpG2f|v1}wxJ{8iTJ3FaWD;^oP z-#=^(3m7~3`LuZicQ5iFPw`1?zKB>*H_>O)QDj5?b(8C%aCm=Kgs5KVh_FdR=o;2h1P3x)kstKXkN9iySkX|HB~y@>g2O1@g7no zx#~1vIt&sANEuo07(5FvTW$>{O@|3CXB(D>z5IT^l2dF(Q7iWTGxe)g>3lN~pNSIi zh~&dl?|mQVbL>2OjQ9Wr{DPPdENKP?g6_e6U(tBEOeMu|!n9^2NLD^hep?lhCj{d= z8mx{gXMwCEVCe#k&W-iBj=3$dtCLQW+xqThlJA!vyNXV+fxd9E@mIF+o=dw!MWLTzZCywma{LqI`+I8FMA;lS=G3AW1d%XC z5sy$|4`W*F?^k^uT1-C-ssS5i5R*C}lfOB~uTg~fRRgU^jY>6Ri+2sPm8Y%aWGkp_ z&-&H3H?Ym!eNvXeq*KKlNb@rm&##$U4)duZqdDYjAiN(Od0R|#LvV)9oKvJvdsa!C z=1tE+h_lX3@3TH}TC}F=Ma}Til$ZPBwaLO7x};$_|1-d=cmdd<46y8V*rX^!gBmxD zZ>j{J@I=|iY6{x?UFg8c>3FsFtcw>f6YBk|5Z6A+rHH(%(sSc)T0h@tAUI6txml^F zL>6AjAsfR{3LEVwe5Q0?MvFft1VMcQZU^&9Zxpxqcs{)#;&Gp_y;yej@D|Y7o4{Gk z+q1YPvq3GWYmFPd;^^#s+Qt2f;CDLHNzyB8V$I9y;-6e2b{g$j%)0zd2Oj%&8h3~P z2;4Ceoarggjr=^Car*;8(Zo$UO8ux<4Rv=Kx<1v}d&Y&S?W0VIOQ&8Gz3iXF9mz@n ztGRs&I9|jVf>yqf>(k^NSFZadJl`K08mfBr=8(VEVb-lNa3f~S$GGGH)6KK(JP==w z6bAuBfrwm2Wb_MT_x$%;c4lsI83*dRJ;puciRVI#QjsIlM^h-peRQ$DZmC;-M3BS^ zPP|j8M3lX7sP3No?)WD6zVoPo+;zry2Iz*i(MdIjRHe)4uirp0<`SuVVX*zS>OyOW z*`stWIhR{9IQ|l~QyepCTE?u3q$t3)r`uLu@c*Jb>(%62h%Nk4@tgNR&= zPNXk?lSSQNZh4G%?Z2Y1JF7Dh2NyzF&TsMIn*<_waVN^iauF8W%S& z1lY_Kync`gt)}4|;gIuuHs2^>U;GXmaV%W106yM=Chk#2<%tx)km7qpT_|JkRJitd z+OGPVu$1=HpLwW@HLJU}W`CyER_@X9+tQ@m2^U>f3F(Vw&iU%i9_gGL82uqj3@G!%^2oe7^o+JU*v7e0pa?I z1n}Lb?SKgNv!HHo=OnPe&bG@0F4}B0Fs**!y{K7~&crVz?;4)(RELZ-PAR&yz4zo) zyMI=BKoEj3vL8=&r z)bIQWuL(@dS5gwcYf-NCBV#759tD&1(=#W4O?_Z?$u;HV?SvxS?^Gop8R1E|c5=N- zSwPvsk-y=wd)y`CGAumWUDuDWZo^HkT7*d{ij95VtkOD>AC59IkMOhgpS!!f56 zrP*joBwQcN*!wIovY#O}CeqZI<6g2~GQ&85-3}1)4_qm-)C&h})&5JFY^FGUtJj}= zORI+My^#9xKM1M|*EbrDtt{jhD2Vx&FaL|wT>3u;m2biYg-q6vq1)>CCJ5>jSQD2oxG7kA+oD8fNKu@j#E1oi& zoczBgI4Mi@eE+ni*NpD>aQ9hAvgqsIn5NKIKp>u;7b8kg>iodXx~Co=2vesv@Bn}T zn8iD}L3+Nkj#fDCO+rYRRlpA)q}=#&_Wq!a1~n)q7eKq)iT-NQvnzoVA0!~;oPZ7d zSbg=<2H04Fy`|_E0WYGR)yl)tq9I=3zk}^``*$tNQ)Mi8p_~i=)(Kb_Nnd!KmTdG? z>b&0}DQ=qtKx33hS z_t1zxzvL^p{t*mca~!vecH}hC%`Ol45DNk~0UjIBJ*#E3D^hRHtB-m1!x-SU2LcTP zc?E!SCNAv%)a@IK`|qUfM)%#;s0_+|)6KWdjWDs9D6ZMPr$I%ExU*HSKp@u9`!Urd zmk^9WQ~9ry6i?!k@c!Dp`qhY!qzX#QSBC9LPi3C{(QyCW3AL(6+B7kT9zggvTN24Y zYVe&Dh5B5$oAO_Z6u=xJE*-qWB~PF}WT3Z)A?>66u(2lWo9_Q6=yFLnntuGv&n@}) zXDr)5-1o+X8asT7VSEGslh^xxF%-z>*+nlv=oe4RDD9Ou9k(B1a-FM*|8kN!uT`Rs zaO(yK{tAFYPVl$!{MTtem!N#e3B}KwfOFIqpDqGRIna1Noo$jrQnItJVF5^nPzE1W zTCsVuA@^U$zS?l*3ohFw6$sspt7}6JD?l1C_~9YyemA&Dx_@JX;*cUK4Pcsnj@?f3 zNlN!;h`-k>FkajJyOifsqhOW#lzcRS3;DQ9X%`PAG6ZNq?DpreJ5S5ai8Qtpb|;93 z;%Wo@K9yjTG7|f7x2wkCFjHn(9T>A1hQAo&=sPMITk8QvOyNfWF#rCK>;VYUi@!cQ z|2m_@1_(0#dnKmf+-{D8F`KT}WK8*x>+?~;mU1^v06gOOcP9)ddf+2hy?IlrrTb&t zW$(wCe24vGjcWE)fTQB~_kTfBmvvIo%0qy;N{~c?CwlCEohG;s^Y#u8VWotDmfnu| zcNHI-JH~Ngvr0wO$#xC-M)rXz5KMOcr9>$AJ2e2Y*r=GElR9(3L_!(jP#^#}=j2lS z0zttkUpgYU#qXmuO)%M(dl6g-Evnt!putyN8e$JA!6>kJ@QoU4v23!X3q}|xsKc?( z-T~T~3ium7Q_$e0A~DI7A=7fo%60j|M%EdT>imsa$C%Wkp%VAynvWFU_2B6dsSo99 z%jnb%ML)vY>fKe;qLzE*Ywf0<%+`f`_;DqC3@K{Wgv>4hUrtbh9m>i$jz<(mtWyx} z6TPtY5B?f3$aZZZ`#n2|jN^g#;nERcnW8*1bT?>csrAxU>Zn0q!NNV(za!VEh8JN~ z5PWPKa_`+L%t#5YBzVZ#90+*B1s30dZX-X#&(w&dv()H^QQ>dfq^d0%1khUDCuP!e z`GDQs=eE|lMPUKBzs;8aof8eUdYOlOlS2I%BT4zv2j%X+g z6Jf>rmFN~n@cefQYeji%jW1Soa6u(axE%j$aN*oMNV$7x6tPlq^?uFiSGhe>#Pv39 zzS5tWIsf&~Qr6}0Z4b2+r1w%Wcul;Bfj@5_MHL~`_43-y zWVzqWlCaV*Zyim~k?RoL8WHi2n*j|`^ zPUiI`47q;)_mTnAqPQ?*AwNGR(rfwwEMMRY0u=29*k5zo0YNqJqJTigX3<>T$ozcf zr(V0Nnw*nDUq&{cj&>FUkHQPV^6A{)_a2x4Qf!gMMMY~Gf->k#ZmDdooJ$v2?my(@ z=Jp=)eIv{IkIDlAnT(8LO0#s}6Pp7~_|Nv-y)7xF$Rg+Z!okHT+k1c9{zo6~{T->_ zS1mIM^h;-%;}IxkPfY2cf~qhd*K!r2UEc6I zRl@Z>VQ+SYGSh|?i(p2C+ymWs_e~l^>fe_ZXt>iwpw3HuMhkS0N-nDJn~tYgi&7tF zT|cOP;7OEv`8=S5*!C~(+gxw_0it+Mt9@ALL_Te0? zTlbpMoRW}-b!i<275rk8G@y7U%fdb2MRCB<607@RB%x7c+TvgL!TYr^fLtBl^k z2xYBHKz3_78UC_6-Mb1t?sAx32PLZbneh#*> zRp_>&upwQ1)#T=c70ezu#)i38Km#^g012ROV5_!OX1gC;t`A_rWF9#V=pM`A&n1+J z9ExRKYeH2=pDMfxc&}|;`mPf2kf$I}I%Z@o#Z=(7=fO5Qf{MC;{KwHCQ9U3(%P7ka zEe8ni0;O!_c#C`><=S-yy0`kD9#0-Vn)!Pb2fsTQw5oS^3oVI0K@lv=y6`s zk)e?Nm)n!Z0`_cn4DP@p4$SRwxraO&Yb2LBLnr^uWR{%ed;S%9rRQn9v_9<}o9BC` z+>DrX$`xB`#`pHM8c*^vDy#zT@wP4dupT72X(1E%oozHwr9;#ucFdIc0s}{*FpHXT zIaMhSwpu4v3xze4<(BT@KXe2Z!5&RRt8^s&C|?{LRWV|>c>7|uqKWZT%VE2Q75NnP ziOn?hO6u#7GfOm?Tz;#kfG*UfdH{wyJ~OsrKn0L0yB=l#XFrIo@z~~)IlzvS&8D}% zTd!$zJ#$GMQv69bZ>z$=hte%j4K%&VIYFJZF+j)lTUg;oU8$7y(XY#v?to>cvd-P! z7nPtj)`;ub2s1>Ar z4fX3XxoL9hW`D^8++?sdq#fxM+SzP$c|-S$8KW`0Ivwl9@{F zZzau4vkyenJp$64st7;#o1|5jU?r1M^<`V^V0LHUWRsXTpntNf{pkSyeAZ#=g7bXe zB{Bt%10`&XrgOTU^-L}D9J7b-=N+iAKJ-z{3_L-##sg2(qWTF{s)=o??ybt#Jp0;+ zpPH6OyHh|a{6sk(Y@O#|u;gP}y6-=)uMbp?LHJu8t$3YOe>=oCOyv9;mm&@`a+mSF z?Guyzvb4_}dOiyOLCYeve$G2Y-WLUXisI58y6y1`E(w-?(Xt95DrB4j%!S1U9bJ6` z2uQ&VDPq6jOP(L~tuoE1!Djw*fEC&x`8|4wDe)F*HjxVUi`aE=Wgly&gn9zkgJOKN z`vS=RJMTzifplNeUj8tkFO$(tA&baNeffDpdq93Tqo2t-4xYTwRp**EUQriHJlWxf zF9N~|V47ISL3lJy(XsQ~w)e&P&-fd=DoKeclG6awfCPmZVZkrvQeBDF3VYEA`C}j1 zI`V*CYdrn>WZO71ylFH^3%VDrw<@VyI?5Q6a`F8Df?8^Vy>U;RWG*V9%6zPPfR(9m zw!BP)Rap5%P@Oj~tf~kOQIvO98gs>49^LQn!@HKJ+{5PhnSpX9rHvln2-F)s3`xO==P(=J;qDf%2>dtBgcH0M#{y` zq5G%TpU!dpE#PIWQE*}LQ8Ssv{%(y%ss}PbOr-E;ly1et>E%bNN!HUzo+?826Q`X! zVoDx32-(iK)rW`yBs-at4#2Z=s?a>aUg$%Dw}0vW@KEZLkMHBmVzg?w3(d2uKGnDb z21?%(OND4aJ{X6R=CEeK4{sg*l{^L0tYN6~z7{n3nozrG^ITDKYS|MofAsmdeCzbf zy^P;M?15Ln)slD)8X-5H??KQfjIZCQYPNH*>x_!$Zt?D5W0=-ww6^O{Rr?yL)6_Br zS8blS5~kYnTLZ!)HSFlL;N&bKLPG>K9-^q9nZB2*jX382K#4y_^#MUvV*?}XX1sW0 zz&`M%e(@*kEhBwoRDj_UD0SBx8RTH4+Go)9>vc|gz|B+Ti zSl}1J+;Kvn>>@$q$S^7;KfVMZQyF`)^Kl+IyF1f|vXKy$)=&`24nRDaKz$_ftz_;N zGzWM0Lou8!Hrr$5x8xDmogr+Mq^_~DD*1|{OyF_?z~kWxSf(MDbJ!<2Su;KH-Px~4 z9KJntZLJl4U1x4+#6#5ElYQN4xeG?gmxk_&;=|!)qSrj5=mKRQ&8K!HFi(sk#8YZ-4&yZ_B zIw?;GVL>x40;x5VY|~r90~E^+uQ8+MH>Ir+^P}dqR@`+;>7F$Oe5O0Zg2{LYdH7G! zFgFVo?G7k~iuzrZI1{Kkv*4LlBA)`hX??mAJtke-&N_4->od_ZMB*;ku6vzpX5%-N zWbv-`^~3EkCx~-E&JN*d`nY5CO%}2()S05F3_C@QRREjOVIlH3; z6{z8^N#ZlrBs|U**dRd$pN9g4PH3orQbP`p3_&8I8AH;~Pke!*O~k6lFK^F{8q732 ze*FCCJv)WyHh8MWrkzty}jwyiPt+n3gAbkq2=JR91CZwrCPyxkzenh`ep-z^D z6pPu%)!CfcX&d|^HSs6U?%kV!#!F@0Zc1{~E`X?C8)^bZ#vf$K4g+OqEiu_;P3 zqiVX(tD?r^)K$)>ej56uUbzkgreX;i8>Socy(p_`@$+?ZmqgXDt;9fq)EDjHONln^ zNmm^-pd-@#mp@--|7{r4g)_pRZ-RHG-kZk8h_BW}uh%nm9^PUPRQMfpq6p3iSa!DQ zMSm0e<{;3+zVHngC;Yw;IN+xJ{3;>LUXBuW6lUmUe!5cegt_?I8O>9L58|rWi?3UM ztYMZkk!Hr68&0X1)Uv*RE&djwVBC#cgbv6W+yx_QoVyY%g?c;*WlKI$|gZV@ozBN&#Wu8F87 zYW6vGrG`%hYd4R)B(T%5dLPKJZ}WGbu~}eskbV-o)WFn9{Y4W-OVcHuF)yj_)A}%3 zecFujzKm)VFfMkczK{10ZJgUo_p@}a>4=(96rZ1Gr8*$Hz1Oo)*B9v`oHn2tI-rS@ ze0RMz#EX0sU?Z4G#kIp{>Ue@@0a6GBTF1cN#75&5zZ8G8roOz0@*#ZZzPbewn&AU<7AJCLHUO9^4{i7mi z;YRejC;5%p2tN{V?e9UHgaQQe}GOOWVF%@r7Q49U)x zO&~H%wM8(T+`m(|FXNhOUkfx$_Uo#Rw3jX+JZ0wZAh+mof3MVKH&*GH&UUh_)Xg_` zK0gJjd*dV&r5XE11y~eJtg8?B4MiGLJ>)|~YUjZwygWC7=fg%f?O@|A=~C<@^$!N zsLuDS$4gC5Zq1wtsW~Y=n);FJsa{oN-0YF+>d`1wX_ziOb^e^m?UJD%yw(O|a*8{X z+;~S${lLPlnQbI0TjNHRZo)jVktqkO8Yo%Zko(Mub)uP<<@|}B4TC7zR)vs;d@t{z909im$EJZor0rp94`117^`-kryXcZ^U-+X%ThyaJ7(szCL5~B{rDG7i z?_0Dh!dwG9OqnN@!{zjAi3@Jz^z^`@JC>EkcWz6%8ZOn0@@VCa9!B&>gwfhpP1+wS zzyvgii*{v4SAq7LX!&SpO@UdQSMM89IJonFYn;xc_6@Hgm98%>hdOuXXzP4{;T*&LuPgcRQr^}E-xgj-T zW8*_ga@qFBZvk8sh$ptZKPV5#d$cSK5Jt>t_)P}K+3U0d-N{eA~Q;9F+^PcA{e*_C51fuzblq+;^mben4R+Nsz_k z#n`2(wzr!N{igKx(gGKYKb6%@`aV>(;}d9mR-bwx#YrDeb2U*r+G3zghCR7nhwl8< z-r;IiC14Ty=PtuUpOyh5srj9X1;XwL&StElA8(<+v&-)z>US%6Ok1kXLoh?HBnR() z{MQpO(32=Z1C-o8KMg;Phnu~&u}ULw$~4;kQ17Uj&}DTv*_TwMxvt;s^Ccx=96T&1 zCi(7D9(MCy<>hwdk^u!&o%q}gPUEXk#c-W;{84=vE|#6JMz0*Ws% zI{1Xp`jpappS+&RFe0Y+)NmJJC@&CYcEe<<4C)XIj?LLJbRH@9CClwZ*$8C|=i6i& zG-oEL`%H~Z*sq(ZO$jn8?da6BY$_rYQ>Rle{;2FP9e!&YGFL$sT5f9ET-KJw!?*Y~ z=TC99$Y@_Q&n&P_0Ly(=f2~7Pu)*1RE(r21dB~Hdx3`kjiqa&(iGR-P4f~rd2o}L? zKKgcl_VZ#T;@Ls6L4ND{09p4y{%2Mv0DnR!KP844*n1(D%wF=!Ow}y@)IDi3?r~)t z?R?Q2-vfveb|F)rHF0@|j>wKW)}Q0%tx53O1i>evoDG@q#FBWf6C&?Pwf7F#_`()9 zTjQiOYVfv#%U9!%N8*}K#CDEFq4F*nU@~_CjQSH!Z;i%j&t6Ar*>s;HAf*QU1goq5?=CU@ z_rCw@eCz)oIOhL{#kBt)^ptH-dmHUpF#Fql?@2KQC}zPZ+&w(4tok1@0fW=>L_e-? zZ5IP!)ZeMFL$pQbNAnNtSAd*u{zpr23S8sjA@j1b+Lh{SJI_(SmxXgjjQJDHPDx(=2fPnvnX(Rd zlvM{-+#Xr3>n^~X#R&`|f}=NEU)fAF(T=HPUE1lRV1&VE>abUdIo(fDGF~~Ju>l$B zS7`#7jtoF&m2LlHVZ)%4EG6$Y$S>$BS$xw&_h?#Se_4lYjsJFvjrBk6dTCkO@@RCY zGDTnD*%c_-Yb2*zWWripSX`m{#%cGmjG=1h8BvF?H`F4yUwOnb!y_(_8mZ zPSN^hiaTC1huI;vS=2wxFhAW!75ZL=-=Gj^y*Wa`5aP7_#G`(^n5P%A&p=GjeKCPNa{< zzC6HAYwzVU)t zQ0;A0Tc~|{BlrR1eqxYt3guHEC;BE2%mgJl(nu)0_&V*vBXb%2>(d6b-REV`QZ7*L z0ESZq{9I1TRDa*a^Dj6JVq*uc6yE!&D*YFX1aVRW|JH%c7ZR@n#f>N*8~kT$=D_T( z5U{=at_~1Ux~=3ODL2$O#5sD+^2aSVGAC~0-tTR5a9aCpO?Qb*r{?2orM<>EWE^pU zfggKMptGaSc}P zuMhPzY);HD*m!+lZ~gYTexO+U2$l7;qJ^MlT;Y2#b`H0zX@g9zUO7U6lxJ3(ob>B4 zF+ucEyQ&yo3$eC<~T-K?D6Qx`FJvy7tRP z#kBEKsee~Xbjy;>so;YGZKF7Or}kGt-5zD@HUc&j#qn|5J?PdfIlQ+YNF%Sc&^9Kw z;2SBzQa>wA3E)X8caM$U$3oI&CLo#rA>-i3I#>5k!2&ee)B49PrTwGkGhpC1P4fpU zv-~zX(HZC`cEPD*C7FcAfbBx-A3H|)#Ie^?^wbE#7FIzM7xBc)$-A`T zrhNAq&vnmu0+E^Qd~QCl_NTJ^^N-H~MRB&f54!6wK#|p9^zylTJ(s(~b`Y-bR3Amb z+ux6?EKHSznx=2XvvXyu%PzQ*l4~xFX-&^J+Zw$z-(lYsWvG1Na$m?~u;_H^RPQ$7BJ~q!iE}ySt5x<*6MINzZ)z z{-tq7kYv?G-gDh`o}27K!OF7x~!M}@z6-3PTCCnfSZziJfCJwK<8 zlqJELSJPUn)wvH59t?lbX#{kW4H6(Y{!r?}vCIhnYDLc908*mxAnzQ)gzE_4-Ejo9 zzZq=e&!0rdiP&tzEqYAr2I%MJ0qd?TXphWq<(zwle!XJuuDQP+} z(W5|$(4Z3T?L`czpW7I$3xE$#+#;*f4MD-kKRFax+Esk{N1J{Kpb;u7-3|lHGaUNC zKHU1r3*TVUGqZo@M`;Ln4sw$BQjl4!A>2|~qXwW^x&K^boTaQ>L7u-ING2ys%Z`}O z{By62@E2YIQ)kUa?V?hFHDS~4@Q}u+Xj4ktk|QqkU<(&D6Zm)?q9!|$zGS^n2R%5k z>~nP*{dU==dC7ku1E(kV>`Hx4V;|lu{BPR(Z|r)5m$onj=t88R>vOgjRMdHcm%#^d*K}hf8(2TYfuSstA}3>NQ0LSSDX%Hg~e- zCyV-Y({ZcDxDUD}5!b4{dlC3!+NXi~@>9VA zAfBcp+5ON|2En!FORM)Vrrmbw>}1F!-H_}ZU4@EQGxALlwXN^f34pXyIfK;F)JT+G z`-kI9r zwC1t-)=}S@NXV~3(E9_Ta4#_ua9UT(6}_!}EZU#Cd>0HaWwtsY*^=$$f4l-IFNCEq z@<^o12NBZ0^*n9dA&ao2vqK_HwU;tbuMYsi%wT)bS|7ECu6{ZfoLo}a^C<1cNuKHa zo~$PJlfD1e$oMnuT7mR&L$5^Pahpb|!Mm<{8}^G1LUshQuIYEij6$TA<+VzkZKr^+ zMB6_<{0z)lbjBJaYK=494aOfKhN^@Jo!0kUh^sPQD?&!I9^FCX;?CTWWIe6p$kirq znLAugpD!1AZzqp9dDt!&Yns3 zF&2FY4SWDnW4T<%{n@`i^$yY?@ z4nnj=?1^*0BdCK~u(YGFX`lSq5wNUi4v-1rO0eMbg1KEy>w}N@{z7P6l!Y(caN``X z3UqC^-44HX`c;jhaXaIlKcL3@mGf{eqv1Daw*OR{-PNMxseUoN9kl1}6FqJj%^+m| zWrkN!?LJp(=IK_t2hL7=&@J4Oz60RV{Z*ZL^MP9zP+HhVgJ09qPi*|Y5EsYL*@s{i zmfP2PZppOVxi$SQ+b@CR-iu(d1U=`z*R2JYrWd<4n(q;Qp|#nzR0vpZtHTtgH}}~AJ>=nQ_o}h=~D9SPnoFRx4eBG%LsBJ&&#mKvs#oyn5S1k4ua!}4LO^86e!*_Jx_8ZPfdjaUWV3y4d!n&NE7KL# zSFTU+7ue;->X|PqmB)gk)`9aV&(LgTTZi?A^Z_TmiOv>hal)Be)8)8HI^VNYQ>AP) z)ZT_Vw$v)UtIqT(O6)KF*F(lPlfy|8Lx6eu8kbyEb18>?!PC7b8;+XDj*RgRJ=f*v zdp`RT$I1M8_W;>}`-b*hB);3=N};cdSD^2qHa8kY|D;&yo9GV>VaulQyn{v}z};MP z2m#+H*$u2seX@2xJM5&EAi^$nJhuP7JW_IvO$+c{D_$%x!F3S+54zqntf}r>_YNqi zprF!J1T6HbbO=>Zq<4_6AiYWN1VKbVK%_}WdhZDksv@BD9(n|%gaDBe0)!;*!sq$# zefECO$rruI%vy8KHQO3v+`r+nR@S%VtpU~E6srnjxh1PRSm)i9~AKG2SfgGyj$@D(yV6p5Mgq9t%MbL zL%xoRix6vYb6T&8-CPhdJ;%#OquwD|!}Ft0{1TU@`HdOaWW>9>mhBMqdgO=f0I=)+ zsX`clHr(wrG#St3PZ}NL21FaAXUVpzJg@0!7oR(Qevy5cuUcQ%Fqkw+w~<$BNS5mN zqFMm&M-EET4E}beW+A^uJ2Q5}L1f+6>>e6r3d@W*!AL=L% zsLa%z$ORHUW7jrL9-D^Wjc-kqCwF2rS#M-%n12+`$v)~cCay838QVSxz6Z2LcV9A3;u{0}+vx8$T1UIK=GeMp)yn1K4#+;d;P{LW2jJcXgu2wYNqw3@JZr7ox#eI$(=^**B3e7v zd@#V0($_MiGj4h1R_--!F^7W3Hs>RLMJ$$+qU;>r;^xpA$zAAlM~;56s(0Lt`TCm> zQIO(i37ge23^hnr%D=bggkt-uzw2q zCRLhl-7*?1b-t?nCT5#>VzCGa>s7S0t0~x4% zh)}lg>y|mCMN6~q-VnL64JLG8{>p%r&iKO?ka6b1vualdW>tyr>~TmMdFkOILmrO6J=x41K{xEZcB; z^+SPVib1!FMpU_b3pAkij^EHz2##$8Yz87iJ~MT`mvBSCYv%3>l$#z9W;GS1G!9nw zs|j~vVPD$hh=*k{$GW|>Kc8eKN#=>j`hL86`3PTwJbjK;`vlwyS-#L&?0lAJOJuk zN94q|OH!S&e>0SP7~qt@$~g2H8m>8wZji(i93)n#q9pqJgh?d-M(@RnxYj{t0BM(dg?qD- zzE_uvSwPu;`My^7j5B~}V}CPP7v+0W)IxLk`{wXQY2*>bvo8s0qL9N^rVjhE=0CpA z{cc3)R7~B}ZS875EJ|@1^nOzmqrKpw*Fq{tXrki5H5Kt}lV1mEOWCN*lb)in@m1IQ z9IT)P+d@TeL)M(--D5w#aZnbYY#tTA%llotqj4}jY@gMkjdMc$S^tN+d|gKP&D0*- zOuHeFNMQtI{JlhdIiV zfy3$Vj!V1H{IH8ZrH-dKR{j%yeM-}<}Eg}-K8)&H%! z-CB8Ti-jU1`K6FOJxC>^(NCeDXqoaM+eEkL>FL|F39jg@<;S%~!u0;RE^~|N&%49l zwY4BH^q(i#^rV)_zFg8XMYv!0uB#x3$??#sZ4Q(4-CC$soetK|u6%H{j9Ll&?QKby zb(j=rWOqa6hMSf5s+=0$E=$eSd}Z@#wCsABRI3es3IHaYSSsha1FDpd+>40*VixX? z)*0$EoiUZuy{MSieoyWsiq+IW;mm7jFSeI)_C!0m!tAnkTPI=+S0 zGknHr{gzjVmLojF#?h(JY-Q6dyWz5N5u_t6NZ|PNXe#3YO#b!)eVqhiEd8i4`RU>s z%Qax-h+38%V4`*wy}pn@#d5l-R7DqX`rE%hMlYDh*y4fx*C!u=_{(UUgNd+ozZvR8 zU9BcVDETA69lzS}v%2W$YWD7uqT0(yztp3PHoKTIFQo^S5@2{z+trGsovX87RtnpE zbgzI))LWw_Vdbk;;i?R7unh0NH7rZh9TR?)Hg*Cea_^pUdKQ?!el;;G|AlGu0xf`Y zK?3p7GnMd3Lc!{Q@Rt)HX8!qmO>Wq|>cn8v5AFJD;v>RAU%UH@io#!H$;5acI)*Fe zz4+)-WTPxtlIm6s|17kc`EU(LP2({83fy6!P+~IZv@jv1>PYpE^u+vi-zV&7+vtOTh)eEA%!(5x@-G2bdmb0Pbx}~II_2+?!e4^EL z_ahC3)AJWJ3tzF7BfpOryC3Dm)eM4pfr-YLw<0UrTP_13 z0r>HuW0I$@DqS%|1{uJliYx^3DJj~ZBpmA9lVtUFvf!e#mVyENBrBM#*V)r)F96o| zF3H$7Io;4Z{ezdX_Py>umXM#gROO;d|3PTX9U^Aa+|!1hJoOA{Wy=t~#s3IlWum#j z&FjT-IB}u!&8{V7s;o8vy05ze6Au!BSz3`rKUXAr%R@Lb)H}8CEFj>}qI$3B^_fHSru0kncZ(~) zfOFxI6M~P7ur%$D>hUfaEYv0sZ zNhl5n7GQg#)_#iPbUS2{&6FL9E*~}bEuFzEwLcXs`!MUZhI6-*0l^cXhUVUkYms&& z{1q58C5$uaYol3`N-hZKl?1`?R&4IKVz+JI)3bP7(dR$ORjD z%!1y&^^<>){9dBgQ7xS*aJMXmdz++6rU{=bh+#A@K*=87)6UUxZjS4)eq{0M8GcrZ zTJWuxVw%s(6917_GZ;?TUornrF!WTTM`(*7x1s^U2JF>mp%Wh#-9((b2BRAGi-tT8 zPo90HSa`r)U|C)Dufk&*9h(1G-q-SKIu896H@X}-dF;roF1ZX_A%}4uuM(OS0 zkAl5WTUjUKxa+-$?N`+<&MEG)FsZ)rGw*VKIn;D`5ghQvgoZfD;<|Y-vy;dX*(|lN z2N6}U%Rff~tOhXJNirQ{vO?W%O`hmC(j~EMw^xt`f?01}gB?^Ii{9uvHP1$CZtZf) z^=01x06eGl%M;m>+0mH|=F4TZSzaFVJJlG01LM9D$)k7i0Q_l#{j@WI4+z2_`~r|b z2#+sxq^g$?zpm7}C`^}PX^!3%cQRz-y%*`44^8!vm+})K@d`E{-;_9v@|{m=e>^`Scd)=vN)c zp1UoUAuKl6N;~9ZIUO?O)TTU*$C?chY=F%K21yyphK#ohIS^x9iW|_s9NqSZT%&{* zJ!I{)e7RU^qUK&L*bvIQxBtuEl8|uj#a-zKkocd5MN?e0ku? znSkB<$zEaQiIwJ@Ss(ds&hTg|QfympzX`hz@2v6tPHvur%A2wUwoNvI+tijorIGm! z^HXG$KWbL-NKj+YZ+tJ2o4jbY)7o!8u1X6a0_38z<)K@xkLp4GKP~_IBe2cz#OWaGZH+k699^%sj z`Bk$_`<(GCar5Uq+5iH50~3%#{?sJ_%v)j-mH8+_a7mvf2oee#(BTfU#!dj(OeaWpA|`_^0USa)UXKS3AB z(jGu6a&*c;m@4BSwp4jBr_{?AMO9ze_B>3tthV0=Y!Vd3+jGrU{LE3;fWFn`)U~K392?3%p4)+jv)O_QJtGZb=2e z{M+)^DL^c!E|+ugdm{So(tm%gU0-A%FSBpClNdF=U>8%pX^Z1_X@vlei`;sY2tfn^ z>GNyse!sdqH>=?S}mT*Pn_pPrIB1uqd?aX!Wzmv#y;WbOH_$hGYo~yPJ&*Ma|5)&tNkF z{cxT8p1!qAmfAd2WDh|0)f3INaYkQMlF7$5!-{mpXn!AUjZS8H{AiqqmkX`JMTb4l zaRqNs1|PF(obk^_P@>Ii6if$y)%4fAQGeu7Qd zt<2vO;c6*bI|lI7BdlH-IB$BKws4H_#Xv92W=PHY#YXH?z7t>lqBEhhc=>DeOrWyR z#25>0+fLPS2NR*50`Bc=>5JM~6Zj1HnO>d+@TzUR3I_gCcHjTUyp@Ei40oQ8nY*Fw8`V=X+N%l_b$9>3dm z6Bo?mTbBSYeprUI_1CD&3OWmLoQd{vI{HkJ4S3YI-c`Y(&|}aHW>U|}ZRJp(7eAJR z=l_VkYZ{%aTxCRcUm5fm%t3Au-G|k5+Lpt$ijIt~c>#KCQ;+T|^O?pX^TimsbxR6u zA*agLw`cp>JWWRBvSq1y2Bk-ZuUz_XPK~TpPK^wdnJ5$J(~ zK`mT|S~(jDx9ZJsRhh5fz($}>sodx66p$9K&4nk&Mmhq01IHeH10}8x?P$^>g}n`# zaDPl?0p7>{0%Q5>b1WqnDAq6VOHR?=Z2gQz76Soq(z6=C8Y3^Z)k#aeLy+kath zTNsXN*17iZ9&s{rK?21rJGSfoulRp$%bp{zlSZQgxZapMF?+p8*~aGAcl@cD-Lb_e zeH&)RY>K81u$wn{igdWfu?FJoqgly7_M*FhJ{oo4 z`?1_L$@ zhbDIx#P;iz?&*Cp7B;4T@{)*siSe(^Pd?a53(S-X3^}+V4WGCQ1tNT6g@E#x)1=;2evn>N1-%m*$|{Q)A(1Ph7q$YNkzhW2<5#D&jS z9~$RzgytkKLiSw4O{Ke(r5)d$)xC^cjM$9QnXz3d7_Di5QSx`xo>tz2W z2G5#{hWZo-RzF$z#OL~JZ6JL~4qzw%+u$n+FQ|rDYSqI0kp!#n{`w%cnjBg`-C1Z( z;xLLHGS7kh>1ZXm?yhz$1qhA}2NQ{;`K@Xbk=NgjHRb%#4idgJgB78wudhTMK3k{E zy3YwYiOV3a_7V+}to};|u3&(@DJdF|d5W4#3y&;w4iQ@&FKK<&!I7tY#;TdxWg}}) zyI^rN8lYhgm+8no`evYf#atc-RL^&$dxcBDZv!b4co?3h^2jgbo(5fgKnk#SozG-9jYdQ4npq#g>q&@AQYYG+Bo+a<<6n;$NC3sU9e z@qbboxUc;~geap(?g>u}lT0WoG7BwIOC^q44@@cxc`_*825o#!Hy3G}H9BKgwK=&C znQw?oc;KX-vB>W{5!IN|3MMI>xFf$0RrYgrgwH%x}fBskxr9$**4#=gEkt{&Gh6gm2Up8 zO9DUp7YVT0i;GtPPm^M9Dec_hj0w%sK|>L2N^048U^M;A@`laiQ7v zX(c&u_t2q#c_&;2lM=_wfN~)B-}p=bE&ETX>4X-d>Hx?Ds6g>=t3qd~Sr+r}{b$J} zd`vb5x&ydaNse*-#?}o`DAnJ@oVJ#fBQ#i+)=YHE(Vpw(I;N%6G6+b4_doY1S7K}P z87;uxaspry=-}ByXEzp|bQ*t0GdD@q+cs$-gNHh(8Y;764m@LoNLM8A%R$ zx+|idW(D-1D1Z|7+2MmE%(W=%{XH{+Hd_DJkSHntXrsyo_+y(7c2q9r-FhDL_lmi$ zwnIhn4XXdFqvjFdI3Zf}2lf4pThABSsI3gQwx06afCD|BRGF3LF zl5lzW)l&K0YUxHK*@b4=!^K|t^4KHsqp!5_-g7&DSV;Wf7PrcpW!0TbYQe+dI$$86 z?1*1039;UU`c3futozQmF=5_F$b5;jolpY!4CE`JhtjTqAn{56rwDVR$nS?JLF zp&h>QyW~=Rj5>zTzBu68o+@MN^;P6vk%HA|*4TqXQdBfPsupf#5YJHpEDG7Zk#K;@ zAfhFUQWM0G+*(jiEqT?`7^iwNoY#Q5{6zwoacaKqMhapJ_Z-+Hmpo)R6S047}+^`w7*R@SPEIpD72B;OzM*Vt1yGWBDUCQhQ->@Ng``IiNt)dxiC`($S zrqVv$^|kvwSWNF&r(e0so64KsH*|IGd+AlYeA$oLU!5`49p()x#;vGm^R)o+$~t6W z=mfF~KD7<)j}sWq0ff$yTt%;tJ>qcq(W6AMmh8ezP9KK@ z7P_AJ_`cwigHi{Qih`kN<)c8)IXb-sAT<5;S&XwwtKY~t(z zO5#~?hh*M#suRGN?0s-8@>myNKhr3V<5)ifgs5x0VZGtmAtWW?IJdo5ca8NnxF>aN zh9-r9+lfyC`G?lh!xgPF_mqHtd-*7<*&#G z3&>TN=cgS~&GVI+=l`KTjPW>iJC?u5PSJbwR$)&4YtKgq`q_9!cubYcDOx0CJ!h4B z|NPGe+L`U@++Siw7CXR^9@q&P>caUDrHEe`q8E@D#0;`6);`g`LDR8Ky;`fxwp;iL z_W1YJgK66qmOOxTxb}?z&^}&epuU66s!}hIvT~#vCL0?8lo&u=7|rK?!GIa&;;W>? zX3=whF6IPdi$G!KNGjo!F*APc@!Xmm?ik0c>vf9s-}QSt9G{k;ei06%rk>RDGi>t# zunCUZ9H;v135n$N#E6d43IzRhS!6!M>yZVcUTd?#)io`>+~W!9x_y?C+ly=%b*a<% zBHcqVeA>x}M-6ea$ki|8p#pcW@gw&xU2n|B%fe+|GRwwpe437ZN#f zTP;}8VeAYAkZ)H?o^#mpS=_~>pEMm(PytBaVXK&cjwuYlwYlLfTJ=liD5EdHg&<~B zsivTTPjs;=ePJ?&xi^r*SsD2NW1{TS-X#M$`g%bCgQzp*t7`S=M-CBIFn}Q!)p(WY z*4g<6fNR_>fz7 z0%+3A8E-(d1|I9iZ8t$>YxAG-c(PZL7a|NsshsQiu@C9!Z@rrrZ!2Rj(Y|D$3e8ls z2Nar}DZHhtwiil-t7(!d1H@~`f+B5STQ%xPMSEMh@PLXmGq!PDIuyj3bGZFsUJ;i~ z{l*n>(^Z!_NeX>>Zf!=D${BSre{6DUFwaa>FY$r*qVIyWmZfSVKD#ojub3ikdATFv z@pW=9Dj0XDH3aX_Aj|OQ=k>S#yT|K!Anofc%zZxr4MNOPFByp29MDpKn17`QtlfLN zq!V4duvLBnkZUfIsc{S4Ctk-8$b6Yc^z!jJYg4c)j70!3&R}c5Tfm=ujz$h3vAcFa zPc`F{m&Oe>DwYW>F72y^?fQXKp;2`i6UWt0MfAjnTj<)~XV0l~P+WW@lA$_13Qf9_ zKf1i-JFCt&Xj$3#xHa5%?x*jk5q_O~Gly(3%q=R5;rjEVNej01APfOv-k!7rGxca2 zkD1bvd93;M4zu&9&-gQsmw}FB0k9e6*yx!fRkw_FzfIjI2cQljI%Z9MR-ahbY!IoKnSD zu}pN1s@5f2KMv+-RanF~^%o>y_);m}q~MDai`<{-#8GLQHy5{^0$ABDp{u~IxWc`N zU^PW%ECqeo^(C;FkWY&vcmgiO*z&>n?U%mC;?d-93NM?7{JL9t(~`=Nq5ngzB7!aJ z2-q-3NxYJb_Qnkhzz+Yrwe!=IXHY{`1(_N}{Di&`&>+{-{j-H;LJLU$`cEsOkqd@; zVOF2Qv?7Z9B8yjNgZe9jc@UUq*TGwUtuya=EyP#uI^6I8VAH%4E~8$L6aoH-s-xUiq3^7;aO=%%g{cV*!X0+PZ`B{h0A# z`@|K1Y$PzB`2rB@Z3IbP(2r}K`utb<4=?zo_k~AbLzj2%vU(14@#Rn2sPU|0zxr#n z!Ts!49=lq`*d0vtdn3$N)qZNIg!#cnECr>JseSna(SG}h0b;dOR0iM5H3ol1+Zaq2 zd5gc$7TiwlTjN&Rf7ST-i*4wnq4Ul1-3)E*@8YX`NvK!gJ<&1QIyFCe{2m^Plsy}07^XHY@f(;g_phXcr>9Md~9`m5mAHezE!2B^KS=W2l9ahs15AaQW^{jot22>^Vq|D)tvhQMl+9r>M zV#8qS7&}D{l?I;W^+(ch-wa5j)!O##*^V)BqrcaEy#wIm0m4CLH&`G}f+MP)A*8h7 zW?b0gRI|nOYwTEOtHPybw9U+F%6{RAF_(4E=tyDeVPWQ_m0r9qwrzjPwEg$q$rsf+ z;1rM7wK)JcD9#kD8T2L9cJ%sP<(K=ms74*q(RZg`*f>Jk4@O`hQxL=MB($8*Iu^?Z z5_xEsX(AiSGO4U||CEj-iBaFB4n!;*uIIPxizgOpdtNj(X7NPIwkHXk(IfP(8CZy& z_tx!r{4!dixNpqg`61PdtTT~#{j7Lx^aVXp8Q(U2@Em7M!BA%6M154+pd(L_7P7rv zUn)bx=Px3v99`YklUipZ?0__)G*00`3y({jiK@zC6R7zRD8#QbeSTr4pL@;x(C*P0W^Eh8(YAOG%T#t`8-8&v_=ZCSbM$Jn1zr}#|S)4 zw?4xw<+P>%9_Z84`x#PT-$vnnGA(0+O*2z;-B_rh-Bq_f*dk>Y5P{}{^mMcAqo8*2 z$%SRPoP3^Ik^qVFO2f~C-UiU9B2ed~c4;6+%;E#7vs^a3Z$aT0Ko&&)iuds{X zcy;cs_yhe46+MCJ%WqZLZ6uO-OQR+eB3bpZzuv=&U97B?S@odY){VVQ;px%X@#S3f#{?Y{X6OJ=; z<}DR~XYd^pP_8?9ktJ|8!Sm6RiMTBQovmpFgm9?S0pq9^h%9>VMjhLksE<<5aE^FB zb7faO#^Za&a~{);Z}K@SIR^1A;(Dl7((#u3iSE$**r&i2aTSB$(P$;5nq27*!7`)* z*qR{r1{3g~k5k0dt=8#;IU4D$*T8Xmu)Se8McU@lbutBL1i#)+4>?F1uF3Kv%J+j4 zpTTw-%XJf$Ox}xD8SLHvRLapJ1tG7=d>I_l>vEiR+etsCK-F&6Yhah_gf!5+?3Q|> zYXgLqByE2ZyOChfIx`@oMTingetQ4*3_&5drlCt>ILs> zMsC077%a4Zr}FWe$Tfp>=b}s&!TGTew;5tpv=qSW%H#Cg#FsK^Q2t$NHH)wO=0+(+Jc2ccG8OXfzV$YQEKpPVwhrj*wHg>>{DJsG zA$*3xKJVOjRs54LTax$=alY!S6s}2xqTGVRRX_Qcz{3R1HfrAdq4UJH*JTg9Pr%;n zaPpm@cF?b-)`;?ALLSB^LKCg#em_+N%}J=WWvpi|biI$Y$FA>~Os0(qonol9)xK~$s6;54b5V(B(NdiQc=%-+icA!q{5EP863z?~-aT6z z{->eEp>M-vGh&|$RY!eB5r8X;jjrOtM!(j?R%P0>~ICS|)bu+kF=%jfPAu zXRGXTAPEpdNS_?FqRgO?ys9zAjD^GOjI$r|}3P8|0AY>VN z@psAcxSJwJ<46I}klW5kx;#~FQ^V!HWFQGUZ$aS!N8R7UVEJI<{A_BSUguqhET(k* zFZ2eIE+ToV(wS3rbDHrCnPr9~wz93BjOPX!ysJiLfo%Zw(B^2fygF}BbIzFsfV)xs z;l6XtZLM&%W4kJF&Sh2RJU{*G=a4~z{M_&`iOuRK{jXA$`#)hD(;DJuRK5zv{w~Bo z4>Fn$i%jQ&f=lJ|CAVpf*U)w4)%|mrF1Ufbq)B7Ce%yr`uPyLSK_cNy;|7Y&8wZFA zRI3hl#4qMX0n{pvM14oD?)-tQ(>o}r$=HK_aWLBu4hs#9Gm;!w9L#41ZdaOO!}Gn%f5u(pGV!4Z1?5&A{Lj6H>4%QZdTR`E z`HTbhuARBEFQc;QEW)CkoLQJ%X*IyeQAiT!Y}r@pb+qnR+*{UJrlJD1&rzYO(@%uG zAs4=7XwI-BXg&rhN@v1G?k}U=BnF5ToUi(1R2|ETR!5PJ4Buv6c(Vf6deA_>n0v-Pt`NE-#6pMK7QyjD@t-+T5_+i8+>_k zfJ(e!_8wyN5WtEGwEWbBrj*ap=YD<=(h8V{HoK;{n>}n(1zgN~OQj~zD;E31eRS=7 z{V+j;puicdRY!FumSgfcrtk0sbUh&R!lmFL4t>WiYS8s_+m9vVPKlu$rowkaVLc(2 zCZ>An)|={y#}TFh+P=PkuYv&JVOs#<`cCB~%NA>&+rI%({e9fM=-D%f>wk<}7Zk9B zjk-&tD><~x*JZ`i9|5LDtYXB??Q3`rZPW7}BNpc3wx0q~1mm3=7s@8@6wIpSlZWCT zyNv11M%aJs=?V+jol$yO;ZuIVGWj2i_{g2Vw$j|40NjB2yP?d%tAJxK=|4!_66*9R z!#IT@k{iaNbBh}-6W@_lkhsHM;Q7Yv()o{9ul`;uQEa`t8OB{z^GifhF0X3;N5xPT zd_`tuV@t#$JHfoyAp5Ji_sgeWm7l-7p!8X>6GY>8*G%aR=#A1H+)&{-N^ML92ARYb zkqB#t&H6apz6>^Vym+{(yaesey{?E?ZWZC+I{Cu|#atPxk& zX`lAv1)D`f=s^!gb?yT;dhchyK_%sSmY#6a;~vj^n;G}s-uN@)JE%Fm^VEAHWS!0I$ClgIiIKvl=VwGq{zS+CdfNoS@{7v?^Y%b_j z@^4i_qhiY+1D6psTc3b!z}$o?wSW@m|L4_0-&voygFb(@PcR1mTT>9lKWzZ&dn#&=MwMVScF=00m4w3(^DyUS&xv=`&1GzTHD!+v9+V73|j~rji z*Ei<#V^EFR()WSEpe<_D+RO(xC?DWoc!eRETOP=8{7L?CL0jhRYWre$?+=>R`$jck zQ)P8x`_L)z6W`8#o=*DM{A=re9^T=SMHYCXP&Mhh4*5lUQA#l7-WNuxc7q}}2feuK zlI0)ubd&N9IOPWAmQ3*K(ckBU_7$iJJdpeNgUlpUu)s^P(B!(e_p`ijh(jluL>Uk# ztby|oCKg8y8MVwqlx~dSx8sh# z)A@JtecFee4?|UF45cz3k2ul~;6s6`=S6?5R~|YZ4K`T;tx$1rjf6Qbq0h=W9&sK5 z<)Vo@kE!!06o_6sMtry76XYwj9rn3Tj=vd|sE}z>L;IG1`q2&dE2;1>3^3L-N^1{o%{-g$fWRwCu*eSi9FTg#WDv-Th z)p~T6e@H*m9k3`>Z*!%BUA& zP+dqTCEv8txRV1Rs(Xb!vBhr6#S?No7&wo~MqZaM z7Z*tUaSXx9(#1x2zLwlr5XUqv-8r)VBmoM2-*+yVdTxzXA_(#+Fldm|7hfi}3(2rE z!i2W$zi<&K*A4W{2q;O zmllM10XYg~FY7)Jx-)^CVMwOi(~|f9R*9?;fg|~OKloy9dWDbM!n1Y*fZBtyO*TrP zha*W2t_!cXP6)tAJiFF$uO#23MDWlTb-;~XxRv%$$gzs|mRXZ=2rH=5P zneX3Y0zTgx(^zS;lKs4%2X0we#O0A4@Y1P4$(Wb?B}jpi_o5i_0{~($MzYAyKF1MG zx;K0f72U3Gfp%VJh8ga{4(k+jmcPCiWO5Tb>Ho3?EQr+mu?;P5 z!24b53!tq2x8C?RvF|k+TEIc;?DJpekpH#2|NWBwe;o>dKWblfS%>Tug~L7j5kfJn z_6>ZbHF3l^c;jpc9BQE6vkeYo*(7HLvc;rjw_4ik1>23%AcUj3qij#+fOqrB@&QuB z@&KQOu|?0_3Ljh!Qf4?y6q1hqJjN(1{=jRbtZ z#norsz6~|I^cfAe+H+_LpS(05{h$9nlW8(y}xYMAf>J9JiY%ij!LQ!BFd zHM>@fU_5QpPWzYWLnG+sHMVm%a@O1e7d4o-ymJU6s*QUGg}eEv|6X{-cT9h8ybajO zER9TYoWa#lI0|gRIogWJBf;{pfi~P^{k)2@2KeCCf;`4RWW|m}Q?XM6;_)Hybes!b zK9t5Ji)gp#@3Ss$;TuZdc5Sk9(3d3soT*S*G>RgJfz5?7SbYB|>O68(9E zLd+5d+46(12V_@zqb~avEq+aZKRC(stPfF}F^o?;_Q#plb4Dmb^Ddrs(B-zFb}iP` zM@_D)i+U=@21YDw-A2;Ia|mumu>aSFqqImpvo8o85 zD;XQ&f_$=YDjm@Nv^+)2M%TvrbJ`NrLw8+DKvUpV(t|(Z+pHcEa`5rs)og*$z47ZB z0p2<#VSTeR9Z1>McDDhi>fn;O1zeEZfxH@2J|I47E$Yg-Q6hJvJt`rb_qJh-*LRl(!=UTIp|MyRTfy;q_&^@@Texx2;cRzj<}H zEg|fF{6n=Zcygc?w4zoeZNHt6H#br*L`1(Hk97w*hTqnzk?u+0_34||hpFUMG1aDQ zBm?H)o;j_|Ya|2sp=;}KehEzuD)joxbiQT{;(7mR#T(c%W_>M5+> z_2cM$2d`)g^s@v)xeZ>mlh{ZfO$SN=x<;d3gzi)=7n!=uhXfHa4hC@}%ZAtL*Oe=M z1y2{@>fx0<#A8dL+Wof~CSr3Heh9@rTb_7?F7CWLZ%I{@bhSTRu4@N)Gu4&> zpY*^2U`Zb?wG5Yc$MHsteF8<(9mvc{D`WO8kv{sTM!^n*pbxrle^Ss>^Eu>CPwVNf z^Dzm&CzWL#h9kMy-9Zz~QJLG4rWv&+h7!M(B(Cw&gHQEpD+);2S3d4vAt zE1)Nj5oI5Ew@nHkDUM%6*AtGI(zAEl*8^ywHQb1-ZxcdOU^ec-({muelo zfNE*iKSYUOjmuD%iXRCgpsE_GLei@jeZRGi5-J_U>(!4-a0jXy>kh?U4J1T+onD}0 z`cI_Gt=FV=Bd~7b^GTmds)*j{;>hr~{OIc8j*TSaQMi-zsF*3`0x2jLY~r@v?=c>a zJWQ~r)wo+tFjc9yf|#N9Kf&J|V?3hLs@gvVJ0Xy4#YBlE)7XfP$kz06I~`Z)5SRQo zdJmgJEuvw^c6g`UMQjX@oVJGQT6D4MW523{>CstwWoE-)F~gIJSJrt z&W@Iy!c4CdQ3)*8L!?!>VKQ%{zIexj+olEGAH|Dmc1w(SX|4vZDO<>|*F1mdlxE<9 z;N_DM7v0f*E@(j4o0Jh^_AnCe?Vr=(>A7~JD`oT+Q@xplY~`GCBo4jXg`XU{XZW*y z@D{CpU@+MWdh>FVB&v(@=1rQ1@E?f0iVkv67I&hfnyAeeNUX;4dx%+#tWFN})d9il z?(=??L-_^xT~$96d-iIW+FYK?SkgT2jcw^o4F8<7rJkd-mP(-vNJ_`f2(HMxu6h?QzKy5H!wdX!b#}!J6-ArC1HTiwTw47)%Gx-@hv~YeyCBNVuZECySCgsoW4Vw*NKY(NT^Lfp*ElULMTn zT1)oBrb7*oz9}Y(0J$cM%{yCNy0~n9gyK}$QeGmYz{gR;c{2U?(5;qIb;Fq=VVn);)Sbi!zsZ<;5RXg)O z{T%bv0`nJ6IZ;#QV)iD!5a(A8DuvW9TP%@H{A~ttE*$!sRwh61OxF1k@dxO2#3)T! z3Ax4B7q?`!df|)XB-T@3Y*+7Q&i899zT$Uu6bd+ZL*^RnO}kc(AD>a)cz0}!x^gxn^@ni%u%JL zzTT%C&Cn|$V12`BtlsfUI+{H@H}z_M)%>YUxu|?$L;OVQ!@@p(4o}C*gJ=1I%7(f( zO9=)}w>>eQ`Ma%)LZ!)Ydwg&je|)Q#U!LZ}&$65h^3!OVjyUlu9hr}X`7HhjX`B7YD9KrFsbO0UH?D^rJhe-g zK`HXqsOG*dsL^YEl~t*jEwjl)^$09tglnVr{=;|6`sC<(5hxgiej^upx)yc)LFqnJ za6pL~N$7=cmIq=6>i+nJylwC1JhG$U^K- znL|qn9vS#_q@a!W+sdDs(gQ_U;af(V;U<9UC81-znz+-l)e!5LXQ~#@vG>M3!@Qur^!&p*~4O*Kl znFeAEOup{ciwnaOG(PP(kshZv5X!J`$S%kv(B82U@D#DfoSY0xGY36;lP6oMry|>` zhhY;8%T*aN*>XvhI~ry6o!KXEa(?Ph_=OVqg7`)U7?EAPDenO?9zlFc=J>!;>-wjN zj__1{iGE%iOKDqm94v26`nv`WH@JY;DF17;Xt0`MZ&e<8q&EU~D4|U$?q8GzK_+T_ zdt*T2CR2yIVAC5Tgygy-w9$3u)vG_!{T9kz4frCTg|Rvabh_Q2y0}w9p~{mT-V`pB zUgpv(Tv{Es)Ml|Ni8?#tp|-rtEiRo>;4{0~onE*z6P1!B34-TuL zt7qx+10}OruMv)ETkjAiqei%B-{Tbb0_$0u;2aLDN}?I8EUVzf0*H%xGj8lraljZuErV@^Y<1 zq||d8(B6A^BkS7B@yi$Cmt4OhFvhV?H5_OKtXEIoKmOBzjb^5eV?e4Qe!gGOIKjsOXoK6?P2Z!DK;dp_e(*TsI);|iChmxFIT>XG8EgM zKc5RdeSNi9Y(DrW0+aL~cdaE2TESfsgPc+Jga?>Ewxd;*pm0+I&bZ>FiBv&a5Zasv zA@bssm~H?+M%YYWD^pw8Oi^4r4+o7|z7O&Lx5IO>(eB0>v29#j6DYAc-wCX;z3>a2 zi2~&!pxQG6P9c&t(=*Va>Lt-w^}Nzu1C&pAWb!_EO*R8rjPqTk9hz;X>;lunvvf6$ z%;L3xsg!mjU0H>(%Yla8qqmI+tAqoQlJ*Ckn`*RDUxUigc4jEZ1pb0r39D#&!VnIL z=7gB~gopV+5$dRq!BbW^^Dd-tiE~B$pr{2I6;NaD^;DFvm+nLM{S-NE>b#GAg|&g8 zHv*t9xm^)4vKyJ8uRZHyUE&;150ILE1z9c^)RBfDEP3TA-`2jaqL|jWXset7g>{%Y zx<#)-GDSL_;2; z4V2?(BRJQk!9YS?>%Mg~i-mL#bt1b_uyAr-@9Hh@xKb|5=4v;UW~D49@T1h?OLE*T z<3rHYN{H5aE>(H6dBW_xf2nn+|o zn515u`BMDi!-cqhw-uy>BvPu|A0Glx`>EHWX`uY7=1=a(9+c!2H7VubBB^^$`GFFv z)zYk?DRC z9{StQT=W+79CdE4nH6{A8QyKG{uN->lD1hJ)8NI(MD)UZ^@`rCcX@?XB-Q|H439%f z)uXzCXUF5!-(Y2vs*2w~l4@i_%nB6dI@)+`O4wFURO^K3Cpx} z#_BfpFY zw7iG%cg5X#40=0iF00v&sv)%*)0Qt?6ohd{obLr+B3Cz{z54+1gXk79Um(ZC zoR||Q5x*8q@4@DJ!Bnx23xH-I&I^0xj$e72@!n*d7xq++h^_ckO`gZ^pNXYjbdM0cm12&P3KO{k_{IM&HRcEZ=GL3W zdnHUaVDa_D;e5;41nr*Zyi`qFeJDwjk6Fwnx%0XC3#%0880g8&edNBpb!qHqD#@4B zZV7LAVcMDqXIsXHvRy=Q3s~9yn9NaxcXzlp>R#dbJbBBm~3U*_jL2X6ceShKJcLm#y*ZbMB&xW)|ku(;a5u z&gmjY%`_MvbYkGxUg?&r+i0?QiUR4~>JKuc%vXskxS-9E$w_|XX5P;*mk2!j8klod zuGknfO*cs&pTo1J>FHVO4f)%zmyra$ulv-^9~Ulq-}GwDgkV{cw{7A5R9Mo>T(Q^` zZ)@k65~WBguHVTc@HTYe(6v(Gbc?dCL9o-?Yrw; zq`Um(!wZx7WtzYw-q#TS#W+K&vyL)N%N#KAHx6f_q6Xa6GWKN)R%f2Q*a~01%Y!x^ z1S*!)d8;r3YL+D@Ow3p7#B^E1Kjg;o(O-R)f{pU&=a{ZEx+?lFRPx2?yPGu0*IuNS zb*Wh0COA#}B6siI*M=7GnVq;;d7J*hIE{DX$r=H$#U zva{U)iXb8ubJGQ_QHRI5*#mpO@GW<~w7Gp?tUn`v)pBAmVmc%w^gPFtZ*e?GI0Nca z7cR?$j%5|8K_1xp+g}k5Y^NyQjRbbT#vEEMD&cj9e4A<@3b)1H5z`QRd7S+#Lk``0Z zwuA#ri5^tYOuF`VGLv-j+o@{FQ?CQ(^mXv(Uo(#fTue5fcH(chSH99$bWIazyjtyQ zru4^W4%%$EKQ|-tYhQ|Gc=MK_QiAR+2U|$9l01f@VSQj9wef20q8(7p7(x>q zdsWt}75~Aa!~slgn3REsd#Tqjj)={}aqjjNpA2G2xqPr7E472>z5%sH4_R7(N2Xxw z@lJ4#iN%I&v~SaOR%e2fR*#zK^u`R{kAU$5O`*Ndj>vso(&BoSQs-VG92_oqrYSA5!U?s$rKvm$1eSQy9E+&4_ zi2OR$M{aRkl!*7Ir6{v-+yjmCsoommLoKfHbRg8X}XWn6lUnBQ^4XY{w*u<7pJ1 zr>aM^N0-N$hpK1x7R4Q=LSAAb+YhQlpGF)EuOc&S(RF(~Y#1zF6Rkp69l3V-Bc+)V zK+anU@7UF;<3axT2fH6x(X@u8ywLw9LRYLF1DmZ;_cQIfbi#ZbwB9nlK#<7?Fv5n@ z7`B?`!4@IlEazD_1&dxa;%G$KLej(hAC zEC7ruOhAqSqnK5*^y@&XcWb_I`glU?R;#TUv*?GPhh>IJX1Cpql?tu3yj%H!FxCqg zU^)vSj*x-5hQ~6CvNV1&OE~DY8W9IF?uRA}cq5+db)NO}W`FC-DzfqXPW#5L%`}m* z^UbGieFObZ|Jd9-@GU94#7X~TdHD&4TXf)bsbp*e1G8%K-wZB%SJvcZLO!Q5?9zC# zHCz+%(h_ndny%)g;-vDV>cp#ASNC<8aPc13(J1V02vFL} z9$zb^@)iy9NBgE<`v*Ja$a0}@N9}5XMVV%de#_rc^ik~rbB6$v7o{F+;#i-^z2;zp z_s{C2Y+Fxw%SerWFM?*wAv;UaWkD3_Gv(O$(&DknqbX|e4WU1$mfOc;qAsXO*B*}# z8E-kw`g>$Ll+)+tvxUcQ-o+^WbJL`{EVC{>Rj$x#FvA~n4da5O6>@!*_NB~|ZzCCd z;5u<|8@Za$hr(3iqHw1uatx)WYx~NQqq5GKJ?=K*AZLCYO zO}5p4c_^;kbR4$!swQ#9Wb@mvVjR71M8yisGNkRf#iF@KJ6ic@fd)X;igVN*>5)uT zlL8xI-$J0*vpXijEKICC?cw3*o!;(V+!>m5#JusI=W{CF`~|FHx%6;hC3XQ8T>g4= z`+{nb=6#0CO{!l=k1iP~*zHk)9627Uz|WvSrML^ao2_6emtT6yI-8a|JNNbYWx{}# zfbv*JKEcPm#a*jIongWd^zGG1YQM;9G@Iz%+@&T1U>)0L6PO2~xp~--Z7<%M68XO5 zY}$#Bc(VW6x5m37;q_l8&(Y7A9uw>dz6nc^{u_=?JP5h&!|~r(Kdz-Y;smw!Lc4v} z*T-MEGsb7)B^wPUK5pl!SRi$*7tOAD7&>4U;K2*0!?C4p&N&?p#h67J2H}L-qC~HJ zolw#7P^ODJajObdZ8z-m1`b5kmU>=)AU1JY_x&SQ2ps!PUv4(iY@=zVd?>-2^j52h z2E;_N*TV2)BYt}3y|uxDJC-9yadm@XUgq~mA*mkG;Zw&d)j#|jJ9L^BQk`cx;Cu5G zSKG@N3!y2UVuXYJ_E;FcrPVffyWKv*@YvmH4&#wTJvGexi-wg35?2MT-(bGe-tpz- z4;$#28d-(NA7oX?-MpSu; zO_fw~1?JdLu@q=LM9x?Z13Zz5CjRsxIMh+M;w;+I%N`{0=?4$G`6T=7w0_^k;B}XW z?H4Ic)4p4rtS}RPdNqGI0IvGB5UO19y5&zAw@J+t3|R(rYa(^{<7&-m^&@gTKiy!+ zK8KV6v{QnICKErIHrI@tkh=(hr5T3v1iWMLaTh+xr$3c)bD3RWd*kbyJihM&$(R%bidnf zaV7{UC^@^GMFo={&u_!72MwgqdI9BSG&I{a0Ik!U%DkQ8^TGrxAMx%mJshJs6nL$a zL29Ibx+XXu8|kzMnt&70`u(v-e;}PD1+xtfE4^n6;IdX$4_RJ>ol8bM${0q?J}CpZuuyh8IwqbQW_}! z$WqJ?@_o!N^mcy$gQ)+-ibmtj4Cf>u3;LZEzMq^vkq4D=GzAX zuO(m8uiur16cIgWqqt{j7oi;xuDN3YrBw^Q`I`xH;FY)?y%%|JMdy*tF(!3xeTYNT zw(9%GrgL>ewfib|5kx+azpsL4u|_?V##@m0@7FlUYZgn{u0oohd;$Qj=+93Fm+yb? zQuU2hBz^pj{zQ(@(sVmBkoBdut(~jjIE*YDMNIO$QK}6N7UiOdl_Dfy)$C!xMZpz`F zya|vXqj{Ai5O=u5ueXJ1XBAc6->^R$kkvYX^=SFpZJ+Mp8t2iJ!EwNFqKqnwxi!@tt}$jNSN9vgW-wXX8>L;7}(+=6ix=BH|?X`0}F)0bX`NADN5 zpJE1V&i?)9^965jA9s^>qH1g8vM->!Wje|sKU+#l;qM=N$w3G24syBnMSZlg+YdBd zrhTJS73@Y|=$aOyHq~H|schP-3z&s?=XOfB7FG$&TPb|wnQ{YKpcc0PJaVjM`H`$n z^MQ?jC=4Rx=S)miIhe3lTD4GZ>ghzeI6J!mx4FSJuZ$;`{a^8!@SoODb4uwW6 zle7St>zJKb(n-*&0h{0dfbw+ko$F<#nOH(X--^Dr4OrHbg`2>R-BlPe&I_y1uFP^T z{x}2b@B9C2cEWvG0RibH3L+(jh_nD9c}1ib0RaI4rK&V3 zAxKH2OYb0|1cHF{gc1V@;m^DO{p~$xpL6EC?|0_x*=OckWX(J?JjtwkmAhQ`eXXM( zM{@u!BYi`Cz_DY;01p{|fTJnEZNTwk$Nv2Mdpp5=;?H)HiRlD0%SjfNKl>?GHr7+8 zPM>07In8nUG#fjkv9O-u@V~cX$4@XZpJWW_G#ldu6c=OoCr%t^43?RRiSc$Q z_u*A~k@Vq|#I4F^K8qouq_WHNFxJ!j0)pp+q%KKcz9OTd zs-}KjL-Y0>J$-|_hDMeTtgLNp?d)A2yFGFD@bvQa^A8Aw1qHthe-#lK6&;hD@+LJc z{cT2OUVcGgQSrx5pR1~CP_^i~uk|ghZS5VM-@CepM@GlSCw@%g<_QZw7nhcQt*nx^ zcXs#4zbX3%f68?XaN>W9^&gV`7rD3@avf)^0TaugaveJ!$ml1ynV2sso;<5-&hp5I zM_lQ}Dc)O2A1a$!C6q0Qd@j$2PV-Bu%uA8}6z$(6`)h)Q{Zo?thhYCH7Y@LF;uvG` zPH+Q&fc=;BGm?idF_MTu5YbK{epZIqUJ))eR6OR#afW{s4$1RWR~Nt&6Fd`Yho)v` z+O?DG-{pNiOWT-v2}%{3jSZSFd$MIZD(@`^UB46p&hlJP?19QC+89`NSADtg^1C?J z2RK(JRuk9)eSsz3-%9X-jZb}}t53+&FH%6xqI{zd$Mruk=fNEAp}`Fr;&Gl8nl)K% zHWiZhDzABT$p{n7BE@PrUv2oa`ZXDl^BRYb0Q09QAEXmhDtL7Z!C|5H!<*AtMU`Qf zd8cNz!%Hi>$4Sas8yTY~AyUj6L6*NmXF@|$j{rnbPc%NQ#~JMM+0bIiYx{T2E;;Q8 z@a^lv6fCZ(3`{$xhj{II1VG=V*yMrj1785WOtf^X$LK0%1mL9(G45}l@=WQjUylIM z&)Vdcl^rUSHiYw2j$?!mKjyZM(1++6xh?iNsiiQNEysrX;qu)nyA80z!b!?6B@afP;@+z8+7E3mhhijQW*cmb1c^8 z^VJNTb(&(~nvtnIerNVG)s{WJyDUuU7@;Y0E--qxA`DcWm_P%G<`)|;B=VjlT1P%k zKQ$5Tl-(wU(jq5rT?lzz>r*NCD9Hci+mdPQTpAE%8ckJ#vDi{=+6GQgOc$Ic#5If3 zOQ$GREt?L4;!ah!KYFnE&AOV%943&Q*_-QLV3&RwU3DzOjZY)lXtSB*`WfkM?@FR&Td+X$j6f%vzZOZ11s}ZXPj&a_FNCP%dZ8Z#xg;~a?qg$4 zQxo;N?Dov&!ct|U#=JuXZ|o7E+PJ9wFw0$P7yon=vi`f{ZFlFgW>D30Mc$AC?|@Iu z71&+QsS~}dE18*ykN7Qak4vXk%6EtrL7()S?6F<0g-!Q!?>zut(UoHmXC z4_I*)=BXR7Dbixm@V2StBG%MS%cGrlSs0=)ykkOpqfs_yq`6wLQ;2=xHoBMXHQs7I zq#!C~(X1x6U(6Kz3E?3xFybk=zir#{iFWgrG;5JlJi z1v;~pxC-D>Ow-at@#D``-J%Y*?ZkAgjvH_w}4N~aH~|Z$6=-) z@+8cioHGJfmCtS4ZLEtlGvhYk@mT$wY+B$+v+rJ6x>48K-2ne?%#rt1UX^V(0`ojq z7VG_B6rZ|lkCQUr*4W-l%P~6NJ+q(b;~cP!ZNr==mQBRy9RVf_M_lNA)yW6YS}!$n z$ih80*PU$bNe#i68^h{a59UU#XU~r+s0cS%%d&O(^|0olzc$`I_r5mG{9?4oH(V*< zic#3}7WIyRccECK8A1I8{Nlm@PN!vx98ZLX(?w_o=n0iF<=e&zyavUq@y|~Dm}x4* zqzy&oomFw|HJ9NHt=y35>p^rJ0ctRX#K3ujHsmWDXao3}CRvl-mg)Vefb!C)p2TbK zw9Ccz9ct1T5O4(WG{|;Cy=MIoepi0*?og_uOA-ERTBECi{!}9fEUR;{F$B5%aR(e? zSn(ja+PR$W917}uW8K-N@pOqqu023he58amZ!LpEE$^eLH)adZCDjhdAs%N*`b4*H;_?*zqgS3}PzZ0S}dzK8j&I ze5(y22~!0K_*N%jeG*H&)N9=I3SDuCK31TY7U5vr#3!CHMEh;_1%LZzqJ)nXeg|$x zHHOhg2%Q_k3r7InmEQut(?q36m-0VPIf4w%2U@n@7){RauKe6l#r5rro)yzOz%|)Z zqf7Tafk96A{2D(*Flw7x`{wD-ifVLunNuh}A>IBRK2lrOpOAzkd;0yrRzLlT$=b+_ zZ_1&JoU^4Zo2i-VizoWU_m5py%>vmXo3(W={+eZ_*pVFWlEgZ*+2&_oEevpY37vqs z-Z$gwE2jg@1i<^5Pf3RripU{?DP>FG@`JY zl9Qg!wX#CEOn``3Ss0GS17q!+v^&v)K{n6~)<-qo^VI%32e-H0?AwQawX{Ik?9`rt zSo+rX+Xv~N?<%MDU9Zpz0uexGVAgBx;*8}QUa3Srnd}NxpHdYLxj`yYs@(6-dHOC+ zPjp2%`|~p|S?C!rflQ9s624bI>)pbK9HwU_*#{krFTZX}n1fjR@D}Q7JQ7~eGS$IT zq)EcxFkGbN4Y5ZMsy;=%1$l-pF}0Ryo$;YCJw{?=PrvTiy7%lj-q@qfoK;A1>2m66 zogd`XCyQ8DBo1Uj(IVy(fGryeP53!TF9FG z{wmyerok3T{$G+F-R0LTq3OoXis|`~Sp`&TZfL+S^qU7ksHTF6&xUptHb@1XiiK`j zSHk&PUl`RP6lgOF*M0bV2Zj0c(cv&>%OdXklzSRb$t3xDtI~dASev(Z@fPE(CsP+# zB98!bi8$}de3}gj+nmV0GOIPFop|;}TD?k=3(@u>+F?d*HV8sU-t9il#MN`{wHC{L zHp@f2);7)F34)*a9!b+P@rM#k_Q|_DK+Ve)gPbq0D01Ql0}^?sIad^}LA2)-@%qv; zUnXlkqFT)Vn|u1^_G%YLLUth3U9OVVO7s#>n{D3u%~JTz9CpLt(=<%XBJ$qhhpf5f z#AVW@51(OK?PvV!raH$*q^iDgbYz3&+ltg<7JJn_&p)1l$~XNyR&+o%+a4k9ZQK6{ zg=b@d+dF%~pr10b8(XIkW1_;NMWjy@CsOng;E8OLai;*TH~rRtWtHf~p``?7bnQ%m zu8+8&WDLQq>be7RcO+7ZIS_aZJC~O!9kHQvAvBAi{z@M1Rz|_>*p9+&2vbNwm={p! zM;{Zb&|7WUz;MML_BMyqqLyNCPMb8<{zQI09tz z+WZn&SERbZeCHCQ5EoYS2?{MhrbGcsw{gQEKi-U#ljwe!D{3cZ+A#FJE+o)%@j>M% zcb?S?V`e$sp~IvjfOjH0T#NF7H+9Z&G0OE6@)=4JRTtU(7^4m=Y30XorR(Qf z4XRvsFelYU7ferskS!WTno|bQz(C$@qt)jzAB}g=0UU@2;9&XX2vk;+)_qi6CH70k zMmeN7u2a78W4n`xnN0V$FwP4xhiylIusOsKo)vTQ2+({RqtU+L06js$JEAF(^Pw=9 zjrmJEp#uKsd5F?X`TEZo#iGX5VJNqAW0F!^bH3z9Xtd6G#GsAf>p5|Y&`*t&8) zw(0rino+|D#2tl7#@X559ly@-kho;NIF$*_ed^F>U5Yo z!;0wF(IUZv6S5T&wC@Wy+lwSSN;s_q1ahT~ZsCB9FE+X-JK7$-S{y&)QsK*3y8t>a zSl}CIa>9bRm>vb^nKKhmYq+tu#|U5)Xkb?eL6{XXceji-z~NZZa9h$+OlFfms;uks zD!e@*o!qjDY1wvCYVj!B zgq}U=Az%3Bu8YAlwUX;G7VqDEi6>g8Ni*Q52RrvN%6VS zDkX_*Jp?T?PQBBpZRgfU%mvRK+a&Ea>{T+jG^g~dG} zk2jSY4Wxq08tab$$<*IEk102Z#kQ1XlG#ln;sx*XHBkvnOv^-HXp(;aw{wzkk)-!M zS~+}HZ;3KZf8EjL%!8Yg@=b>25GpiFhOjs>Vb~7gOg=Dt7rehNzgu<_H{IdzV9dGY z(xazRf0PwG6e&fg1O4;Ap^pGeL`q~nOnTnE9U{?&6!lYx3>HY#R{iL~F(0q1eOtx; z)z8=OYnyUp+1O&A#ItEeJW=|@5#G$yfM!)C>B~wb9h{@3ktbX<*fz{Rq!HNTS)36`-)DMmOfAAoJ+|EmtT zMa7pR!2cVsL+1e{QvThn&N$v|Y)_2K_6BVO`q_*B2;kl@ny;ibxtQ3S@;KpIFUEDQ zQaI~V4m7w2N`bC90547%gig@J){HBZMPsOFIxCoJLjxYZ)!}tC{zy5%x7yF<6CR|u z*?X7x6H>#D0Cy8E(+aCT79A5E;$y?psmwe^$6P$;74TdGClNH*r z5%p^E1WqC2i>R+7G}rvYlDo0;?6v8^GJ4AS`h+hs-U+P$J)vSaxb0y+97)L5A<(y5+c1)&{tn>SUkeGVu;TjU z2SL`Vw&S-1`A>a*pYq2^=8y>*Pb)z*elGV_E?-R|H!WxoBl62xn>haAy?TTy6N!Du zOCb4H7>*1pmAfjRsUo*}?rnF08V?gsyxOAPD5|g<=NwQELgbET_RM?|^m}fIm0hJ9 zgH}7c_6p|*PS3y!K!=%5Y6|O98VW_!C;3o!j7oHM7#>O>NfhrmT+_!P*Jv)9`&soHr)vNsgmTaqkGeaQsCeh2Ik~f@ zL^q)Q<0>6ZD)%>H3HN|8M3)fx`?1%rzL2e(JDjO$gYI6s8Fh`?D9C zEWeW^Cc*iJ{0hur!v0Mokma=5D+>4CU(jW*Wj6RaC<%qWnxG=ly=W4&NN4^2Atrd;q zc$!o#8^D_oL{3iNAngc{hiRfHP|a5ZMOj8ai~v2JP&5|yX@(!YaxRf>XM3xW_G-GG zemUV&Y~SN^C7$rrmjh>TPTipg8U*+Szes%mgIZ*D6we2CNFTl}-%~gb0xLPO-7x(Q zi!{i*&ObX9ki^^;^)OjBTIc&bYtu2AX*GRmW3 z2>Az|Xl}yO8j#DS(?=3+Ny8|O(?CI`UOKWQ2sTbzRV@DLlQ5?Ed!l>|ErN>?F7lf$ z9<`2(_G&xa+t^2mQ?jkOOz_(z7ArAs1UE$zhV8I$!vCs0K*sHc0M{wo-w*s}6ZBfA z8q8!06W+(4Ej?{}#f9T`YE8j!L%O}+=I`1W)+qlnv(;%_W_l^+atW8Y9xvd(u^&5V zWdNyX5zY9sKo13qTzbbAAIxQ<Y+gEQLn>KWv0D@al}-nbjm=F$j-ivO zxfLrSV6(ZRJ07anNF1*YEcW6@^Q)72ZlL;VNN*R>se&c>pBC+GxpaSWgX(gLj+{8H zdG&92%H_b$>y2Q@98!3V0WNdV6e>7RuU-R7JO~@omM?NZ&Ady}SDDDRHzCMQBww<9 ztMWLNgCyOWh+}CX*N4|T=Tps{J(0v$@cSv9LN+lMhEdHrWuAfFCL^}Zyr&^sqPMJV z7s0TMY;y1F3AN-fa^oi|W)p+yJ_1lURi?Ij+$vNntt3DBss@GNfJdOlnk1Iu${98HU`QINIDG_Yt8?M^%_y75 z2#6o*dI92~kDAS|903^iXpY~5oK=ST# zvi#yUxLQfj`c*0qpP1x*x_&I#pm|b=z546Cm0jZT8n`==$C>Ef8X|VC+EX(GrJaU2plLo{2!zwkE`LJW>Hld5l1?B>K`G`&j- z>|vJot0(efEx)Eo^5f#jnf~#81wLDzwpX`_X>JduYO0a{6jqw|wIFRGPORT@(UZJr zVz`IeOslm_iE}Iq(NK8vs5f(~cO+&d#A_GJ2yy;$PQnIFl&jCFF0=pPr788(UQ&4) zHMPn;c{_yNBy61Uvu(TjF>ka@|3g^fg%`V^IJnhZ?n~)~iugtmf*CuwJ~Cdl0e>2% z;a8YEy>ei(v|q7hjf3Uo@TpZv#dt^SQmtn3dpEOyL^IB)VD&HrKiqm)+kmuuixT(& zw$o}K@yD#-C{LTR-bZJ{(`?{L!j~^~wH|}jAD_6&y#8^I%k)`FwzNu_)EO{v$!isu zHsfF->p1Rn|8sswdzb7Hz+X!Pf%Ms8o^e1S3990B*!j;igs~f-x5*^tId1elVC49WEWaq48C<#=#kK z>#Xt8a(Df#(vThQU#|1NT<3qe&WuFN|ByKFU#|1NT<5^_7idMG@LyZXsK5Z zrXNftHyimw5oyks6V1ki z=2$8lLL5Tn^SSRxdUU?cdvKZRinGcvS}{&{&_fMx{D)6~>+k1K`x8zJ^?Ux#0h=6? zvf`;AOVfqS_ubmjZ5VU;(wKhlOQvi{R@;kAHcz*+f=SaHpZmq%e3X`xfV+EkniJ9F zP?A9hl8sVrL)^fm27>3ZHBb=yE2t7#M&S$o6BN^Pq0YxYtoqrZ4(0aG$Z=pY`iTp5ba&lB|fwKk{sks+%7#kQ29f` zsO`(MbL14uE2^di!<0u?6l^2u^urDGmia~m&pD8W?`!Boc3Ecan+vJFiXemVDx%B^)alId^fhOYhG;qm6_mV zc}6K)kD^9ntB1bxz;L&~L3afIz0TJGHa!>T?5= zYYexUE28=^X+GY0i_X29f#RGNr1uZG_C{@WJQ0rEOji=^e&#`RU*B6mM%}ifepLI*jNA)f&VhA4fIb%i*Sfe?W@QT*>^_ zSk05wBbM7&GxK_=^XhzKhqYN!K>bb%+2ycG+m$M*M|ez3B;P8IdpdD%oO$u>yIETr z9a6L&k)RRCv7}T5k3~(qD-MOwu={G*{j0Mf`^R?}+0x{dVhVbDs&|QYj(P)zCvc4; ztF#qMW{vKw*L!#z2Y=|03l0>^eN9}Tk)l2nGG^+spY#0$Jz~xD-E5qI+yWMRxadD z!L@zO7h*4g?iIqcTS5b5g9z0SEX82>$tdudD^*J`QAq-O?ya|2z2ode1ga2+kfTbH3 z-ir_)_m>ff2;iB()m;NL`;^zaGU?KE8XmYC^$+f9EG9P*s$>Vtd$X*(K z>gog5yrXX~A(O9s&CM;*<4uH^^nIA?g(AioVrUD(HzX zg8eY35lT7*22P3!j%_lE8O02$iG4MedSVx~<-$Q4+=)T3ofhC;xcaMeiXS1%d(%&1Lg1Q68@jZ;3 z0hpl*HkPrk6?BdO`&ToOu}JyGerR)U^+Y`VB8NLwqE)B~Pm@?t_7ba8Jj~AP%;3hy z^{R8uTz!1w&D^LM8=W2Yl7R2HA@(iPDI>AXzP}*TUN?YU9A`nb?Y-OUDc0NH29Jp| zyX^$}TjGpSLbLr~~3s`~9k1NBJh4y2Od>_B#zewgZ5S>^c<3d_?cXPX z)it&|;##DPhnD1%-dYH$y2{Y_x%wf7xgfME-b|^*xewyYCt~mS8ZlS<|GYAL9pp=~de&KQ>yq z9DE_EbXcw9d`743>cAg+KmZ(h_!cfUm&gm(8%FSZ<#MW)>F@N7?uOnvm~gDdQkAvZ zo_@%9_0t4`eq3_?`NgQ9uElqhYu&`UIK)MQXA9)AcM58FGuPy4Ev7<0eOm!=}5#U4Y5kOKNNtp?@X)VDg=JL|TR_K?9RR`FQ04}SUG=yL+195j4R9O+b?{96} zYjf5>rf8h0yIcH3Nt_UQARLG;JOZ>r!+{Tp6C20ob0aLhKms7AuY+(6C_xsYZZa(S z(2c5e7;`I)eZi-8)@krU@+CJMCkK59$Vor5aoi^b>X**aCIKZ|xlsyra z=k7R5;Kd9{IfVW(7j?Yv)i=u*_9Ne)qg4eWU*#(NNVGA?Jn*xUsxUA$sqoL2!N~jc zx=Np45b*Ci0x0sKs!G5ihmI1(R@X~bGj`0{K?%76^wV&|32h02y!ZHoGjVY}6Oqqc zzcNwTto_vb4$n?QBh3Xqc*@J07oQAm>!`(d(E(;3;w^=*B7X6G#LsX={DiX zS5H!)u{#OW7TW}}0e^+NG3TH^G_by>@)f<4wA4vT6(Z%+`m&6X0=u=8K& z63D@JhE?Im(!3KXPk~YRT}9;2SBwHt;fgw-JC<^V7sGa#xf?2Bdsr}^*k;4hu|3lSFqpu`L#Qi%x*mozmP(B^lN|reH7gMDn7?;IZ`kH4WjKi6zPS6#F0Lx@ zXTk;wf*wLonI5={@z>3_qu;rVm{k0ZnUcbGR@WP2YNtR+{|{nR(#{lZ2QuLWozuoO30;*JRQ7Z21ITVoxmyr?~=ce+RE|SHT3-nauBh+g!J2n zGBsZ&v`jdIrfR|5+ik>nR5k*e?X5p%-grY6b?dPguTc!mv0E?j7=e2Y4RADY&P2E% zA1y}D+QKdu2JG`k%REmB_OncOa(ut=n2aRx!xr4$xom|5aKtwAg{s?eefPR-Tf28^~%z2sxWrXB@i*)kC2XL_4sE**s(wOS0!n)zIatj+PVKi|e5HyyQdlfV(rr*i$VXsltq6ZjiPRnUyP>7~wVK31 z_%>17nH8IZ;H4rn14d)4nJz08!B44z4B%l8*S{jM3=l5v*vsme6g zXh-#?Q`@1hy8A(*X*R)!omu}?kp$+l(40sk3q`r1LGQtunv0ywd_CwF=_zMK&(&>``-3o$mJ-(Q|w{- zq9Hs&Pk)||`EeLts?GNhqc#e6AUQNU9}l%`)vSn=Ti=W2@Lmd9Y^YJ}yr!lmpcr*q zP1rYbZl3d8M~*?dQS6&9qoZHXC;v=rcXvbE$vT99tM3gX+Lgb`0V!v=QUr_m%mriKaptVD^u9XMU4|Na|sYP~z3jW`qo>HkC+*vQs+gXHl5Z z(uytD(TxIh#JRG$gnpbWIaTe~cPYg?gj?*B)+4YoENCL!H1&>cg6pdbunm>e>8tnn?Op)STyFoHSY${EgX`&_CV z9Q1|4P{YhxBv4ctmq)r7FTQJFVcO5Z#CFh2(c`2T*fP~Vgi{Qz(?F6-`=a+Wi6vH3b@y4%(g}LmLJC`#v#gAr zsDq5>0Ea29GT>*zrk9d^MYV9(zUq{XWqZzbEBW)w0$}WZR9RJACN9+85Kb+D*~9`p z6Jtf0NY=$4)-((IGfF)sp8vqxO?%dMsTPnl3?=*(e=1eIHgMrknj*ialm)$?S*`R6 zOkPRj(S!QJGVgIP*HlHb-`y1dKQJ`1hz<19%*5qynVoIFbVMmxEp(2$aX187nhoj@ zz-W%7v-bA|&eRT-CcF|jts&~vBRu~hAcZ0U zUh)4tJb?&)$~a2#P0NSXu~iVpac)9Y4TQ8*LlvZpTb}tv4$2bldJUcWa_zJ&|9wOTqXra?7)LVvqbCsIwm=pFsy8sR zI9@W#9(ooX0}*S}6ldPP6xO3($G_ub)TfanZ?yQKIX<9Uoqu~EVwi$#Mu;7jHR^f> z7Om!TqHc&ZD(5-c+4nH#d=XI1z6fM?B*0I;%Zh%Y=u@@sCob8!yM<=+Zs57GGM z119sHQdq)4$Nw(I9Dtrux=YcL&`k@}mMKx3vtj!ip}x)wO5vZ8;cH3*fwCu}2|5pZ zuRB+Ert2zq`EG+&?5QkEtOtFY1ug3?%pD<+ZmSW~81lE!vT@@ghg*s>7KwDGxlC-b zHKcsQ`(^uMyzuhb5N&6PO{-#L)|f0A^LM~A(Z7rj)SLY+T;gw`hPhUF2c!bsq=IhD z0GSNF{VVGKSJeOiIfn6nAN6aPy*dJ%)Yc_I7eo{1Os@8J66D=2Oyn;#oaBaF2`zmh z`9vjg$=yXqPha{&dHOtP9l2nZpdMUI6Zf1yG&UXaKUUcJ*?Da|SSq3T`BY;augOtTYwUOm3X2LbT{{Vnk(u*D176U>uwi7$vtQr!1TyH!B>Hoc5IS**JIa-Q{AV4(A6rL>f&UqxtoaufY`Q4_W?NUSyY1znPo zO{zAggt|T?)1}8$^@er&VC-V9xrol4ZDpa(2qk6CB=hKB;7=5DssL7)Ny>TtDles}jHM*~y%)!_z*iLG2n{17Rqef3D4EF2vmh@Y4qR88%jK_XL`a-JARo zgkg^#C7t5e*vm^#U5E?gxL+~GNUXrU8I$BrW* zYM_ zsEAdXGGBY|^Usin_e%3FXx24XlWh;1oAe@my@!0|w5@V{$5c?@&9J)}=^onZ)H^gFMXPvi9K%H^B(H!d)Y4| zZLF{Mm+Kq3z{?N*kZ@FNIRk(Fe5PZokby#kVlLHV{mDx2@ig8T5Hr0mSSP6zG5oBPAp3G52uQk9x22Fv~6IaCPvks{qlQ~zs zhb>AjzUl0R8y=SI$|E}v7aA##s0Oz13*)F6FAx{yB?yHgF-MaeZPWsEAyUcR?ZwI9 zkSHiys}kE2aNde+I^6SybT`V{lny~borFVcwhHuZVj*@#6J7F$BEwF5wK#gHIVcao z@Yup$;wZpx>epx*lyxktUm1w71O7DM{?fKK<=&7O^lfi#+ViPSrUcC6wAV)S5o3y& z!DCcyij5V8T0(;m$K!oTEDnd+jmm_Q#OTa`hPg7?2PUH3A)HE!W!(0Hm;pJmg^DLe z)nhqgCUUb?G0xtvQ-Fz*0=D&~B3^|+jBL&kF2=3wXfZ$ExGc3fot0qGZe8LsW7zxk$MtRVkV`tLUm z#{HW;y8T0+1j}rcO!hS-@m)@<@I9yHW(MuEgb^94P}lm7PZ>DK>pVawuUSu&s(46c zk7dXclD9q5JSWYgB9w-?u3K8u|NA5T^A&`EsZ9pY;X(O+;7FgddoL<6lbY}UyFqrN zWPRf&o?VBH@{%yoaYN!;uv>~A;ReG3USU|kW8i;SK=%ILf3tw4JqjngN+}0G&XtJ+ zlXbNEf>~`-NPAUfo&2S?H+}w#a^|AK@L5|cjnKO52f~h&l@IdhPGp=td|VA9Pbnja z7~du?C3{P#*Na5F-=6kThYCs-K?;o}q4h1B4AXb|$6+GUqrnUS=NeXt7g#W(UEVOb zH?ir@$=gYGG6hjgpE^O>t|33@$~XqO$c9tp=VPY#_wm#&wNm*a!snHOpn9;Z=fvYJ z|4;`L4^4FZw0}duJ_wXGQZ#`n?ger+vV5k=lE`1@;{!(Rz&YnfrHA)~eU$FWZ$3=Q zOI82y_^IZX>Cy)a7n1rs*Tk5$4L-m{hTtJSU`El(saotu#}(^9b1z1IpIqW^kap#Q zA^YGLJJ&}`c@Z|u&(DB&C0cUP6MxXf;JTFWIjp4LtxcD97?3)*Kay8EN;R4mQeaET zHN^B)9_kfjV>zO4(iKp5P%rfN93Hpu%~@+=(|%%s{}a*OkQmv{LP~pqHXV)Ia8*U8 zKKJ`2XGN&3%e-@SQ02=VCMtYbfbSQmidgu!qlejsmZ8E1jPe2Evx#qFR-`Awa(96>yb-Wf8KstCQSKjJKTUML6#@sH>5nvP3D#7qSIT$ z>{OXY8+||g+ScVY5;AOYc4`|q9;U2xLXf_P$VN8XX!DfP?j8YNh9jRkv9;Fg7gvBY zD_T!L-HJWOEBph4E)x4w!V@H!XA&R2&!q5>Pos$L;rWy-g?PF&#bADMse1l~O-n#M z0#&r;JB@1ZH7bz}jcJ)bEA`L{eeE^Zvv6Pg(f?Xp)SdO*2DwAh+t(jtkVk&@(MsVf z6&}?vs8iEOx#+Orx^#%A^Z2Ul$8$+BDd&fj4a6Tm`_)@|P4~h}OUhrS>VXkGVzvDF z)a&$~1L>DE4XW`Z%qRpJy%ORJeuBAhM@aLPp|rK}apuzU9M`Fr7^_JJyXom!I1eR$ z4s;5(Lr(ls%iweg&jTZo+#7p+viAmud)m2I4)PrVWOXPQT3F+9IXqr)hu7$p*wYZB z>MKrHp09b-);oQ?WeA_%w{hrju$ycyno!HxHY;b4^#ZreEkfm`7Lif%jT#@FJ=B9s ztp)yp#=KV6g~;XIKCATtW!Gkr%Cr~`joY}ss>4qoz+9#b%p>`|=pyLh@(nmov07P) zo*K%{Gf?Dngo2#fj!}x^XJ##0`0FB@0QIYgghK{Q?HOu3x7Csubp&9m!Qzls6hlvi zXq6dDL(<7qf5PROhF=#1Ue9L1);H+GiJCp&3p}?^y>@t?lrK~F{V=YP2T9=Mq7RE+ z9PEs4w3#;%oBti<`jsRK$!95%q}KUxXQe?#V*f;BYqgj3UE^%`&V!Q? zOY2wXSyDqn*gtgBy47gk&MGm(HbTp&=i%N&{2xbvhZQ`O>u`ID?%WZ8hk|v)IP@q8 zz+CM{3u{NbRbt~c4Z@a2jK8YwBIzZtA)2T+Xhvg=QUD8#Wb3@_tCAx9#n2}~9VYz=Vi?i6!Pu5csp8B}-OWd}wcIM~Jm?a`%eHs; z(-PgGs)S~UWFUt~*|4PB)#fK>-ip{TX8I|IFhQ+Sh0gdP)h!MX#gg!nGThq6^GoPe z;ZiYJ6`lV4AT;NlWW;!oQ&99GIzH{D@ypaRY#9Z+&Rc}JT>9~XsqwAU5~%0rX&z4y zfySH3nC?tNzuy&W#InCmjov~YL;UD_4@+4X2!|_BEf{|K>0KZ%g^X_xW{Fbiq8UPq zo$PDUJ4oUYj7tiwrbwmHl>_; zKdUWAIk%%;mz0(v_pIPJh@xL%M_Ysy283<6#j({+U4|<6_He3OoVIX8+f>gUcy2e$ z4wy7}T3t42(Od)Xu2sy{VyL;QG`@eo8SG3x$tFS`e(`F&PRZeavZgj(jN`OI8tRIZ zZ7knd-2!Ddd;xduHSseD7=5$ZAMK}Y@jvd7C)7qdT+?PBxRfUpr@B4VWqGX^I!1IS zS1?G}YjedhP?}9KO@icI=udK`pN)cxJ$ghCcB`)1#_{+TutY!ocKa&j{iySu?K~Nh z_eE1+7+uR2b`#cWM6}s36Klnub%G7=I5LdDnd}PB)=r%N=rtAduT|9{g=w>HUlqVA zVDACH#mCP+cN&y7&6MW$b!4Htx(yEkEowT!H#R4_jJ%Ejs)AF_4fYe1gqTDA!(^;? znehBXn?lsA1ctIOe+8-yVX)UxUK66?gW4wZS%*)$FHZ>g7|)~K+A37u+d8qJMen-s zeq~u^xDfD*gFr9FMPin4Iz?SAzttiJ-$8QdI)Jq zn~x}J!qy5B5o4qw;E0Qi?Pom}ZeMe|?ciw|d4&U=TR1hKB^)GP2d(b?#CBL(d)N~* zBwIv9X5LxzOW*r2XCK*|$mN;KQgZ|l?Si_@3XJYu@r&{nAKh@vzM8KqVIWoi-97f_ z#ngg$tH>E?zQn&wxm}wxn<_G6{v}jY%(yfN_hd?+1dK(E<*l1p1W6`GvoIugBilTuC}N1rkFSBggi8~*2sbca3q3Q1>|l8} zfDgcbh<0pjKz3{6^th7pMO~ur=Wir>T0bpV++yS}Wx->X#j@~4X}&zfnu*7c`LZ|v zMkDu)r<=z>3k$OM?(VD4Bi9!Q*f`)t17=Dzr_&=_13W$1##!=Yr0e z>l|k ztyh$nMofCfD)ab_!W~`_j}EgLpVM zH;9WcPAiJd!iI0F(8kBA32lv!W`(P2gvW0k{$T`u_&@q;`>8`$BD1r?>hLSg>^)_f z+{*ybIoZIqI#R@~Xt?=Duzf(jC&UMGe$dJBMvFqa53fc3`xMvXe|YQT>;kGoUs07n z@Q1`B0F9e!GOmJ*p{r9A=d-msgNu_022~UK$#TwYOloT(MNTUG|q;Uxac4P3Hf+W#!CcxTnE@{`rLe$pY;nKpSy@C~s{!9i$yKN+?wwF>7+=#L-ugM4PTZnY=k8eoxAhbM@qkGt zMsAqTHyJ^Na$n&EbIC3Zqm4eHrCokBBCC14j~ZS9f7kK!|s+#QYBuYj{qju zpWnCfB?{9|U&(`cj}TZUF%mF~i4J>w?3QZ0K|4YoO^S@jCzZtw-c0)RvIPyhef~?Y zUQ@3Lf6u!T{aF`{^Pj2XIbAfT&>6Lz?cf{g=sR`$#YGO`GyiMrAN+d#v9fY)xgBux zXg4s;h8hDG;s94;!`a!d^KT@7JN4oDL3x2cj#u4}#JALO%ISZcGQIql?!NhtZRO7Y zwzJt}H@AH8#DZ_{E}vSNyh7P!HPbY%h~~w=mH*w9lK}3ocYbudEAhwbhxz;mKXN}} zeYUnd{ZX~Q@XJ|C@6CL+XX82jJ!Yb*mA*$B*Q`r6TewhntMh{$PYd%judiIS@3(!q z@1Fbrn4d4yv)lT1+QV4jA`-pwAKSj~fgJMFXAe&qmp(ji1)d8CIz1p>))jV&V99FC z6SA_WlW{K4`*^aqB$j+SuBEqp>k8n}2QhbZOSZjV{&n$mxldPm>^E=Ye4t<|KD|PCw-5WxU{Ebxt)jUq0IMrno z(ZIPH)S3Qp{9%0m*7H2s+x82+*?OKYOZa6~?~d7i*fRe&eX1|&(1A>aQ%Qj)1R8Fd2egX(;q+g zwNkWw`)%o}j9-3p6Ivene4k!)G@tJgN9-rPM+QdO?hoDHtbdr_H(w&}59dQ(Zn>gb!fTfgr1 z`Pu(Z=lS1|^M58ThBF@CZ>V8>{9d}^Yfa$ezt#t&>ZUHulIm~2?|f8Uz5`cM1^^UJyae5LGcw*NW3VfO7GcJuGu zj{SCjv#l}Q4j5y-@uJngwg1fz0k(PfKM?-6zy8X0PT+uL{qN+4}76lc-v>Z^##9Ku?^gi$ReP^9>{y69T>pN?`8}@>=xHoHG*L`2Z{$1D3 z*v>R)|9NXWYY-nFALthE1=^v2EJ3^Y_ek||F^O85hNiDI=kyJKc5n4 zmjoZb1m8|O2n+)8?dI+F_lEyD_;&FN>=xv0Nko))0d7BU`~3X7c$?iVAi%pig7-T} zKw|d+MLi2aNhdEMr3X?cAE&($Rz6$RB7J#)sdDP}!>BzXGO`B`$*HQTYaBbSZ(wM2 z`i!yVIV)=$Tf6gDu3mF?xqidd`;O0DUqAnVpkPEuC^GC(^plv_xTo<6>CazeWM;j5 zm7QNuSoF5|T}f$mO)U;z_o2R_wXMCQv+Gm$=fR=jkx|mvIGIMD`8GTE{m1+Q>*wmP zHTF8NvH4prJ`n%kV*RIN|BGA_Jh^u9?ty^NZ@Kt(h4Lo9gure^J;4JOPC{M}B$ZA+ z7M41j_NJ<3kMgO@OzGPX2Sj94^l7TB-=h6Pvj025qW&ex{!_63l8X%5%g@KVdHfO} z2nYygFKH*btoyTGtSE7Lzh=@rF8uKeELE|l-mDHvGu2bm84u~?0B!3wfSvi?D!vN4ADUzV$|!{-6IHr+Mpk9ppAO)?6N-v7&7OA9@+EmI^ZK z#2Uq5EHm^QwarwL??h2A=PldEe}8hmDAP~kx=N1Pvl!|eSRqmr&}{MCMc9kXvKWCc z|Jnf^tjy2GeVYP9wa*`eeUDMSa%ed4Xs-9FaQrjZtZUo!*fSCw*bXQviQ~DQudf}@ z){&r?ILGHME+omc+~fQ~x=ETPmQk<;xZc{+*ATQTrgQ~ zvI2XT#QQkqsj4& z;9sjmqtBx-w~4tQ85}Zh3yy`Eu9=1;9J_|cN0?dpRYaT%?_!*yp+)SrbWoD4$mr=w z*;YAXywa%FTIy0y<3|2)_E)4*N{CzIE4FRR%lA+74@@W}@qxP_G3NUKFQ(-*HVI|e z){ZBr$vw&b>rrK@d4}0AyKaBH_S{dLW=y(7Q@)+h_|3QW8V`jFST?*U9>+?g-7()w zQUZc@K*Ef-E7cao93$r3EA80%12%@MlD36bhvHCbtr|35AaK3r& zp^;mFms(um1@$U?9pFhzbgVM^>$%a3{`nuDRFFeot{pwk=d!ol!X5q{y~t_G#7o!O zvFm16iED(Z;;q2Q4&q*v5vy%RFpb&M;lf%}0EH)ez(vjDj{AqWKC+YR-c2Yno5+&v z6V9;L>Q{PiXXv0PN}M6HcRi|jL%d6<6(eInm0g7FyZFky&NpHj zH|S+p_w{K7`~=~zZc_&>CEIaj$6UPq(VKbDOFZY6$GJ1I=0@r1^=@@Z4=~D3UKy)ddI_~g%B7h@qH~dRliK34y2`U6vA7Qrj*cZg%|ZtJg~627(s zz5l$0>e}EoyR~ERq;{+{N6Isfl+DQED64%Pa>#}KvKNJJZP}ld8zs+eo_1cI6F&dO z_HD*Mh#F|@!_Vw@Z*zzdW)Q5=g2|Mg`(?Y$!b`Z?e7&)n*Y^+tfl)S6!r>%^OqG?~Y{+@Cej&jVv9@^Ner=tw*33toD z=OHb{<`0*rYX!O-J(Jv;zQ?)qA1)Nak;=NdU191|G2v&d37A;0luCvxbUL$20_s%k z=QhMj+lpP?d+rt;Jq9!RTS>RcL2L7RLWd`7N7NtfM2b1oBv*w z%PM0#@Ek=S4HJtn)1;3QD*;UBrZ%DG%@0YW`qBj%yF8hckb>BF!XvN$Cr5eD(>Ef+pMLF%8K7Fz2U3QwgheNU;w+LG|(*&Em+rlxh9OQD(*i@) z4DLUvQaL<=ehS8iwnGvWc7I@UYfAl3lBrKgmz(iScCK$3)a#JD75B~FJzoq0`>nBV~W!r;npl?5i+H2)eko+vK7Ra{mJU-apPyN`|%N`7SBUXsS}X^5IKt$6=RJjb9=qgAHGV5~^JNLfm$v$fds{OKs z>hx{Lj4ifu558y3rM(8$ok@{LQJS&-9H+N80sni!x$oU={Dat{E4Xg$mK1*%1w;k@ zmy7bVcN3U+2n-wVp$TXZ#jyqyUBKEQ_ic_b=S5-2L<41egyYEsWN{DbSYM#u~~lPaN?`N zo_xKY<7tPhYwXq@ZTQ1XaSe@x&rTEXaLcQ~PQ+Y-F0mL!)f-2JZf8cypcDZI+ICl3PxG<1iiV*DZgZW$gY{_fCqE>oHTJI?oK?`@g3Y%j88MZ*7Vz*sDd7@9(Tgr9AMG3 zAyzCAV6UtHF)8Ph^X8!bU}%p9{cdoAW|_(9V%s(o!;brfRVtFMo)SBt>3pJ0q&8CC zgE`k&4upKSV_izdy@+d-Gb<;Te_B{XnD&zktKD}ISwFwrRs2h~?Y*&yhvQZ+mPxh3 zvj>_(9P9tOTCrQ5jo1N6XEy6M1d`!_UH&sGV>Y~K5oM~)vQ`1Gm7V~JCZ1Ki_~lX3o{oN~712&%@O&QqIIJXbyPvyrE`OIt%6 zd*$inkI1Zc zr2h;@W-IjvJe;D0oxR)RIYt&lj_R%2;`)#~AhsscGpYg=Ue?9pZ(lc;V6Mm1Hix!7 z`jRIRCC##$dR_MI`U`Hq7vCiNyG^!fDc;%DBbd%6^eeFEY87VvR3v*zB0L~WQ z-z&A*(Hj?|pRBV3y6#6s-CkH8C7UG1xQMiv)zE*sqeiBiJLT>F}UxE+wd3={JNa>v1v9-G0s3zoL$c_5$J*}Syk zc@n-y^&6X|Z}ob3wi*BPNpB{xs&+4{+5OI61tu@;^3tg@cC+HzUp|B$ztz|K{(m#C`QRJV!>BLfJ;8>a+=-slkwYf$g zUaHz%Q#<7A7IC1J%;gUD$KvqygcRw<`lti%E*~ojc8~wlP-hQRv&g3x$L)hIZV2cQ zbZ6_nE_ya>yG(?~b@lBdU3DD<+J==-YcWl^56!xg(%!4F(bb%KBKw=ibudjyDKS{UXbX0m?KMM z)rtK9M|;`brnMbkv_I3u1gI|9Bm+N6uvu6a;0=~0H%wA^Ew z{o+9vDkRZV+@w2x3?%e2>XHD)>^SLudU0We<|DFc7WLc)wh@PmkTxl?=(&bmedNCC z26M&XHxNu$jC~5({rn`{Cr{Kcu^E&6 zTK8ZQYEYw+pJyt}%eqMlCxI(vNcAhEUnban$f&RK+RlQ^yk|85QPRn`vgr>3)H3H( zlcjaszkE6=^T(kY3@eqr0bp1wt(%1Bba$7wRSWu|e9ZOw_sq9xMbt$x`IRJhcQVE1 z!TnO&b(QLqQBVKaaM|O(+>CHtTB;lDRa;;5{iYg0#c=jfnY=_0jdSEk+S_es6Amqs z7FjN>*>wpV#nZUaV53panT8wZ7U5bUdSs}P%aE~&jOGKMd#$IxX-SZJOxHVB#>Huv zKO@1&%d6Hv4Hi0eoVA<=E%P%6V_H0KAGJ66I52f{8*lqYb>?}GUf5Pt>ZwnChh^JS zDe_&OvYdnZo(H;VX1Bubcc_&?qHEC%%H#c)V%;yfCeB|!empa5EJNN-IRVEiW>Z+- z8GO?{+CuGBNWOCYPxPqXU&Odg!PHQHse512Y=V4!q~`bg2F;c|QH?)3mzPBf^qF10 zF^L#u7!W86Dn&k(P1vDqR?U1-{qqs{w@1qrTUwmsOx=%=)KQtdqYbR$cE{M!5K&W7 z9{9r`eGo3|R#WxCIG9CkaR1mEmc}LdOJNpVPY_R+LTVu#Nmud5kQxp_&s;BeEms6) zu6qE0J4M^ZT^;ui$90D{Tu4+H|yp! zI#wr%p`J#AQ+QIoV^zVH7fKK?VqVrhPWi|^4dh~>n<;Vmi=y5YfN^K%Ksvis^eq}^ zS#o}XN)WJQhlu9pK^d#y;_U)n$j+W;g4xJ=){98pbXd4WdaJGk()Vhr9e!B9xKT*> zR_%zcPC@W}=}b1cfAweV(RZsyg4i@5mo6Ut0J#so-?fAG4OjF28QBjnlbt+^%MrxY zeIO=CH-3nfxvJNt|MjUiFDZIZ!2)wdG+DlM(qr7pK4?QJ499$(6m@wRXZZOT#K;FrMU(33(om~} zuMxKg3=S>Bg4bWkEI|Ea!rnZ6Kh-U7EOe`0(f*wZ=tfYQb3##pP}Q1e2X+iXBeps6 zAy?YpbDUU}Zwma30~3R2iQ_0CI7}$95@+xGA$DAxU8Zj$aqv^i9SxP`PVCrnOY1>x1N)wLlZSWzBZuO=d3xMb zxg88fdDAg5Txq5cyE)7#7A0ZU`!(+NuKf9*H&3TKJ6}2y{~+x{ZXtfMF~|HdOP(vD z&C^iV|X`Je9<16KYy;`*msM&FynBVXUh)gNrPa$H!IY06lFo*78DD&>3_?#89$`#@1btr z_&8kUe(r$%>`T-(&6>3jxv|^~o$+MgW{70*mJnB=_|M2pz_^%BAMZLzSfC##a)uI(*P>njCCM^V$E4N`Mf_ zg<6ei?Gr+Y0_$&YAfwQSIMx6HTHK|-PL|p{C+9Fdy0oNj9MS686zaUB{_60QYwHeZ z!Q%w6sqh~U^DDxU?Z292OQt+gH<^sNI-1EC!_=m*trQs$p2khjTunBfqTI}5&s`sX z#VN~iJ5_C@nAvE#+ia+B>}s-g-2BPD(NBnoK^|S|p({ z@8S96!n6)qRP$_cabB)Ddve`*^fnJChHVj3sddv?X^Rk9h?jUQb#D{@3{ldGW#5^# zsrLA-AIalTbJoX@(SBsZ;uU=OQ`oZ|P(aOD35lc>nX^&HqK_hMzil`-P^C~IEO@fH zB;fs#oL3hVN^=zKK^P_%pFEnLJ-*>u>PEfN|DAhYamjX>1s_ z96zh$Yo%nV{8-~o^6+hfBK95&{u{Lwr*IELBM*$=Afi*qaL?G!qB(}ly9xQKH8`2f zx05liq0R|=^J@hSQpFdI-#*u_0Fn`!6dw5;eT2tLWDI*Q?EjdRRq&`FElB@Wu=N?A z%cl4jVOZ=M*Z%Vg$xXdjH+Kgl205}eH1tP)!Zlb0#?i_7H}hO)NKa$-E`n=ZKK2~| zpe?StF$Po_F}I5&vKN|&ncA1#?4K$o+?CBbweir9tv&l9l~Rcy&uL>NImX z%iwSBNgn%~d&cv)=eR(07K@+#mAA<9W1Rwc6yc!e=Ejm+aKTS043)3J?kQ`&BMvJ* z*44FMvr(G!Klvl+;pf70%R{qNPe37abg{JhqM`5&gI+u))IA(Wdb_-C7EK3pBvV@> z_iv{eh$qOobi71e)8VDvSy`EntTDwN6s@f1l=cCc=qs6Q%4bPKS8iwjsm`j@Y^zEL zy9wZD22E4hR#}gm5G+kMmS9P~Uv~BQB3I)5PSucgCU}BKua6D!q66mxDUT@)Xq*ERVEs%$TA#EWP5#C(1mwoHH^!E6*@v!x91+c7H>%a8?h z&vxCtUFGCO*OfS(3bj?$kwAvqz4yqtB|O)aax&i_=Ii#G>_6@(={{deeVW}#oQ{xf z%L>g4Os0)j`VKKTg`PFdElFQOckiVnIc?J))Fs{d-p|$LPDGjmi_D*Wtz6|)+OLL- zInW~+Y43q>8t;(UId#U>Csw}9O=DRp^-I{nQd|B*DiizIy(Xt0@|YWiXL-=c;2&o% zU%t2v&TDXU)P9ufnT+;^3j$#r-~4&v{g$boW|*n{QdBsgNn67v zX`%M899>y;38vzP8QVq03+CePGUV&HJqI+Javq19&ljZo$(%zD2(pi9J$?vV*a1~j zTQPj7UBC{=8%h_&9^zO6P~TfR>P`JR`X7RGaJ;Y;xG&c#?#ZLKVy0s@1IfcZ=k8@Xaz)VJMkZdAv8CAC|J5cUAWnnmq}kcT67jG-|2_2WUt#fwlTtouHf=XRrVAfo7_b?!hY>n7GyG?#%k>EqQtC6ke8H{Ld`AS-|Rd zmL2OtnS=DLElm9jrMs>dBUbv8Tl4eVVZ=+#Gtwg}n9}nrbFG9AtW=KVP^;%Yw2xbA zqN{Ivg;CcEZP7u~sd)gVwNx3rSlsXdZ;i{eH@mhbZ{>7KD7?o+>4reSxpY-jst1Lo z$rS;!uF&T&VQ_4KhfFlS6MyKW$cN_5tL*6e`(e1v7xZ^>}9a;=@Af!gHYRs)0 z0Z#UC(__b9el2()un2y6?n2aX19nA9?^EgwFS+pLaXE&>8>q7auY#8Kh@kSjf<|g{ z^}wLZRCpCM%Lj8NdSn{7vnlgRJ;w(IWp=e0 zT6ZLsoZ2{PaVzy;+Kl4~Wxk`kJs+m;3m!_w4pJ-DsP6hx3mo#e(SL`M`0fZFmN<7$ z7Y!mD`6)ZDLrjzY#r${{4+8e|^q46-4q;)L_T3D+U!p}xPdIFLPmVU)+waiK^{!qe zQa5f1^RKmRJaE{;+q+>KOE;cZaBw@I$J>!YZalC&hHZ%y!LgRH;C6Az3BaapN@j44 zDz-uOmGrk>x?{ zsB<;XeLHn?Y(B&oFwj1vjKz#I`KBqvi@g#?~nm z1n{Ei?nCyqHRwj^!V!D+;pmMKcRcMM?&p-rU;?~t$1Z#-DimeEs_JPpg#Swv@0jOQ zQg|6ehiC>Hy0cW-1&-BTfklK2jZRF$zKl#hHx2xcV~t~-@X+gwTqQ03YMnW!iN|Tr z8EI>8ogDl=Zo0AKwsRr{QHHFnC$;c>C@Y{UEDSq_L|>|Ru>aVAdSC&2cY`uvZ)~Sf zZf{#=I9sRp7&Dm@UDpe@1G;#+Dgq*yWmYWJ39vk(!iQrJR^jTf3n~67EG01<4lk9~ zM%T^Szsv*KuD&#eJlpkYN*v0A6T5&iU*?uQvjLh7VVl2bKv}r88N1!|Z1Ga+_JxJt zhb58l{SAt4;l-JXRf1nM_``_PZ;4V(R`fH)ES-Wk3*@^MXmnV)D+O@0z@@Jtq~i^w zZ43{nINX0Lkh?RoE8*s@~+Gw)6!&-zjEJ6&bht}@>tn?#Fh8Qx+AKa&uFa^X+?xkqSesI3trv)Xvwb+ zjH2O+QTC1L8vm<~TKnS*Q%sY;yt`p};*g@fhI(>ag@u(tfl#S=EYQ3qiwvbT$91Yy zvk1771&pYU{)RRU)AqoXvM6Kp&_eF>&%|!IJtM`3p4c3JR=CkbZ@|Q(nHN1p0TZ_A zFjwOTQJTSVLln%DVY9s{S>DC&=&&&rav1+x7XJk9EUo;oid zNkiRYWwqwIwHW6S-%KKd+GXyK2fR0W@+&6i>i%-507){@Nxx1{%dh0&@?DE()u7&N z@IfLRn*dfoohtM9;Pqsg>6`!V$qLT_@0pkL;Z_fvMs`e2R+NXz3jebwD-L{|jAX+k+P2igQ%^4SK+d4cr>Kxa^M;P_lW9QIz?oze`RN zqT|X>mJ>X++P<%d7(ET@>O(Ag%I$z)*dyHjNYUzkQwP~U!Hz@T38FSb=HMT4W|M__ zH76~P^ya>}Qs|c3oqSVK%TCDPTP?KDXmEMz{BqBTwlU*=$_siC>xSp(XI|gUB=%B% z!m&Sp_c&aukkLG|mUwR1w;ne%b;qrw;`NQWSf#dbm3u#qM170VdHsyf=c|>ghUnPUOt9jRS5trLrX)BqlAG`}m^4T)d5S{F8rcQGzIxa+uH8vB#C zghRdbh;n)tgNLC6`uZWh;=2~=>O5sQMiE%x{7)0d{eG;4DY?vtk^Pygm6+X?bq~UW zwC;6q8guL||HcV~5SC3BTm~4TL1InCN)|(nBBhx3>aO^agOr4q@@CtXoAnjt)z5WbtU+%^A7C9AiFDb32XLU`c*62A)?%3+xh|h-j zS(Ph8ZlOaQNNgjOkcrEkJ2wAi(`0i4?HZO>vSq=md6{vfnVY0e8FK-kxB^M(P!P&F z&mA0E0}E9q!n9nU#7lWNd~C)94|MB`Dw+C4hf8JtQEzMnu7;K=&^j;BL!JP zaaaU=Z(lL8;p04c6(jf~f7RXL)1vBZf9>jWpu~W?j!#-~^3QptDwTIXa2s41yK#zd zMNa5E?COg=GTN;fv2jBa8a`jZQfC`8iLqLyVTFF?W+OQ2Q?Ljv8!hFZWiID-ME#zu z6Zz(L)E48R{eAE3YhAfeShMt}Z^us&{-sC#2rmdyAarp13curPsNCB$Z5;DAVnF|H zuKF*;5c)qO26ce61w*c|qnYlRkLi9*pv}mf!y3Ke&8vDL+?f zV);S5I7*@&6`ts(tsDq#F6VA_QeQj|pj7CaW+rHq?f;KX zp#Q@s-!=i=R*d$+Y#L(z1OssWRIW_{_lU`s)(&W(mIK-WwS^U;f12@{b$P8~x!alO zALK|7n$|Q3*-%IYf>)M!d7t$Vlb?q~=F)aRpME+0A;d8bW#8BV75D?ZMX{?qRQl}^ zgf>L1?%S4k{3y;b%I4v2&8+z_Yu0>wzpz+4r|f(8Ip_ZN|Lnk*s){$R-M&UZKyc&vGx=8p z1cY$>|H&j*@PGgG66X^Tun;_#mwoMe36s#Bc^3gqTDF$Nt}u(H!VUlK6O)^FSl>bHN+8Ki^L26r#8C$^U5f!mW-^#N?4iAS zOup6D(Hc;q<+-t@9UfIeQFn}4i-F;$*LJUd@L#cU%Rdj#ED>&}Q~fq1kxYo0nJ$k{+M#}E@7+yA3CI6DXJh&v;V}BfDzU2t zZ70ds4GJsu8vnFrE(V}LEIR0Ac(3LRm#*S+Mh6g!`F9kv_Rz(5$kUCh9>= zrqZJhix1{ob7JvMbhvN|%-n@CaEA)We)}k*I{dEB=44wr8%-gs8Z%p0NN>HprZe@x z0z#N+<>%=R(<$X3kqNXu=-N?uTq1c_HRBnrs_?3VEqIh_Yz$?kd*sMws1EDri@rD4 z-DFTQv|15@=*!5njd^g=fpF*7x70?K8BtQF6Ap7S9{848t^jnmmL3F#6)Kq?JYK|E zVBpflyUo4(Hv9OF{SM>+R2+XMS@gip2m67@;Js1z9m1N_)q=d6RkbV2!OCbO(e2D~ zZp5z}o(3;qw_+=JE10>mQh^Pz>2ZCfO+l6#RPR&yBJ~$L_zg_^ zA_s{!et_?d_7H0nMa~F%(O%Y0{Af>O)Hm~@AWprh&c>xhJ5EtXzPVtOi47UTF&3s@ zl_LFi6*p>N$?1i=4HFJ4U~1{H1|F0q;CikW*O?70a$5Ip7<_Kh&$P&jWj+|r!Lac9 zd9>7R-kMk&Y8k@b!n)={yo@kIxH)|_TDTg*A0Y9Vq6OU$qXT0+Dm;ADWSCE5B*jzr z2&l2#TP2dkoCltdNy^&U-7_LG&Yq_LtWm)Qt%|vspF%$Iv(rQ+H9}B>fkvX_82PtX z9bU)`hVg^4`ASS1))ZTnU{=u>vyG)Hr#BRRUW z>%e+^)vAzBm6~9VPWp{rS2M0D4)>}k>eAheO>vNJ#jIly$ozO4Tz1ru?DY;wACzi+ zAn`1{#}rx1{5Q6FKV%5|Zi_l;bF{F)8Mc6KW*nV#*S~Lwomj|{+Cc4_I~b3p%^Qq* z^tj9>nv+zl?yU9AtL*gLiUtp^9u-V3YybFMEaefdZSI5o&dfW1MVr3vetCPr@I=zY8dOEI&Hr(>2 z&5}7B4qQgK?M=7LY|3fBuQdt5?NR%TP(}I23(K)|<@XL@f5@A-r@V6!H2yjnPtuw4 zmwi#dzMQmMg;$$=F->`Wk%PC+5#@!uS*|Nz&M=`GoB_I4R<~aLn=sim_g5Xndb6ZT zj5WzLD%Y8glF^*%MsRqVC3k{1waw@KAROHoI9tu( ztt&a9F^gfOTP;k#Yd+ubP7JmwChNdB`^eGrwHkYhfs*GB@>KKWqhryG6*ET?HskMs zm;z>PYw{%2=%1-;wCD!#1oW%Qa(YzZk?2ST`^`ngr)K-E)ae?#lp0s*S8E3E*y*U+ zB=TaD8j}tZY+>eW`Zkm>e=u!S+R4_Y-!YZdazXPwyFeR zsG_XKQT?qkDZX(xb&_pq9uBvSpP;gk$D{K-6L2cfE9AgalS@d~RT=iN_D2j>qs6ZF z*R@_imBo!GypY``um#_Ys${h8eszwEjbmp~pUAyhYXEf;jaWfQv86@QxFJ03+Q%;< zjntx};O$E(EL)zAUi(KWwGAC>CgymDmX}?dI5~(v|9n|ay%)b z>|@I1{QdJ+5vnZ>DZIR_yO5b+_sHl~Bhq|N0X68f%+X8>kUKcgqHRCocF*HVa)bOx z-zi(7UUN}6%v{gH*ffdlM1bq$-qg0b2y~`QC@+Y+YD2#{=?_NulbL83Vk^M0%1&1t zBDCXox3!9y*a-#2#N?#w>gb>zRuvY&NYZB<@Gp6$Sr3xQUyU%BcCe8-*2w9`{d#q) zYP~TRbph2pLe zTQde8<=H#QkJ;R|jvDWlye{cXW>)oFcM9}ZBbYHz1MbvbdBEE-e6uSNqp>p{86n($ zlxeLNAykIzQCy-}trhCY2&*xuU8Nco*m9P-9d3S$%Tk2BMxkb@V8|mm8B-_R&1rD3 zau2sm4Kwg=Z8do`KLZtk&u-<+zZWG>^@i4x%!{)>n(c{pj@vUVowr&^+dQrfI*!pt~G>Z`eK5gAgNs6w<#KYVf6(X*dhvyG%EEoAxZ zrr?yd>s&h!oueda`_V9ji%%em!gw-T1K=#>;q7job||PYpNxSt%j#drS7vvURqv$= z!~8D8IsfQOpuUBkQ8aL<61=q}8bh4hsCly~mbKAKvN`D?wLPRZLWiB55j5g_-T4lW zM7 zQx)lMt5PpIa*xo6N(EQwzTL!JK~95<+qQb?^vHdXyt8eAfO&g*Zc56sKYc`97YDND zfL-P0ONk*1HvYBU%ZB9uBhr>0`k-eB@OPUj!GDu zG7WOKrslFSCX41O!5)R*j|hh|EG=hUNl+F|Abr9f^^mzk9!wTZ{QYQloSS(>@gXJs z)4f2tKq*g|#p3w5sb4F~q0O+h;*BxHU2_v(<~g0Zjg|fMHt`{up{j>AI-fZ8YdRon zF3;HV4yQYLnWrUrjAAq_y5F{JC9H7F=JX+-kGpE`KXLEn*b9%Hl?Zzfo2gI$RmXLz z8+6ngC~xg+J`cWbMzv89zdKOya&!J*HN|BrrDEgnwYcD6dMl6UB_h4&`twjBOYLXN z5BZyC7KPlFj*$$3q@mviY?E)~Ohir%IlI>OiGaz%<=zRA46hJ{I#{L3c#uE*BxC}} zTjXN3%}a2)^YOqL_O&){KVM3_t~5K%*|U5*#Z(btauU@VDZp3o>DSCbXdat@LUB`q z9FjwIM`Gby<}35p|`<{T({bq=|&EY`i5^brSHDTZBrmv2_l*BYN|l}pmUZc=0#GW!)|$TvGj1NdvD_w| zjukg|!ZCvsAmY6-#E^U3&h#%spO+8v{f$jf=G%Ip_f6XO=q{%MCsPc?bQ2SuqZZ_f zUR*A}_`!Xx1Ff2xI?Y-~kn5sqMoH@NL;;(Czp+(z)Z>-L>02&`o)kchn^mZ0yL{Xjs;N@xA#}(s5I9=?lRqOpxXi%;jqcyOb3z@yk945+zlLjkGG<7x*Qq!7eA#sD zCq~Aiirc#>{`vA2?u(k|f-l$g6aY<=mZ;#)=8bPRyOqY!%3K`IZZbP1-wPL3y@{Kn zjVG>Hq==h*({y*dZyhV2wcQU1A=QIoL>XhhK+JKodBX!@#xMH@j&92|*%X^10!|p` ze%}e-DcMrGDhFX7(l32cME2sO$csHj*;l1S?nT}Te0*bIA`FU+zq5+Yv-Y#68ks-N z+3pDHgVCWz4&zvCm0aDz@B6lRuJM!7aE#v#3##R0NbV7TZ41-0HzU??FGzQ%mE3uU zNh$P~^L))rq|YOuxsLX*w-i48?@!Vw)KSs>+ zDO!GbkrpPRar;MqX$CW|caENoi^{X;tFYC6J|lixzD_;8ip(RVS4z=C9m`ZzV_8eF zRO&9M?ew;}(O4+WeOti6-l1@=>txkh|80OdS?e$jOcP{h-WwhIXO3ZCt~IG8X8LWv zLrv~*XUFB59BXEp5on-oO{~|CoDvDE?s%a+e$^LsBygvA2Iq+OQO_}NLnHElf@S?% z2XglgixU${i#L>1(0r1b=v1$);@Apze#hd7j7!6N;*ArF-}-j)sy;<7B)SM2K!h*z zuQ7~HG~bQiqH*F2Baz}#m2=}GPi7eK$(mw%En_L|4h?B70b=#`4b4J@b_?qJ5;>-# z-UizykBKe|Y={>s$tcc3)sT3;a@(MvS@)*s47K8!^*XLh^pYvLaS*-h*gZ8X0k7~X zNkH{>WV!jZ{Y>K6kFR!r)t*B7Ga*bHG4`z~T1AB>(yKbRo~OmV%63EZs6tj|BaJvM zk&;W6ab-b%Etyw)(&l+yccLCFM=4JQk?ZH4ML*=~RhhCS3(JrZby5f@RT|W~{b4@E zTPT+?Y`Y##-#Bc8QtI2sM2t0herG5(E@d)WX_`n2JnDE=r}Z<~GC^j$Wc>a1Q7vdK zd4>IY+iP5*O@?iWabBw5A)g~D8oL{W!%B5dwk4OX6x@%ov8ZFJ{SJ}&Vj|qM*_u1Y zP-?oGje~@UxY^+IT$OGV4knxoe;oihWRJ7rC=&*A2MlaH47%jD5#5cr-St z2C zy1Dy;05Ue0QmCgkD^yu+=LB7GQtvo+oPI;kxAW*zzMZ+Ag|1{!jTPGjBPkgdnbjDw zUSo5De-U~75j4BD6w_bBXYhEN!J=d`y0)65xGd}LEB%Am+Ofs?$}AU2(5yC_!_@5& zhScE#h3hf5QLm8dtAf8iM$%6LDI0AKUFF<$4nJAn@`QVqA$NLT__;6F zuY$QSeR}KHxj;)t`ceB~%dc?}`<2?8x2tL#u>D3=T{rcyGoGHo0UccO-AdPs4_n1l zmiBmdt_EOImnVzDT0IW~KajAV>w0>4m2N8I%W`0q;&VBO%?-U(xpUo+Iq6g+tdI;U z9}uO4hsoGevR-I~!RPAX`0ab+{ulb;Uz2lf5Igry?w`a+R7%1kK!sP|a@6a+PSwm) zHPVLtJzksy3fM9W)BZ<%{C^wJZgxyCs;h^k-U z{eQioDg@zT1$+3`?~Jbfo63OZF+|l$`oD)flav3C?~SWCEdJ9bNc(xl>Mr5yZa)5*F;1DN!NSVoZ2|v%Z?o;8q z4j(m_(h1OEr;G@pAW7HB*3=0uA^JY~f0p5n5<$3|>DV?@aHOf4=0VfN!lxXT!pGK+ zJ=+Cuk0+p``8VcD9DZ>;!H!HQL-{!fnuz{M-Bld#TjK}(D!;Yy&fWbU>+?Uan}|5R z6_evd*dCx-T{@7%o2>G?v$;nfTOe%F%T@qM|! zZ#@klV@{*+lWv3k$B}RNjb^|15cNuCg+%}-l|dEDXD7>Ce2+ z=Q=$)=3LkXC=k;RcU?BWwgqRi@KOXrGUU-bKikIi;arJb2z%OjmYQp@@Nx&E5ZD{s z+kR4GjVbny5)aL}P==b1+Qy%i&i3apmCr;_M>i;uS@q5$D0}2!BWI*`9CTP=?b3by z319X~O|4mwglpE%uD~V>?U(W9kZKE$*eY zU`n6YD;b&BA zxOeaxvQ^?62FsvA1uy&{JY3*}>Y68Yf99tiHSe?m><{{xYo@yo>&H`Vhyp%|h`dC2i5_MO74MekxlK=7VQ;+mAw-?&yRYi`_Pr2%^JxD}&oEHsU9cTf^l-wsanY(s_Gy?_=oT3El$%X`<0bxig^^RT*X47K^v@RbZ*r3Az}7?E;NP~g3%_2z?xi6DQA>Y*Qxt}<9=S`MaI{lP zGTLAs2prfSql9;@7Vf$?zQKS!sZzvt3=Oi^0`0G<(S7Z;aiw{qP&OdbVhlE0UXMe) z^6I38=dffp>fcULeO*ypRLwLY$t&_f54uuV*~cjRr36?oZ%PWxy{TKn^i0SAa1~e- zP_ae#o;F!UTjOi=^53S6IT=%XF%t$CK~2daJ{kpEys}m^JW!TuZ-2HmeU7MI8N(Ol zjd_Mj<<)rnbnWMwK#HQ`1!hOin{x@R;$08&iZXCU+4jidP>I=*b&QqGY>B;im7Ztz zgkgwo3{s+t7Cv}@0x~!wI{`JrRIIa5hMM&Ua?)urElX(CwQMc{k6UYWaG-u?XtLWK z46(7(YCkG8wXjOuB*#B!uKIGONJ!rAp~hK9JL0pm3cuhO13QfGhqWA4&>L!{WVB{{ z?1>KObKnP2-K;D!RfwKrVoJ6xQD?5;3xdS68>TY_v35VgP+nvpX5kPrChA4wU%< z9nVK2*8oLyBgX4Mkf$3lE{qD?3DHVw5W{8}!c{-*{AoWkYOAj|kLdV^PI5Y@!6sfB z5?4K^RMWa%l*H0d#kklCX-igCzW92rPvej|t8qs;e9@q(PJZ@HG{frvErs&)-GP6X z8sU3Fq_scRU;J#DS_|ywOhEy?^`%?8w<9NdH_aphO262AjG@yR!+$_B8})+90!Zm% z|Jcy}sO6n3EAvu|AIiq(GxCARACeVEBvf59e+ zS#P?MBag2U*f^~Ps4ystOcS?%4UOdGx19d_)aw^P4azK7kp`{U{b8zyZ&|Y7X%uG+ z;A>e`k-H4D(ur_bot$TheTzgvKLBhy$}w8{q$ct&*%>tMJo{^{FvlqUHGwB2Uqtck zl~7z@NBLzAcSS(IA#2ZTQQ~kK1&eV7X(X_iIs)1w@}zfCd7dqN1VSgX)9V?Le3#7V zt80DeyLs;nFm;d)%TsT!0(!r_) zApr1Ts7-72bfjhr-<$KHI;Vl^E0^Tcf;tWjI+v*4P7)V|)y`u^C%Bh(sM8(1nm43^ zJCFLHVA}dP;x@CK@OJcxS0$u33&II|NF8|T9I@BCF474X;a?f#7k#NN zY>EtljTdzauBQ0OPl-Z;ap3jUi@qcmHntFXql*Wq79{is9nC#I)^gglescWhFV+6z z|AotTn2x~;-C+STS{{@){$Zf4BA))krSSQKvhshbF)RrKIs!ZWTjNP+H2yK!8Alpn zSp_)i8)^UbuEOU(@xz|@)(`p5k5&Bk%f$zWLm2SiL!O2v|MXo-#H}G@j^FKt!S-aZ zbu0pyZP3vwXf0n={d|F(wga8E8(Wn*+`%bP#%$Ng>|v*PV7oJQ6Xpr1e?fTsHt8%u z7=s;D!OV$FDC1!pA}5~d#z7ZpE(-zvTZ>QK%&Oc)A`Ci6U-Do2N9Jc?c?7CC1%9Gm zu@~#+@!QknCL&JlEN>v975q2VS-f9i7j4+9Vk6!gT{&NR1U~1PVQtdM@(JqmW}xK% zh`TrG9dD^!(!_lZw{ja;8VNgJ!`-dt#~&`>{OuGGxh$vGQRzCx6^j0=Pm*S3{yqH; zJ_QXd_hhio06;0>2Z^r(n9rx9Jl_z?bAwZU*p2)<%n`D_O?1!+iR!A zI8@029YItvr_WdGNGL&hR_sB6pa4+86*>%~lgLl2K5oGrk8kP;uOUjV105~3D$nSj z-&35g#e%+&&YMf(hpecHY$fme2AhQ+uaa}}jCGzUkIZS+lvA7oQ6N51j0r>J41Z&N zlmxyU?sg)d&pT^z09?srQo;>;XhNQXFrn$vw<#pz2f@2tHmQwwy)&zSaxAx?+cM8YhFZO7X4X#*Ntu?NbX(d* zYKLwbW8=^1yNdmxHYDha1W(;ByCUSyI7xAmG|zJa@^-Ia-!w_yyu64v8kc_keEBgf zNU27PDvo$Gj^NtQrTk|hA4Ie5ZnEas2egu*ehwfe^4!Xo@1h>f*&L1@6GuJM*Y+3(hErMiKop?79;3fhT3@X!# zUyKa}{;J^n`BK5SS8ae$mVrn0q#~^y6YP(EOBhMZ-OUvjHtWi#D1|io^thAw zCgVEkCjX!oIX06Ib!KbjcNF4xtj+cBobB|#M>Mfq0{u2gtDk7!(KkhSLGTx>Faw@> zg)~^>ii;tntY{>o82F&Em+IB$^`MQQylO!>(f7FWlG+OVMjuj zNRUGMBF;py_jUafX7K>-cCi*2qM2m)O3DF}$LFNh^FLV8Y1bfU1-(bnQ80DHLM* zP~wN_8e=bVuNJbGm=?`1;j!53a5J@RpYoDvBe*af@TAd(+Rb!Ns=eRgYZ7mt`;Loh zLhI{r&gn8|O;9Jl=90sUT5%waPllH-+u6sO(}$i0u0HPS^GhOH#*2)vA#&|O>66yz zqWOe1+o38G8U+(i9W%=LnlQw2ImSggudrsP{7(2S<`I)W=`{vnY?l`La!C4pYaZ3m zCt6(%kM)Z!(%f9Yaf7Xz6G>gkVmDwL^YMlBpb zftp}@px_Yebqy$g6t&{%aXuyGQvvLkB45Qkh!e@|RO0y@>-eOA8oqBfu{s$zb+=M~ zgr#&vHNkKhA*pB7v9{92YY{5ZT(XS{8_Oy2TyZP9?D5%pf>qT`QSvsw9&%)JW1DVc z4OQ&649&nupX{%;pv~zW4mr!~mg(zGeipbL$;nQ>FbhC>zix}box^7EI+DKN;9#Rus6yVFM&JUwFOBfKQ~;fNd#~V zuV`N$6<^M^on*DJ`X-*WJ|wysEQutMLZmk|H(6oHr5|P&RBuim0R?OPP<|Ts8l4pR zPD&CuH(x(=`}0fChsyU=EwzdB=x1s9l#1A_iC)^LJagmZnV;f9b6Q`Mb5J!F)OORt zqw>UgYj`%CiSj4s&&y=jB7QrCk4W$5`l;g7?V{#i@E0y#msoXqj;pu))JoPM6eN7~ zetmqZt@!d(K*yJOyja5Wl2rb_4*GtTztQg%&!;jf9dil^v2s(WP#Bx!wT@ox%bBkJ zGCydsQSJ;T(;t+0DCH8wB_jBDHjUInL`HYEhvMwcQyiS~-$4bF;VAApx4`o8;B}8q zQPaQd+1tj1m4GZu?BV3;6LY)-(wfFZ!2=VPIgXOu4NZ=Ud1%|`aCycS%+TO#y-nPUZC0}&v{Am zo{hf<-3267GhNuAGZfuthX{d>i_+iqtSL#JX&2JHs~;5qx032%mtFbuFZlVX6M&y8 oZ1_PV(FOPs5J6S{o?P~q3O7w=-%Z2UgA+VgP?gVp^49mi0P2GLnE(I) literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png b/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png new file mode 100644 index 0000000000000000000000000000000000000000..b241920b30fea1b2a432f6ba01045bbfbae7fb58 GIT binary patch literal 89981 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 Gc>N#PT?mi> literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png b/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png new file mode 100644 index 0000000000000000000000000000000000000000..39c6cb96611a7ced5e17bbeee96ac77ba5c1bf58 GIT binary patch literal 55221 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�`CQ|RV#ExZUQA8abUl4YF<Tjw)MXG`sms%vJq}4 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" "b/zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..dd8e1c235633c3e42fcd1360b66b3ce3452db02d GIT binary patch literal 612762 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 &gix9V;_HEG)$Zf6yxJ@Qw=Nx%hc-RW)`F?LU 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

    4y(8%w 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

    rel@wb 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 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-note.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" b/zh-cn/device-dev/porting/transplant-chip-board-bundle.md similarity index 97% rename from "zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" rename to zh-cn/device-dev/porting/transplant-chip-board-bundle.md index 0999f32a530..8e235f7c54d 100644 --- "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-bundle.md @@ -51,7 +51,7 @@ hb build -f --patch ``` - >![](public_sys-resources/icon-caution.gif) **注意:** + >![](../public_sys-resources/icon-caution.gif) **注意:** >最后一次打patch的产品信息会被记录,在进行下一次编译操作时,会对上一次的patch进行回退(即执行\`patch -p1 -R < xxx\`),回退patch失败或新增patch失败均会终止编译过程,请解决patch冲突后再次尝试编译。 diff --git "a/zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" b/zh-cn/device-dev/porting/transplant-chip-board-component.md old mode 100755 new mode 100644 similarity index 91% rename from "zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" rename to zh-cn/device-dev/porting/transplant-chip-board-component.md index 5f2a6f6f6a3..618fc8acfa8 --- "a/zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-component.md @@ -11,7 +11,7 @@ 系统服务框架基于面向服务的架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务共进程、进程间服务调用等开发能力。 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >本组件在板级系统移植中必须要使用,否则其他服务组件无法运行。 **SAMGR使用说明,请参考:[SAMGR 使用指导](https://gitee.com/openharmony/distributedschedule_samgr_lite/blob/master/README_zh.md)** @@ -22,5 +22,5 @@ DFX子系统主要包含DFR(Design for Reliability,可靠性)和DFT(Design for Testability,可测试性)特性,为开发者提供代码维测信息。 -**DFX子系统使用说明,请参考:[DFX子系统使用指导](../subsystems/DFX.md)** +**DFX子系统使用说明,请参考:[DFX子系统使用指导](../subsystems/subsys-dfx-overview.md)** diff --git "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" b/zh-cn/device-dev/porting/transplant-chip-board-drive.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" rename to zh-cn/device-dev/porting/transplant-chip-board-drive.md diff --git "a/zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" b/zh-cn/device-dev/porting/transplant-chip-board-hal.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" rename to zh-cn/device-dev/porting/transplant-chip-board-hal.md diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" b/zh-cn/device-dev/porting/transplant-chip-board-overview.md old mode 100755 new mode 100644 similarity index 92% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" rename to zh-cn/device-dev/porting/transplant-chip-board-overview.md index a5d18d9bd49..732872af5b5 --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-overview.md @@ -13,11 +13,11 @@ 4. 业务功能验证。 **图 1** 单板驱动适配流程 -![](figures/单板驱动适配流程.png "单板驱动适配流程") +![](figure/单板驱动适配流程.png "单板驱动适配流程") ## 板级目录规范 -板级系统编译适配参考[编译系统介绍](编译构建适配流程.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下: +板级系统编译适配参考[编译系统介绍](transplant-chip-prepare-process.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下: ``` . diff --git "a/zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" b/zh-cn/device-dev/porting/transplant-chip-board-xts.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" rename to zh-cn/device-dev/porting/transplant-chip-board-xts.md index 44b37d01442..00253685f75 --- "a/zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-xts.md @@ -12,7 +12,7 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat - acts,存放acts相关测试用例源码与配置文件,其目的是帮助终端设备厂商尽早发现软件与OpenHarmony的不兼容性,确保软件在整个开发过程中满足OpenHarmony的兼容性要求。 - tools,存放acts相关测试用例开发框架。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >XTS的启动依赖SAMGR系统服务。 适配分为两步,包括: @@ -46,7 +46,7 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat 请在如下目录获取版本镜像:out/hispark\_pegasus/wifiiot\_hispark\_pegasus/。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >判断当前版本镜像是否集成acts测试套件方法:在map文件中查看对应.a是否被编译即可。 2. 版本镜像烧录进开发板。 diff --git a/zh-cn/device-dev/porting/transplant-chip-board.md b/zh-cn/device-dev/porting/transplant-chip-board.md new file mode 100644 index 00000000000..f5d7b754b53 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-chip-board.md @@ -0,0 +1,15 @@ +# 板级系统移植 + +- **[移植概述](transplant-chip-board-overview.md)** + +- **[板级驱动适配](transplant-chip-board-drive.md)** + +- **[HAL层实现](transplant-chip-board-hal.md)** + +- **[系统组件调用](transplant-chip-board-component.md)** + +- **[三方组件适配](transplant-chip-board-bundle.md)** + +- **[XTS认证](transplant-chip-board-xts.md)** + + diff --git "a/zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" b/zh-cn/device-dev/porting/transplant-chip-faqs.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" rename to zh-cn/device-dev/porting/transplant-chip-faqs.md diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" b/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" rename to zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md index a4eaf54ec51..40f82e0cd77 --- "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" +++ b/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md @@ -15,7 +15,7 @@ **图 1** 启动流程 -![](figures/zh-cn_image_0000001073943511.png) +![](figure/zh-cn_image_0000001073943511.png) 启动文件startup.S需要确保中断向量表的入口函数(例如reset\_vector)放在RAM的首地址,它由链接配置文件来指定。其中iar、keil和gcc工程的链接配置文件分别为xxx.icf、xxx.sct和xxx.ld,如果startup.S已经完成系统时钟初始化,并且能够引导到main函数,则启动文件不需要进行修改,采用厂商自带的startup.S即可,否则需要实现以上功能。 diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" b/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" rename to zh-cn/device-dev/porting/transplant-chip-kernel-overview.md index 6f6b4217488..34095a2318d --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md @@ -21,7 +21,7 @@ **图 1** liteos-m内核模块图 -![](figures/zh-cn_image_0000001072304191.png) +![](figure/zh-cn_image_0000001072304191.png) 内核的目录结构和说明如下: diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" b/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md old mode 100755 new mode 100644 similarity index 95% rename from "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" rename to zh-cn/device-dev/porting/transplant-chip-kernel-verify.md index 4604f13ad9b..fc16eeb224f --- "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" +++ b/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md @@ -55,5 +55,5 @@ LITE_OS_SEC_TEXT_INIT int main(void) } ``` -第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](XTS认证.md)来覆盖最小系统是否完整移植成功。 +第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](transplant-chip-board-xts.md)来覆盖最小系统是否完整移植成功。 diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel.md b/zh-cn/device-dev/porting/transplant-chip-kernel.md new file mode 100644 index 00000000000..e27fea3d596 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-chip-kernel.md @@ -0,0 +1,9 @@ +# 内核移植 + +- **[移植概述](transplant-chip-kernel-overview.md)** + +- **[内核基础适配](transplant-chip-kernel-adjustment.md)** + +- **[内核移植验证](transplant-chip-kernel-verify.md)** + + diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" b/zh-cn/device-dev/porting/transplant-chip-prepare-knows.md old mode 100755 new mode 100644 similarity index 93% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" rename to zh-cn/device-dev/porting/transplant-chip-prepare-knows.md index b28e2b5d0ff..6c0282c492b --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" +++ b/zh-cn/device-dev/porting/transplant-chip-prepare-knows.md @@ -33,7 +33,7 @@ OpenHarmony整体工程较为复杂,目录及实现为系统本身功能,如

    /device

    板级相关实现,各个三方厂商按照OpenHarmony规范适配实现,device下具体目录结构及移植过程参见板级系统移植

    +

    板级相关实现,各个三方厂商按照OpenHarmony规范适配实现,device下具体目录结构及移植过程参见板级系统移植

    /vendor

    @@ -75,10 +75,10 @@ vendor # 产品解决方案厂商 OpenHarmony的device目录是基础芯片的适配目录,如果在三方芯片应用过程中发现此目录下已经有完整的芯片适配,则不需要再额外移植,直接跳过移植过程进行系统应用开发即可,如果该目录下无对应的芯片移植实现,则根据本文完成移植过程。OpenHarmony三方芯片移植主要过程如下: **图 1** 芯片移植关键步骤 -![](figures/芯片移植关键步骤.png "芯片移植关键步骤") +![](figure/芯片移植关键步骤.png "芯片移植关键步骤") ## 移植规范 - 满足OpenHarmony[开源贡献基本规范和准则](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md)。 -- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](移植概述.md)和[板级目录规范](移植概述-0.md#section6204129143013)满足基本目录命名和使用规范。 +- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](transplant-chip-kernel-overview.md)和[板级目录规范](transplant-chip-board-overview.md#section6204129143013)满足基本目录命名和使用规范。 diff --git "a/zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" b/zh-cn/device-dev/porting/transplant-chip-prepare-process.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" rename to zh-cn/device-dev/porting/transplant-chip-prepare-process.md diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" b/zh-cn/device-dev/porting/transplant-chip-prepare.md old mode 100755 new mode 100644 similarity index 31% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" rename to zh-cn/device-dev/porting/transplant-chip-prepare.md index 1637d5d8932..358da845b74 --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" +++ b/zh-cn/device-dev/porting/transplant-chip-prepare.md @@ -1,7 +1,7 @@ # 移植准备 -- **[移植须知](移植须知.md)** +- **[移植须知](transplant-chip-prepare-knows.md)** -- **[编译构建适配流程](编译构建适配流程.md)** +- **[编译构建适配流程](transplant-chip-prepare-process.md)** diff --git a/zh-cn/device-dev/porting/transplant-chip.md b/zh-cn/device-dev/porting/transplant-chip.md new file mode 100644 index 00000000000..d0fbee119dd --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-chip.md @@ -0,0 +1,11 @@ +# 三方芯片移植指导 + +- **[移植准备](transplant-chip-prepare.md)** + +- **[内核移植](transplant-chip-kernel.md)** + +- **[板级系统移植](transplant-chip-board.md)** + +- **[常见问题](transplant-chip-faqs.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-minichip.md b/zh-cn/device-dev/porting/transplant-minichip.md new file mode 100644 index 00000000000..58bebe026e8 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-minichip.md @@ -0,0 +1,11 @@ +# 轻量系统芯片移植指导 + +- **[移植准备](transplant-chip-prepare.md)** + +- **[内核移植](transplant-chip-kernel.md)** + +- **[板级系统移植](transplant-chip-board.md)** + +- **[常见问题](transplant-chip-faqs.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md new file mode 100644 index 00000000000..bba3736632b --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md @@ -0,0 +1,11 @@ +# 移植概述 + +驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等。 + +**图 1** OpenHarmony 驱动分类 + + +![](figure/分类.png) + +HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框架会为驱动达成这个目标提供有力的支撑。开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解[HDF驱动框架](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/HDF%E9%A9%B1%E5%8A%A8%E6%A1%86%E6%9E%B6.md)。 + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md new file mode 100644 index 00000000000..353aa15d2a8 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md @@ -0,0 +1,390 @@ +# 器件驱动移植 + +- [LCD驱动移植](#section1574513454119) +- [TP驱动移植](#section20284142116422) +- [WLAN驱动移植](#section0969448164217) + +本章节讲解如何移植各类器件驱动。 + +## LCD驱动移植 + +移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。 + +这些LCD的驱动被放置在源码目录//drivers/framework/model/display/driver/panel中。 + +1. 创建Panel驱动 + + 创建HDF驱动,在驱动初始化中调用RegisterPanel接口注册模型实例。如: + + ``` + int32_t LCDxxEntryInit(struct HdfDeviceObject *object) + { + struct PanelData *panel = CreateYourPanel(); + // 注册模型实例 + if (RegisterPanel(panel) != HDF_SUCCESS) { + HDF_LOGE("%s: RegisterPanel failed", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_xxxxDevEntry = { + .moduleVersion = 1, + .moduleName = "LCD_XXXX", + .Init = LCDxxEntryInit, + }; + + HDF_INIT(g_xxxxDevEntry); + ``` + +2. 配置加载panel驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在display的host中,名为device\_lcd的device中增加配置。 + + >![](../public_sys-resources/icon-caution.gif) **注意:** + >moduleName 要与panel驱动中的moduleName相同。 + + ``` + root { + ... + display :: host { + device_lcd :: device { + deviceN :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LCD_XXXX"; + } + } + } + } + ``` + + +## TP驱动移植 + +本节描述如何移植触摸屏驱动。触摸屏的器件驱动被放置在源码目录//drivers/framework/model/input/driver/touchscreen中。 移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。 + +详细的驱动开发指导,请参考 [TOUCHSCREEN开发指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/TOUCHSCREEN.md)。 + +1. 创建触摸屏器件驱动 + + 在上述touchscreen目录中创建名为touch\_ic\_name.c的文件。编写如下内容 + + ``` + #include "hdf_touch.h" + + static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) + { + ChipDevice *tpImpl = CreateXXXXTpImpl(); + if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) { // 注册ChipDevice模型 + ReleaseXXXXTpImpl(tpImpl); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_touchXXXXChipEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH_XXXX", // 注意这里的moduleName要与后续的配置完全一致 + .Init = HdfXXXXChipInit, + }; + + HDF_INIT(g_touchXXXXChipEntry); + ``` + + 其中ChipDevice中要实现如下方法: + + + + + + + + + + + + + + + + + + + + + + + + + +

    方法

    +

    实现说明

    +

    int32_t (*Init)(ChipDevice *device)

    +

    实现器件初始化

    +

    int32_t (*Detect)(ChipDevice *device)

    +

    实现器件探测

    +

    int32_t (*Suspend)(ChipDevice *device)

    +

    实现器件休眠

    +

    int32_t (*Resume)(ChipDevice *device)

    +

    实现器件唤醒

    +

    int32_t (*DataHandle)(ChipDevice *device)

    +

    需要实现从器件读取数据,将触摸点数据填写入device->driver->frameData中

    +

    int32_t (*UpdateFirmware)(ChipDevice *device)

    +

    实现固件升级

    +
    + +2. 配置产品,加载器件驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在名为input的host中,名为device\_touch\_chip的device中增加配置。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >moduleName 要与触摸屏驱动中的moduleName相同。 + + ``` + deviceN :: deviceNode { + policy = 0; + priority = 130; + preload = 0; + permission = 0660; + moduleName = "HDF_TOUCH_XXXX"; + deviceMatchAttr = "touch_XXXX_configs"; + } + ``` + + +## WLAN驱动移植 + +WLAN驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。 + +**图 1** OpenHarmony WLAN结构示意图 + + +![](figure/HDF_WIFI.png) + +如图1,左半部分负责管理WLAN设备,右半部分负责WLAN流量。HDF WLAN分别为这两部分做了抽象,驱动的移植过程可以看做分别实现这两部分所需接口。这些接口有: + + + + + + + + + + + + + + + + + + + + +

    接口

    +

    定义头文件

    +

    接口说明

    +

    HdfChipDriverFactory

    +

    drivers\framework\include\wifi\hdf_wlan_chipdriver_manager.h

    +

    ChipDriver的Factory,用于支持一个芯片多个WLAN端口

    +

    HdfChipDriver

    +

    drivers\framework\include\wifi\wifi_module.h

    +

    每个WLAN端口对应一个HdfChipDriver,用来管理一个特定端口

    +

    NetDeviceInterFace

    +

    drivers\framework\include\wifi\net_device.h

    +

    与协议栈之间的接口,如发送数据、设置网络接口状态等

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>详细的接口开发指导,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md)。 + +具体的移植步骤如下: + +1. 创建HDF WLAN 芯片驱动 + + 在目录/device/vendor\_name/peripheral/wifi/chip\_name/ 创建文件 hdf\_wlan\_chip\_name.c。内容模板如下: + + ``` + static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { + static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); // 需要移植者实现的方法 + struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) { // 注册驱动工厂 + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_hdfXXXChipEntry = { + .moduleVersion = 1, + .Init = HdfWlanXXXChipDriverInit, + .Release = HdfWlanXXXChipRelease, + .moduleName = "HDF_WIFI_CHIP_XXX" // 注意:这个名字要与配置一致 + }; + + HDF_INIT(g_hdfXXXChipEntry); + ``` + + 在上述代码的CreateChipDriverFactory方法中,需要创建一个HdfChipDriverFactory类型的对象。该对象提供如下方法 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    接口

    +

    说明

    +

    const char *driverName

    +

    当前driverName

    +

    int32_t (*InitChip)(struct HdfWlanDevice *device)

    +

    初始化芯片

    +

    int32_t (*DeinitChip)(struct HdfWlanDevice *device)

    +

    去初始化芯片

    +

    void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)

    +

    释放HdfChipDriverFactory对象

    +

    struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)

    +

    创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号

    +

    void (*Release)(struct HdfChipDriver *chipDriver)

    +

    释放chipDriver

    +

    uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)

    +

    获取当前芯片支持的最大接口数

    +
    + + 其中Build方法负责创建一个管理指定网络接口的对象HdfChipDriver 。该对象需要提供方法: + + + + + + + + + + + + + + + + + + + + + + +

    接口

    +

    说明

    +

    int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    +

    初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace

    +

    int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    +

    去初始化当前网络接口

    +

    struct HdfMac80211BaseOps *ops

    +

    WLAN基础能力接口集

    +

    struct HdfMac80211STAOps *staOps

    +

    支持STA模式所需的接口集

    +

    struct HdfMac80211APOps *apOps

    +

    支持AP模式所需要的接口集

    +
    + +2. 编写配置文件描述驱动支持的芯片 + + 在产品配置目录下创建芯片的配置文件,保存至源码路径//vendor/vendor\_name/product\_name/config/wifi/wlan\_chip\_chip\_name.hcs + + 该文件模板如下: + + ``` + root { + wlan_config { + chip_name :& chipList { + chip_name :: chipInst { + match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */ + driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/ + sdio { + vendorId = 0xXXXX; /* your vendor id */ + deviceId = [0xXXXX]; /*your supported devices */ + } + } + } + } + } + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >路径和文件中的vendor\_name、product\_name、chip\_name请替换成实际名称 + >vendorId 和 deviceId需要根据实际芯片的识别码进行填写。 + +3. 编写配置文件,加载驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在名为network的host中,名为device\_wlan\_chips的device中增加配置。模板如下: + + ``` + deviceN :: deviceNode { + policy = 0; + preload = 2; + moduleName = "HDF_WLAN_CHIPS"; + deviceMatchAttr = "hdf_wlan_chips_chip_name"; + serviceName = "driverName"; + } + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >moduleName 要与HDF WLAN 芯片驱动中的moduleName相同。 + +4. 修改Kconfig文件,让移植的WLAN模组出现再内核配置中 + + 在device/vendor\_name/drivers/Kconfig中增加配置菜单,模板如下 + + ``` + config DRIVERS_HDF_WIFI_chip_name + bool "Enable chip_name Host driver" + default n + depends on DRIVERS_HDF_WLAN help + Answer Y to enable chip_name Host driver. + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >请替换模板中的chip\_name为实际的芯片名称 + +5. 修改构建脚本,让驱动参与内核构建 + + 在源码文件//device/vendor\_name/drivers/lite.mk末尾追加如下内容 + + ``` + ifeq ($(LOSCFG_DRIVERS_HDF_WIFI_chip_name), y) + # 构建完成要链接一个叫hdf_wlan_chipdriver_chip_name的对象,建议按这个命名,防止冲突 + LITEOS_BASELIB += -lhdf_wlan_chipdriver_chip_name + # 增加构建目录gpio + LIB_SUBDIRS += ../peripheral/wifi/chip_name + endif + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >请替换模板中的chip\_name为实际的芯片名称 + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md new file mode 100644 index 00000000000..a28bc2faf3f --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md @@ -0,0 +1,165 @@ +# 平台驱动移植 + +在这一步,我们会在源码目录//device/vendor\_name/soc\_name/drivers 目录下创建平台驱动,如果你要移植的SOC的厂商还没有创建仓库的话,请联系[sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)创建。 + +建议的目录结构: + +``` +device +├── vendor_name +│ ├── drivers +│ │ │ ├── common +│ │ │ ├── Kconfig # 厂商驱动内核菜单入口 +│ │ │ └── lite.mk # 构建的入口 +│ ├── soc_name +│ │ ├── drivers +│ │ │ ├── dmac +│ │ │ ├── gpio +│ │ │ ├── i2c +│ │ │ ├── LICENSE +│ │ │ ├── mipi_dsi +│ │ │ ├── mmc +│ │ │ ├── pwm +│ │ │ ├── README.md # docs 如果需要的话 +│ │ │ ├── README_zh.md +│ │ │ ├── rtc +│ │ │ ├── spi +│ │ │ ├── uart +│ │ │ └── watchdog +│ ├── board_name +``` + +HDF为所有的平台驱动都创建了驱动模型,移植平台驱动的主要工作是向模型注入实例。 这些模型你可以在源码目录//drivers/framework/support/platform/include中找到定义。 + +本节我们会以GPIO为例,讲解如何移植平台驱动,移植过程包含以下步骤: + +1. 创建GPIO驱动 + + 在源码目录//device/vendor\_name/soc\_name/drivers/gpio中创建文件soc\_name\_gpio.c 内容模板如下: + + ``` + #include "gpio_core.h" + + // 定义GPIO结构体,如果需要的话 + struct SocNameGpioCntlr { + struct GpioCntlr cntlr; // 这是HDF GPIO驱动框架需要的结构体 + int myData; // 以下是当前驱动自身需要的 + }; + + // Bind 方法在HDF驱动中主要用户对外发布服务,这里我们不需要,直接返回成功即可 + static int32_t GpioBind(struct HdfDeviceObject *device) + { + (void)device; + return HDF_SUCCESS; + } + + // Init方法时驱动初始化的入口,我们需要在Init方法中完成模型实例的注册 + static int32_t GpioInit(struct HdfDeviceObject *device) + { + SocNameGpioCntlr *impl = CreateGpio(); // 你的创建代码 + ret = GpioCntlrAdd(&impl->cntlr); // 注册GPIO模型实例 + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: err add controller:%d", __func__, ret); + return ret; + } + return HDF_SUCCESS; + } + + // Release方法会在驱动卸载时被调用,这里主要完成资源回收 + static void GpioRelease(struct HdfDeviceObject *device) + { + // GpioCntlrFromDevice 方法能从抽象的设备对象中获得init方法注册进去的模型实例。 + struct GpioCntlr *cntlr = GpioCntlrFromDevice(device); + //资源释放... + } + + struct HdfDriverEntry g_gpioDriverEntry = { + .moduleVersion = 1, + .Bind = GpioBind, + .Init = GpioInit, + .Release = GpioRelease, + .moduleName = "SOC_NAME_gpio_driver", // 这个名字我们稍后会在配置文件中用到,用来加载驱动。 + }; + HDF_INIT(g_gpioDriverEntry); // 注册一个GPIO的驱动入口 + ``` + +2. 创建厂商驱动构建入口 + + 如前所述device/vendor\_name/drivers/lite.mk是厂商驱动的构建的入口。我们需要从这个入口开始,进行构建 + + ``` + #文件device/vendor_name/drivers/lite.mk + + SOC_VENDOR_NAME := $(subst $/",,$(LOSCFG_DEVICE_COMPANY)) + SOC_NAME := $(subst $/",,$(LOSCFG_PLATFORM)) + BOARD_NAME := $(subst $/",,$(LOSCFG_PRODUCT_NAME)) + + # 指定SOC进行构建 + LIB_SUBDIRS += $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ + ``` + +3. 创建SOC驱动构建入口 + + ``` + #文件device/vendor_name/soc_name/drivers/lite.mk + + SOC_DRIVER_ROOT := $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ + + # 判断如果打开了GPIO的内核编译开关 + ifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_GPIO), y) + # 构建完成要链接一个叫hdf_gpio的对象 + LITEOS_BASELIB += -lhdf_gpio + # 增加构建目录gpio + LIB_SUBDIRS += $(SOC_DRIVER_ROOT)/gpio + endif + + # 后续其他驱动在此基础上追加 + ``` + +4. 创建GPIO构建入口 + + ``` + include $(LITEOSTOPDIR)/config.mk + include $(LITEOSTOPDIR)/../../drivers/adapter/khdf/liteos/lite.mk + + # 指定输出对象的名称,注意要与SOC驱动构建入口里的LITEOS_BASELIB 保持一致 + MODULE_NAME := hdf_gpio + + # 增加HDF框架的INCLUDE + LOCAL_CFLAGS += $(HDF_INCLUDE) + + # 要编译的文件 + LOCAL_SRCS += soc_name_gpio.c + + # 编译参数 + LOCAL_CFLAGS += -fstack-protector-strong -Wextra -Wall -Werror -fsigned-char -fno-strict-aliasing -fno-common + + include $(HDF_DRIVER) + ``` + +5. 配置产品加载驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。 + + 平台驱动请添加到platform的host中。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >moduleName要与驱动定义中的相同。 + + ``` + root { + ... + platform :: host { + device_gpio :: device { + device0 :: deviceNode { + policy = 0; + priority = 10; + permission = 0644; + moduleName = "SOC_NAME_gpio_driver"; + } + } + } + } + ``` + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive.md b/zh-cn/device-dev/porting/transplant-smallchip-drive.md new file mode 100644 index 00000000000..8d265ae4d08 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive.md @@ -0,0 +1,9 @@ +# 驱动移植 + +- **[移植概述](transplant-smallchip-drive-des.md)** + +- **[平台驱动移植](transplant-smallchip-drive-plat.md)** + +- **[器件驱动移植](transplant-smallchip-drive-oom.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md new file mode 100644 index 00000000000..f4de2f397db --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md @@ -0,0 +1,265 @@ +# LiteOS-A内核 + +- [移植概述](#section14876256185510) + - [移植场景](#section1986014410569) + - [目录规范](#section10916181716564) + +- [基础适配](#section814974018565) + - [编程样例](#section10854481825) + +- [验证](#section646410453212) + +## 移植概述 + +### 移植场景 + +LiteOS-A当前支持ARMv7-a指令集架构,如果三方芯片为ARMv7-a架构,可以进行内核基础适配;否则还需要先根据芯片的架构来新增内核对该芯片架构的支持,这个工作较为复杂,不在这篇文章范围内。 + +### 目录规范 + +LiteOS-A目录规范参考[LiteOS-A 简介](https://gitee.com/openharmony/kernel_liteos_a)。 + +## 基础适配 + +LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项。移植过程中,需要关注初始化流程中跟硬件配置相关的函数。 + +如下图所示,LiteOS-A的初始化流程主要包含以下五步: + +1. 新增target\_config.h文件,并且编写单板内存相关的配置宏DDR\_MEM\_ADDR和DDR\_MEM\_SIZE,分别表示内存起始地址和内存的长度,预链接脚本board.ld.S会根据这两个宏进行展开生成链接脚本board.ld。 +2. 链接阶段根据链接脚本board.ld生成内核镜像。 +3. 单核CPU镜像运行入口为汇编文件reset\_vector\_up.S,多核CPU的入口为reset\_vector\_mp.S,在汇编文件中进行中断向量表初始化、MMU页表初始化等操作。 +4. reset\_vector.S汇编代码最终会跳转到C语言的main函数,进行硬件时钟、软件定时器、内存和任务等初始化,这个过程会依赖target\_config.h的特性宏配置,最后会创建SystemInit任务,并且开启任务调度OsSchedStart\(\)。 +5. SystemInit任务在单板代码中实现,其中调用DeviceManagerStart函数进行HDF驱动初始化,这个过程会调用单板代码中的驱动配置文件hdf.hcs以及drivers源码实现。 + +整体启动流程如下图所示: + +**图 1** 整体启动流程 + + +![](figure/zh-cn_image_0000001126358814.png) + +从图1中可以看到,内核基础适配需要单板进行适配的代码包含三部分: + +- 新增target\_config.h文件,其中新增单板硬件配置参数和特性开关的配置参数,具体说明如下: + + **表 1** target\_config.h配置项说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    配置项

    +

    说明

    +

    OS_SYS_CLOCK

    +

    系统cycle的频率

    +

    DDR_MEM_ADDR

    +

    系统内存的起始地址

    +

    DDR_MEM_SIZE

    +

    系统内存的大小

    +

    PERIPH_PMM_BASE

    +

    外设寄存器的起始地址

    +

    PERIPH_PMM_SIZE

    +

    外设寄存器的长度大小

    +

    OS_HWI_MIN

    +

    系统中断最小值

    +

    OS_HWI_MAX

    +

    系统中断最大值

    +

    NUM_HAL_INTERRUPT_UART0

    +

    UART0中断号

    +

    UART0_REG_BASE

    +

    UART0寄存器基址

    +

    GIC_BASE_ADDR

    +

    GIC中断寄存器基址

    +

    GICD_OFFSET

    +

    GICD相对GIC基址的偏移地址

    +

    GICC_OFFSET

    +

    GICC相对GIC基址的偏移地址

    +
    + +- SystemInit函数用于单板用户态业务初始化,典型的初始化场景如图2所示: + + **图 1** 业务启动流程 + + + ![](figure/zh-cn_image_0000001126198996.png) + +- main函数用于内核基础初始化和单板内核态业务初始化,流程如下图3所示,整体由内核启动框架主导初始化流程,图中浅蓝色部分为启动框架中可接受外部模块注册启动的阶段。 + + >![](../public_sys-resources/icon-caution.gif) **注意:** + >同一层级内的模块不能有依赖关系。 + + **图 2** 内核启动框架 + ![](figure/内核启动框架.jpg "内核启动框架") + + **表 2** 启动框架层级 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    层级

    +

    说明

    +

    LOS_INIT_LEVEL_EARLIEST

    +

    最早期初始化

    +

    说明:不依赖架构,单板以及后续模块会对其有依赖的纯软件模块初始化

    +

    例如:Trace模块

    +

    LOS_INIT_LEVEL_ARCH_EARLY

    +

    架构早期初始化

    +

    说明:架构相关,后续模块会对其有依赖的模块初始化,如启动过程中非必需的功能,建议放到LOS_INIT_LEVEL_ARCH层

    +

    LOS_INIT_LEVEL_PLATFORM_EARLY

    +

    平台早期初始化

    +

    说明:单板平台、驱动相关,后续模块会对其有依赖的模块初始化,如启动过程中必需的功能,建议放到LOS_INIT_LEVEL_PLATFORM层

    +

    例如:uart模块

    +

    LOS_INIT_LEVEL_KMOD_PREVM

    +

    内存初始化前的内核模块初始化

    +

    说明:在内存初始化之前需要使能的模块初始化

    +

    LOS_INIT_LEVEL_VM_COMPLETE

    +

    基础内存就绪后的初始化

    +

    说明:此时内存初始化完毕,需要进行使能且不依赖进程间通讯机制与系统进程的模块初始化

    +

    例如:共享内存功能

    +

    LOS_INIT_LEVEL_ARCH

    +

    架构后期初始化

    +

    说明:架构拓展功能相关,后续模块会对其有依赖的模块初始化

    +

    LOS_INIT_LEVEL_PLATFORM

    +

    平台后期初始化

    +

    说明:单板平台、驱动相关,后续模块会对其有依赖的模块初始化

    +

    例如:驱动内核抽象层初始化(mmc、mtd)

    +

    LOS_INIT_LEVEL_KMOD_BASIC

    +

    内核基础模块初始化

    +

    说明:内核可拆卸的基础模块初始化

    +

    例如:VFS初始化

    +

    LOS_INIT_LEVEL_KMOD_EXTENDED

    +

    内核扩展模块初始化

    +

    说明:内核可拆卸的扩展模块初始化

    +

    例如:系统调用初始化、ProcFS初始化、Futex初始化、HiLog初始化、HiEvent初始化、LiteIPC初始化

    +

    LOS_INIT_LEVEL_KMOD_TASK

    +

    内核任务创建

    +

    说明:进行内核任务的创建(内核线程,软件定时器任务)

    +

    例如:资源回收系统常驻任务的创建、SystemInit任务创建、CPU占用率统计任务创建

    +
    + + 进行单板移植适配,推荐关注LOS\_INIT\_LEVEL\_ARCH至LOS\_INIT\_LEVEL\_KMOD\_TASK之间的层级,且尽可能拆分初始化行为进行细化阶段注册。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >启动框架中同一层级内的注册模块不能有依赖关系,建议新增模块按照上述启动阶段进行模块初始化的拆分,按需注册启动。 + >可通过查看系统编译生成文件OHOS\_Image.map中.rodata.init.kernel.\*段内的符号表来了解当前已注册进内核启动框架中的各个模块初始化入口,以及检查新注册的模块初始化入口是否生效。 + + +### 编程样例 + +在单板SDK文件中 + +``` +/* 内核启动框架头文件 */ +#include "los_init.h" +...... + +/* 新增模块的初始化函数 */ +unsigned int OsSampleModInit(void) +{ + PRINTK("OsSampleModInit SUCCESS!\n"); + ...... +} +...... +/* 在启动框架的目标层级中注册新增模块 */ +LOS_MODULE_INIT(OsSampleModInit, LOS_INIT_LEVEL_KMOD_EXTENDED); +``` + +## 验证 + +``` +main core booting up... +OsSampleModInit SUCCESS! +releasing 1 secondary cores +cpu 1 entering scheduler +cpu 0 entering scheduler +``` + +根据上述系统启动阶段的打印可知,内核在启动时进行了该注册模块的初始化函数调用,完成该模块的初始化操作。 + +系统启动完毕后进入内核态shell,能够运行task命令能够正常显示即可。 + +``` +OHOS # help +*******************shell commands:************************* + +arp cat cd chgrp chmod chown cp cpup +date dhclient dmesg dns format free help hwi +ifconfig ipdebug kill log ls lsfd memcheck mkdir +mount netstat oom partinfo partition ping ping6 pmm +pwd reset rm rmdir sem shm stack statfs +su swtmr sync systeminfo task telnet touch umount +uname v2p virstatfs vmm watch writeproc + +``` + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md new file mode 100644 index 00000000000..911329dbd1b --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md @@ -0,0 +1,125 @@ +# Linux内核 + +- [移植概述](#section6282121355111) + - [基本信息](#section19589322515) + - [Bootloader](#section19062510518) + +- [适配编译和烧录启动](#section11112101695215) +- [验证](#section17318153325311) + +## 移植概述 + +Linux内核移植主要涉及基于linux内核基线合入三方芯片补丁后,进行基础的内核编译构建及验证。 + +### 基本信息 + +当前Linux内核基线是基于Linux社区 4.19 LTS版本演进,合入CVE及bugfix补丁。具体信息参考[代码库](https://gitee.com/openharmony/kernel_linux),对应repo工程代码路径为kernel/linux-4.19。 + +### Bootloader + +可以使用芯片厂商自带的Bootloader,或者是开源Uboot等加载内核镜像。比如为支持Hi3516DV300开发板,OpenHarmony引入的开源[Uboot](https://gitee.com/openharmony/device_hisilicon_third_party_uboot)。 + +## 适配编译和烧录启动 + +1. 准备内核config(特别是芯片相关的config)。 + + config文件所在源码目录:kernel/linux/config/ + + 以hi3516dv300芯片为例,可在对应的linux-4.19/arch/arm/configs/目录下新建\_small\_defconfig,如hi3516dv300\_small\_defconfig表示针对hi3516dv300小型系统的defconfig。该config文件可以由基础defconfig文件small\_common\_defconfig与该芯片相关的config组合生成。 + +2. 准备芯片补丁。 + + 补丁文件所在源码目录:kernel/linux/patches/linux-4.19 + + 以hi3516dv300芯片为例,参考已有的patch目录hi3516dv300\_small\_patch目录,新建\_patch目录,放置相关芯片补丁,注意hdf.patch等驱动补丁。 + +3. 编译。 + + 具体内核编译入口脚本位于工程目录kernel/linux/patches/下面,版本级整编命令会通过BUILD.gn进入kernel\_module\_build.sh和kernel.mk,需要在这2个文件中针对性进行patch及defconfig文件路径、编译器、芯片架构、内核Image格式等的适配。 + + 通过编译错误日志调整补丁,典型错误场景: + + (1)补丁合入失败,出现冲突,需要进行上下文适配修改。 + + (2)编译失败,内核版本差异(函数实现调整等)需要针对性进行内核适配。 + + >![](../public_sys-resources/icon-caution.gif) **注意:** + >- 参考kernel.mk,在OpenHarmony工程的编译构建流程中会拷贝kernel/linux-4.19的代码环境后进行打补丁动作,在使用版本级编译命令前,需要kernel/linux-4.19保持原代码环境。 + >- 对应拷贝后的目录位于: out/<\*\*\*\>/kernel/linux-4.19,可以在该目录下进行补丁的修改适配。 + +4. 烧录启动。 + + 由于不同芯片的开发板的烧录方式不一样,此处不表述具体的烧录方式。需要注意烧录的各镜像的大小及启动参数的配置,参考hi3516dv300采用uboot启动参数: + + ``` + setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),9M(kernel),50M(rootfs),50M(userfs)' + ``` + + +## 验证 + +调试init进程、启动shell和运行简单的用户态程序,验证内核移植是否成功。OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的OS镜像结构以及linux用户态的启动流程如下图1所示: + +**图 1** 基于linux内核的OS镜像结构和用户态程序启动流程 + + +![](figure/zh-cn_image_0000001126354076.png) + +基于上述流程,推荐按以下步骤完成验证: + +1. 制作根文件系统镜像。 + + 请参考[新建芯片解决方案和产品解决方案](https://device.harmonyos.com/cn/docs/develop/subsystems/oem_subsys_build_guide-0000001060378721)生成根文件系统镜像rootfs.img。从上图可以看到启动过程与产品配置强相关,在制作rootfs.img过程中请完成如下四种配置: + + - 组件配置 + + 产品组件配置文件vendor/\{company\}/\{product\}/config.json需配置启动恢复子系统\(startup\)的init\_lite组件和内核子系统的linux\_4\_1\_9组件。 + + - 系统服务配置 + + 系统服务配置文件vendor/\{company\}/\{product\}/init\_configs/init\_xxx.cfg需要启动shell服务。 + + - 文件系统配置 + + 文件系统配置vendor/\{company\}/\{product\}/fs.yml中需要创建“/bin/sh -\> mksh“和“/lib/ld-musl-arm.so.1 -\> libc.so“软连接,这两个文件分别是shell可执行程序和可执行程序依赖的c库。 + + - 启动配置 + + 启动配置在vendor/\{company\}/\{product\}/init\_configs/etc目录下,包括fstab、rsS和Sxxx文件,请按开发板实际情况配置。 + + + 编译完成后,可通过检查产品编译输出目录下的rootfs内容,确认rootfs.img文件生成是否符合预期。 + +2. 调试init进程和shell。 + + 烧录rootfs.img并调试init进程和shell,不同厂商的开发板的烧录工具和流程可能不同,请按芯片解决方案提供的流程进行烧录。烧录rootfs.img前请确认bootloader和linux内核启动正常。如果rootfs.img被内核正常挂载,接着将运行/bin/init程序,init进程为用户态的第一个应用程序,它的运行意味着用户态的开始。 + + init程序首先会调用/etc/init.d/rcS脚本,rcS脚本执行第一条命令为"/bin/mount -a”,该命令会加载fstab文件,在fstab中的命令执行完后rcS将顺序调用Sxxx脚本完成设备节点创建和扫描、文件权限配置等操作。 + + 最后,init程序会读取init.cfg系统服务配置文件。根据步骤1中的设置,init程序将会启动shell。如果上述流程运行正常,系统则会进入shell。 + + 若串口有如下版本号日志打印,则表示init程序启动正常: + + **图 2** init启动正常日志 + + + ![](figure/init.jpg) + + 正常进入shell后执行ls命令,串口打印信息如下图: + + **图 3** 正常进入shell后输入ls命令串口打印 + + + ![](figure/shell.jpg) + +3. 配置NFS。 + + init进程和shell正常启动后,以服务端IP为192.168.1.22、客户端IP为192.168.1.4为例,可在根目录执行如下命令开启NFS: + + ``` + ifconfig eth0 192.168.1.4 netmask 255.255.255.0 + mkdir -p /storgage/nfs + mount -t nfs -o nolock,addr=192.168.1.22 192.168.1.22:/nfs /storage/nfs + ``` + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel.md new file mode 100644 index 00000000000..a1adc2dde7e --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-kernel.md @@ -0,0 +1,7 @@ +# 移植内核 + +- **[LiteOS-A内核](transplant-smallchip-kernel-a.md)** + +- **[Linux内核](transplant-smallchip-kernel-linux.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md new file mode 100644 index 00000000000..6ca5022e46a --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md @@ -0,0 +1,142 @@ +# 编译构建 + +- [编译环境搭建](#section3336103410314) +- [编译构建系统介绍](#section354343816319) +- [新建芯片解决方案](#section18612153175011) + +## 编译环境搭建 + +首先请搭建OpenHarmony基础环境,步骤请参考轻量和小型系统入门[linux环境搭建](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_environment_lin-0000001105407498)。用户态和LiteOS-A的内核态编译均使用llvm编译器编译,安装方法在搭建基础环境中已提供。若选择移植linux内核,请执行如下命令安装gcc-arm-linux-gnueabi交叉编译工具链,用于编译linux内核态镜像: + +``` +sudo apt-get install gcc-arm-linux-gnueabi +``` + +## 编译构建系统介绍 + +编译构建流程、编译脚本编写、目录规则、独立编译单个组件、独立编译芯片解决方案等介绍请见[编译构建子系统介绍](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA.md)。 + +## 新建芯片解决方案 + +了解编译框架和搭建完编译环境后,请参考如下步骤新建芯片解决方案: + +1. 新建目录 + + 芯片解决方案的目录规则为:device/\{芯片解决方案厂商\}/\{开发板\}。以海思的hispark\_taurus开发板为例,在代码根目录执行如下命令建立目录: + + ``` + mkdir -p device/hisilicon/hispark_taurus + ``` + + 芯片解决方案目录树的规则如下: + + ``` + device + └── company # 芯片解决方案厂商 + └── board # 开发板名称 + ├── BUILD.gn # 编译脚本 + ├── hals # OS南向接口适配 + ├── linux # 可选,linux内核版本 + │ └── config.gni # linux版本编译配置 + └── liteos_a # 可选,liteos内核版本 + └── config.gni # liteos_a版本编译配置 + ``` + + 以hispark\_taurus移植linux内核为例,目录树应该如下: + + ``` + device + └── hisilicon + └── hispark_tautus + ├── BUILD.gn + ├── hals + ├── ...... + └── linux + └── config.gni + ``` + + 目录树建立后开发板相关的源码放到hispark\_taurus目录下。 + +2. 配置开发板编译选项 + + [步骤1](#li20894101862)中的config.gni可配置开发板相关的编译选项,编译构建框架将会遵照该配置文件中的参数编译所有用户态OS组件。其中关键的字段说明如下: + + ``` + kernel_type: 开发板使用的内核类型,例如:“liteos_a”, “liteos_m”, “linux”。 + kernel_version: 开发板使用的内核版本,例如:“4.19”。 + board_cpu: 开发板CPU类型,例如:“cortex-a7”, “riscv32”。 + board_arch: 开发板芯片arch, 例如: “armv7-a”, “rv32imac”。 + board_toolchain: 开发板自定义的编译工具链名称,例如:“gcc-arm-none-eabi”。若为空,则使用默认为ohos-clang。 + board_toolchain_prefix:编译工具链前缀,例如:“gcc-arm-none-eabi”。 + board_toolchain_type: 编译工具链类型,目前支持gcc和clang。例如:“gcc” ,“clang”。 + board_cflags: 开发板配置的c文件编译选项。 + board_cxx_flags: 开发板配置的cpp文件编译选项。 + board_ld_flags: 开发板配置的链接选项。 + ``` + + 还以海思的hispark\_taurus开发板为例,对应的device/hisilicon/hispark\_taurus/config.gni内容如下: + + ``` + # Board CPU type, e.g. "cortex-a7", "riscv32". + board_cpu = "cortex-a7" + + # Toolchain name used for system compiling. + # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. + # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. + board_toolchain = "mips-linux-gnu-gcc" + + # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. + board_toolchain_path = + rebase_path("//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/bin", + root_build_dir) + + # Compiler prefix. + board_toolchain_prefix = "arm-linux-ohoseabi-" + + # Compiler type, "gcc" or "clang". + board_toolchain_type = "gcc" + + # Board related common compile flags. + board_cflags = [ + ] + board_cxx_flags = [ + ] + board_ld_flags = [] + + # Board related headfiles search path. + board_include_dirs = [] + board_include_dirs += [ rebase_path( + "//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/target/usr/include", + root_build_dir) ] + + # Board adapter dir for OHOS components. + board_adapter_dir = "" + + # Sysroot path. + board_configed_sysroot = "" + + # Board storage type, it used for file system generation. + storage_type = "emmc" + ``` + +3. 编写开发板编译脚本 + + 步骤1中的BUILD.gn为新增的开发板的编译入口,主要用于编译开发板相关的代码,主要为设备侧驱动、设备侧接口适配\(媒体,图形等\)和开发板的SDK等等。 + + 海思的hispark\_taurus开发板的device/hisilicon/hispark\_taurus/BUILD.gn可写成: + + ``` + # group名称建议与开发板名称一致 + group("hispark_taurus") { + deps = [ "//kernel/linux/patches:linux_kernel" ] # 拉起内核编译 + deps += [ + ...... # 开发板其他编译单元 + ] + } + ``` + +4. 编译调试 + + 在开发板目录下执行hb set和hb build即可启动芯片解决方案的编译,编译框架会以开发板下的BUILD.gn为入口启动编译。 + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md new file mode 100644 index 00000000000..afe392369f2 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md @@ -0,0 +1,98 @@ +# 移植须知 + +本文详细介绍如何将OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的linux和LiteOS-A内核移植到新的开发板上,要求读者具有一定的嵌入式系统开发经验。建议先查看[入门指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/OpenHarmony-Overview_zh.md),以了解OpenHarmony软件架构、目录结构、内核子系统和驱动子系统相关知识。当前小型系统已适配的开发板如下表所示: + +**表 1** OpenHarmony小型系统已适配的开发板 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    开发板

    +

    内核

    +

    arch

    +

    ROM

    +

    RAM

    +

    文件系统

    +

    Flash 类型

    +

    hispark_taurus

    +

    LiteOS-A和linux-4.19

    +

    ARM cortex-a7

    +

    8G

    +

    1GB

    +

    VFAT、EXT4

    +

    eMMC4.5

    +

    hispark_aries

    +

    LiteOS-A

    +

    ARM cortex-a7

    +

    16M

    +

    512M

    +

    JFFS2

    +

    SPI NOR

    +
    + +表1中的开发板可作为待移植开发板的参考,当前LiteOS-A和linux-4.19支持的arch、ROM占用、支持的文件系统和支持的Flash类型如下表所示: + +**表 2** OpenHarmony小型系统内核移植信息表 + + + + + + + + + + + + + + + + + + + + + + +

    内核

    +

    支持的arch

    +

    ROM

    +

    文件系统

    +

    Flash类型

    +

    LiteOS-A

    +

    ARMv7

    +

    > 2M

    +

    VFAT、JFFS2、YAFFS2

    +

    SPI NOR、NAND、EMMC

    +

    linux-4.19

    +

    ARM, ARM64、 MIPS、 X86等

    +

    > 5M

    +

    VFAT、JFFS2、YAFFS、EXT/2/3/4、NFS等等

    +

    NOR、NAND、EMMC等

    +
    + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare.md new file mode 100644 index 00000000000..6ec4b45dff7 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-prepare.md @@ -0,0 +1,7 @@ +# 移植准备 + +- **[移植须知](transplant-smallchip-prepare-needs.md)** + +- **[编译构建](transplant-smallchip-prepare-building.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip.md b/zh-cn/device-dev/porting/transplant-smallchip.md new file mode 100644 index 00000000000..4ba38ff4484 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip.md @@ -0,0 +1,9 @@ +# 小型系统芯片移植指导 + +- **[移植准备](../porting/transplant-smallchip-prepare.md)** + +- **[移植内核](../porting/transplant-smallchip-kernel.md)** + +- **[驱动移植](../porting/transplant-smallchip-drive.md)** + + diff --git "a/zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" b/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" rename to zh-cn/device-dev/porting/transplant-thirdparty-cmake.md index bb7404eca3e..fb23041d28a --- "a/zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" +++ b/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md @@ -227,12 +227,12 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库, 1. 搭建OpenHarmony环境 - 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](https://device.harmonyos.com/cn/docs/start/introduce/oem_camera_start_example-0000001051610926)。 + 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](../quick-start/quickstart-lite-steps-board3518-running.md)。 进入系统如下所示: **图 1** OpenHarmony启动成功界面 - ![](figures/OpenHarmony启动成功界面.png "OpenHarmony启动成功界面") + ![](figure/OpenHarmony启动成功界面.png "OpenHarmony启动成功界面") 2. 挂载nfs目录,将[表2](#table1452412391911)中test目录下cctest可执行文件放入nfs目录 3. 执行用例 @@ -306,7 +306,7 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库,

    将三方库加入工程的gn适配文件

    openHarmony/third_party/double-conversion/build_thirdpaty.py

    +

    openHarmony/third_party/double-conversion/build_thirdparty.py

    GN调用shell命令脚本文件,由上面GN文件将相关命令传入,实现GN转CMake

    将三方库加入工程的gn适配文件

    openHarmony/third_party/yxml/build_thirdpaty.py

    +

    openHarmony/third_party/yxml/build_thirdparty.py

    GN调用shell命令脚本文件,由上面GN文件将相关命令传入,实现GN转Makefile

    功能开发

    参考源码获取

    +

    参考源码获取

    Python3.7+

    @@ -107,13 +107,13 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示
    ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >- 如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja编译工具。 >- (推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、LLVM编译工具。安装gn、ninja、LLVM编译工具时,请确保编译工具的环境变量路径唯一。 ## 获取源码 -开发者需要在Linux服务器上下载并解压一套源代码,请参见[源码获取](../get-code/源码获取.md)。 +开发者需要在Linux服务器上下载并解压一套源代码,请参见[源码获取](../get-code/sourcecode-acquire.md)。 ## 安装和配置Python @@ -254,7 +254,7 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 1. 打开Linux编译服务器终端。 2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz)。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >针对OpenHarmony\_v1.x分支/标签,使用此链接[下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar)。 3. 解压LLVM安装包至\~/llvm路径下。 @@ -263,7 +263,7 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 tar -zxvf llvm.tar.gz -C ~/ ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >针对OpenHarmony\_v1.x分支/标签,使用如下命令解压: >``` >tar -xvf llvm-linux-9.0.0-36191.tar -C ~/ @@ -345,8 +345,8 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 python3 -m pip uninstall ohos-build ``` ->![](public_sys-resources/icon-notice.gif) **须知:** ->如果安装hb的过程中遇到问题,请参见下文[常见问题](常见问题.md)进行解决。 +>![](../public_sys-resources/icon-notice.gif) **须知:** +>如果安装hb的过程中遇到问题,请参见下文[常见问题](quickstart-lite-env-setup-faqs.md)进行解决。 ## 安装其他工具 @@ -355,7 +355,7 @@ python3 -m pip uninstall ohos-build 1. apt安装全部依赖的工具 ``` - sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils + sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi ``` diff --git "a/zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207.md" b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-win.md old mode 100755 new mode 100644 similarity index 93% rename from "zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-win.md index cffea83cad9..7f51e21e0b4 --- "a/zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-win.md @@ -81,12 +81,12 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 ## 安装Visual Studio Code ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果已安装Visual Studio Code,打开命令行工具,输入**code --version**命令,检查版本号是否为1.53及以上版本;可以正常返回版本号,说明环境变量设置也正确。 1. 双击Visual Studio Code软件包进行安装。安装过程中,请勾选“添加到PATH(重启后生效)”。 - ![](figures/zh-cn_image_0000001174350653.png) + ![](figure/zh-cn_image_0000001174350653.png) 2. 安装完成后,重启计算机,使Visual Studio Code的环境变量生效。 3. 打开命令行工具,输入**code --version**命令,可以正常显示版本号说明安装成功。 @@ -95,15 +95,15 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 1. 双击Python安装包进行安装,勾选“**Add Python 3.8 to PATH**”,然后点击**Install Now**开始安装。 - ![](figures/zh-cn_image_0000001128470908.png) + ![](figure/zh-cn_image_0000001128470908.png) 2. 等待安装完成后,点击**Close**。 - ![](figures/zh-cn_image_0000001128311104.png) + ![](figure/zh-cn_image_0000001128311104.png) 3. 打开命令行工具,输入python --version,检查安装结果。 - ![](figures/zh-cn_image_0000001174350655.png) + ![](figure/zh-cn_image_0000001174350655.png) 4. 在命令行工具中,分别执行如下命令设置pip源,用于后续安装DevEco Device Tool过程中下载依赖的组件包。 @@ -116,13 +116,13 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 ## 安装Node.js ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果已安装Node.js,打开命令行工具,输入**node -v**命令,检查版本号是否为12.0.0及以上版本。 1. 点击下载后的软件包进行安装,全部按照默认设置点击**Next**,直至**Finish**。安装过程中,Node.js会自动在系统的path环境变量中配置node.exe的目录路径。 2. 重新打开命令行工具,输入“node -v“命令,能正常查询Node.js的版本号,说明Node.js安装成功。 - ![](figures/zh-cn_image_0000001128311096.png) + ![](figure/zh-cn_image_0000001128311096.png) ## 安装hpm @@ -131,7 +131,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 在安装hpm前,请检查网络连接状态,如果网络不能直接访问Internet,则需要通过代理服务器才可以访问。这种情况下,需要先[设置npm代理](https://device.harmonyos.com/cn/docs/ide/user-guides/npm_proxy-0000001054491032),才能安装hpm。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果已安装hpm,可以执行**npm update -g @ohos/hpm-cli**命令升级hpm至最新版本。 1. 建议将npm源配置为国内镜像,例如设置为华为云镜像源。 @@ -146,7 +146,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 npm install -g @ohos/hpm-cli ``` - ![](figures/zh-cn_image_0000001128311100.png) + ![](figure/zh-cn_image_0000001128311100.png) 3. 安装完成后,执行如下命令(V为大写字母)检查hpm安装结果。 @@ -154,7 +154,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 hpm -V ``` - ![](figures/zh-cn_image_0000001174270735.png) + ![](figure/zh-cn_image_0000001174270735.png) ## 安装DevEco Device Tool插件 @@ -163,20 +163,20 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装完DevEco Device Tool后,会自动从Visual Studio Code的插件市场安装C/C++和CodeLLDB插件。因此,在安装DevEco Device Tool前,请检查Visual Studio Code的网络连接状态,如果网络不能直接访问Internet,则需要通过代理服务器才可以访问,请先[Visual Studio Code代理设置](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144)。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >安装DevEco Device Tool时,请先关闭Visual Studio Code。 1. 解压DevEco Device Tool插件压缩包,双击安装包程序进行安装。 2. 安装过程中,会自动安装DevEco Device Tool所需的依赖文件(如C/C++和CodeLLDB插件)和执行程序。 - ![](figures/zh-cn_image_0000001128470902.png) + ![](figure/zh-cn_image_0000001128470902.png) 3. 安装完成后,会自动关闭命令行工具窗口。 -4. 启动Visual Studio Code,点击左侧的![](figures/zh-cn_image_0000001174350651.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 +4. 启动Visual Studio Code,点击左侧的![](figure/zh-cn_image_0000001174350651.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果C/C++和CodeLLDB插件安装不成功,则DevEco Device Tool不能正常运行,解决方法,详细请参考:[离线安装C/C++和CodeLLDB插件](https://device.harmonyos.com/cn/docs/ide/user-guides/offline_plugin_install-0000001074376846)。 - ![](figures/zh-cn_image_0000001174270727.png) + ![](figure/zh-cn_image_0000001174270727.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md new file mode 100644 index 00000000000..f5782f2a9f8 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md @@ -0,0 +1,11 @@ +# 搭建系统环境 + +- **[概述](quickstart-lite-env-setup-des.md)** + +- **[Windows开发环境准备](quickstart-lite-env-setup-win.md)** + +- **[Ubuntu编译环境准备](quickstart-lite-env-setup-lin.md)** + +- **[常见问题](quickstart-lite-env-setup-faqs.md)** + + diff --git "a/zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" b/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3516.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3516.md index 3e24c43eb01..1224e4f3464 --- "a/zh-cn/device-dev/quick-start/Hi3516\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3516.md @@ -10,7 +10,7 @@ Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代I **图 1** Hi3516单板正面外观图 -![](figures/3516正面.png) +![](figure/3516正面.png) ## 开发板规格 diff --git "a/zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" b/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3518.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3518.md index 1f77aeac075..211dffba8a9 --- "a/zh-cn/device-dev/quick-start/Hi3518\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3518.md @@ -8,12 +8,12 @@ Hi3518EV300作为新一代智慧视觉处理SOC,集成新一代ISP\(Image Signal Processor\)以及H.265视频压缩编码器,同时采用先进低功耗工艺和低功耗架构设计,使其在低码率、高画质、低功耗等方面引领行业水平。 **图 1** Hi3518EV300单板正面外观图 -![](figures/Hi3518EV300单板正面外观图.png "Hi3518EV300单板正面外观图") +![](figure/Hi3518EV300单板正面外观图.png "Hi3518EV300单板正面外观图") **图 2** Hi3518EV300单板背面外观图 -![](figures/Hi3518正背面.png) +![](figure/Hi3518正背面.png) ## 开发板规格 diff --git "a/zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" b/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md index ac6a21df22f..84549ecc121 --- "a/zh-cn/device-dev/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\344\273\213\347\273\215.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md @@ -12,14 +12,14 @@ Hi3861 WLAN模组是一片大约2cm\*5cm大小的开发板,是一款高度集 **图 1** Hi3861 WLAN模组外观图 -![](figures/3861正面.png) +![](figure/3861正面.png) 另外,Hi3861 WLAN模组还可以通过与Hi3861底板连接,扩充自身的外设能力,底板如下图所示。 **图 2** Hi3861底板外观图 -![](figures/zh-cn_image_0000001174350615.png) +![](figure/zh-cn_image_0000001174350615.png) - RF电路包括功率放大器PA(Power Amplifier)、低噪声放大器LNA(Low Noise Amplifier)、RF Balun、天线开关以及电源管理等模块;支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最大72.2Mbit/s物理层速率。 - Hi3861 WLAN基带支持正交频分复用(OFDM)技术,并向下兼容直接序列扩频(DSSS)和补码键控(CCK)技术,支持IEEE 802.11 b/g/n协议的各种数据速率。 @@ -29,7 +29,7 @@ Hi3861 WLAN模组是一片大约2cm\*5cm大小的开发板,是一款高度集 **图 3** Hi3861功能框图 - ![](figures/zh-cn_image_0000001128311066.png) + ![](figure/zh-cn_image_0000001128311066.png) ## 资源和约束 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md b/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md new file mode 100644 index 00000000000..65e4fde55ca --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md @@ -0,0 +1,9 @@ +# 了解开发板 + +- **[Hi3861开发板介绍](quickstart-lite-introduction-hi3861.md)** + +- **[Hi3516开发板介绍](quickstart-lite-introduction-hi3516.md)** + +- **[Hi3518开发板介绍](quickstart-lite-introduction-hi3518.md)** + + diff --git "a/zh-cn/device-dev/quick-start/\346\246\202\350\277\260.md" b/zh-cn/device-dev/quick-start/quickstart-lite-overview.md similarity index 100% rename from "zh-cn/device-dev/quick-start/\346\246\202\350\277\260.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-overview.md diff --git "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md similarity index 77% rename from "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md index ece72f03517..ff748404f05 100644 --- "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md @@ -13,7 +13,7 @@ 点击烧写并选择串口后,出现Error: Opening COMxx: Access denied。 **图 1** 打开串口失败图 - ![](figures/打开串口失败图.png "打开串口失败图") + ![](figure/打开串口失败图.png "打开串口失败图") - **可能原因** @@ -24,19 +24,19 @@ 1. 按图依次选择下拉框,查找带有serial-xx的终端 **图 2** 查找是否存在占用串口的终端 - ![](figures/查找是否存在占用串口的终端.png "查找是否存在占用串口的终端") + ![](figure/查找是否存在占用串口的终端.png "查找是否存在占用串口的终端") 2. 点击标号中的垃圾桶图标,关闭串口。 **图 3** 关闭串口终端 - ![](figures/关闭串口终端.png "关闭串口终端") + ![](figure/关闭串口终端.png "关闭串口终端") 3. 重新点击烧写,选择串口并开始烧写程序 **图 4** 重新启动烧写任务 - ![](figures/changjian1.png) + ![](figure/changjian1.png) ## Windows电脑与单板网络连接失败 @@ -46,7 +46,7 @@ 点击烧写并选择串口后,无法获取文件。 **图 5** 网络不通,单板无法获取文件图 - ![](figures/网络不通-单板无法获取文件图.png "网络不通-单板无法获取文件图") + ![](figure/网络不通-单板无法获取文件图.png "网络不通-单板无法获取文件图") - **可能原因** @@ -60,22 +60,22 @@ 2. 点击Windows防火墙。 **图 6** 网络防火墙设置图 - ![](figures/网络防火墙设置图.png "网络防火墙设置图") + ![](figure/网络防火墙设置图.png "网络防火墙设置图") 3. 点击“允许应用通过防火墙”。 **图 7** 防火墙和网络保护界面图 - ![](figures/防火墙和网络保护界面图.png "防火墙和网络保护界面图") + ![](figure/防火墙和网络保护界面图.png "防火墙和网络保护界面图") 4. 查找Visual Studio Code应用。 **图 8** 查找Visual Studio Code应用图 - ![](figures/查找Visual-Studio-Code应用图.png "查找Visual-Studio-Code应用图") + ![](figure/查找Visual-Studio-Code应用图.png "查找Visual-Studio-Code应用图") 5. 勾选Visual Studio Code的专用和公用网络的访问权限。 **图 9** 允许Visual Studio Code应用访问网络 - ![](figures/允许Visual-Studio-Code应用访问网络.png "允许Visual-Studio-Code应用访问网络") + ![](figure/允许Visual-Studio-Code应用访问网络.png "允许Visual-Studio-Code应用访问网络") ## 烧写失败 @@ -97,7 +97,7 @@ - **现象描述** - ![](figures/zh-cn_image_0000001174270715.png) + ![](figure/zh-cn_image_0000001174270715.png) - **可能原因1** @@ -106,11 +106,11 @@ - **解决办法** - 请按照[安装python](../quick-start/Ubuntu编译环境准备.md)。 + 请按照[安装python](quickstart-lite-env-setup-lin.md)。 - **可能原因2** - ![](figures/zh-cn_image_0000001128470880.png) + ![](figure/zh-cn_image_0000001128470880.png) - **解决办法** @@ -125,7 +125,7 @@ 例: - ![](figures/zh-cn_image_0000001174270713.png) + ![](figure/zh-cn_image_0000001174270713.png) ## 串口无回显 @@ -142,7 +142,7 @@ 修改串口号。 - 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按镜像运行内[步骤1](../quick-start/运行Hello-OHOS.md)修改串口号。 + 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按镜像运行内[步骤1](#section627268185113)修改串口号。 - **可能原因2** @@ -158,7 +158,7 @@ 1. 获取引导文件U-boot。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >单板的U-boot文件请在开源包中获取: >Hi3516DV300:device\\hisilicon\\hispark\_taurus\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3516dv300.bin >Hi3518EV300:device\\hisilicon\\hispark\_aries\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3518ev300.bin @@ -170,6 +170,6 @@ 3. 烧写完成后,登录串口如下图所示。 **图 10** U-boot烧写完成串口显示图 - ![](figures/U-boot烧写完成串口显示图.png "U-boot烧写完成串口显示图") + ![](figure/U-boot烧写完成串口显示图.png "U-boot烧写完成串口显示图") diff --git "a/zh-cn/device-dev/quick-start/\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md old mode 100755 new mode 100644 similarity index 95% rename from "zh-cn/device-dev/quick-start/\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md index f9eb065a5d8..7b43c52c82c --- "a/zh-cn/device-dev/quick-start/\351\251\261\345\212\250\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md @@ -56,7 +56,7 @@ } ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >配置文件与UART驱动示例的源码在同一个路径,需要手动添加到Hi3516DV300单板路径下。 2. 注册UART驱动入口。 @@ -416,34 +416,34 @@ } ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如上代码均为示例代码,完整代码可以在vendor/huawei/hdf/sample查看。 >示例代码默认不参与编译,需要手动添加到编译脚本中。 ## 编译和烧写 -参考示例1进行编译和烧写:[编译](../quick-start/驱动开发示例.md)、[烧录](../quick-start/驱动开发示例.md) +参考《运行Hello OHOS》进行编译和烧写:[编译](quickstart-lite-steps-board3516-running.md#section1077671315253)、[烧录](quickstart-lite-steps-board3516-running.md#section1347011412201) ## 镜像运行 1. 连接串口。 - >![](public_sys-resources/icon-notice.gif) **须知:** - >若无法连接串口,请参考[常见问题](../quick-start/常见问题-3.md)进行排查。 + >![](../public_sys-resources/icon-notice.gif) **须知:** + >若无法连接串口,请参考[常见问题](quickstart-lite-steps-board3516-faqs.md)进行排查。 **图 1** 连接串口图 - ![](figures/chuankou1.png) + ![](figure/chuankou1.png) 1. 单击**Monitor**打开串口。 2. 连续输入回车直到串口显示"hisilicon"。 - 3. 单板初次启动或修改启动参数,请进入[步骤2](运行Hello-OHOS.md#l5b42e79a33ea4d35982b78a22913b0b1),否则进入[步骤3](运行Hello-OHOS.md#ld26f18828aa44c36bfa36be150e60e49)。 + 3. 单板初次启动或修改启动参数,请进入[步骤2](quickstart-lite-steps-board3516-running.md#l5b42e79a33ea4d35982b78a22913b0b1),否则进入[步骤3](quickstart-lite-steps-board3516-running.md#ld26f18828aa44c36bfa36be150e60e49)。 2. (单板初次启动必选)修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,若不修改参数只需执行一次。每次复位单板均会自动进入系统。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >U-boot引导程序默认会有2秒的等待时间,用户可使用回车打断等待并显示"hisilicon",通过**reset**命令可再次启动系统。 **表 1** U-boot修改命令 @@ -479,7 +479,7 @@
    - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >**“go 0x80000000”**为可选指令,默认配置已将该指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用"回车"打断自动启动。 3. 输入**“reset”**指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。 @@ -487,7 +487,7 @@ **图 2** 系统启动图 - ![](figures/qi1.png) + ![](figure/qi1.png) 4. 根目录下,在命令行输入指令“**./bin/hello\_uart**”执行写入的demo程序,显示成功结果如下所示。 @@ -499,5 +499,5 @@ ## 下一步学习 -恭喜,您已完成Hi3516 快速上手!建议您下一步进入[带屏摄像头产品开发](../guide/屏幕和摄像头控制.md)的学习 。 +恭喜,您已完成Hi3516 快速上手!建议您下一步进入[带屏摄像头产品开发](../guide/device-camera.md)的学习 。 diff --git "a/zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md old mode 100755 new mode 100644 similarity index 89% rename from "zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md index d5f775c64f3..336d979c20d --- "a/zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md @@ -129,7 +129,7 @@ ## 编译 -如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/Docker编译环境.md)的编译操作。如果Linux编译环境通过软件包方式安装,请进入源码根目录,执行如下命令进行编译: +如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md)的编译操作。如果Linux编译环境通过软件包方式安装,请进入源码根目录,执行如下命令进行编译: ``` hb set(设置编译路径) @@ -139,28 +139,28 @@ hb build -f(执行编译) ``` **图 1** 设置图例 -![](figures/设置图例.png "设置图例") +![](figure/设置图例.png "设置图例") 结果文件生成在out/hispark\_taurus/ipcamera\_hispark\_taurus目录下。 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >Hi3516DV300单板的U-boot文件获取路径:device/hisilicon/hispark\_taurus/sdk\_liteos/uboot/out/boot/u-boot-hi3516dv300.bin ## 烧录 Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三种方式。此处仅以网口烧录为例进行说明。 -1. 请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考[Hi3516开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3516-0000001152041033)。 +1. 请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考[Hi3516开发板介绍](quickstart-lite-introduction-hi3516.md)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果对应的串口异常,请根据[Hi3516/Hi3518系列开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 - ![](figures/zh-cn_image_0000001174350647.png) + ![](figure/zh-cn_image_0000001174350647.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figures/2021-01-27_170334.png) + ![](figure/2021-01-27_170334.png) 4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3516系列开发板进行适配,无需单独修改。 5. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 @@ -169,7 +169,7 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 - upload\_protocol:选择烧录协议,固定选择“hiburn-net”。 - upload\_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。 - ![](figures/zh-cn_image_0000001128470904.png) + ![](figure/zh-cn_image_0000001128470904.png) 6. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。 7. 设置网口烧录的IP地址信息,设置如下选项: @@ -179,33 +179,33 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 - upload\_net\_client\_gw:设置开发板的网关,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.1 - upload\_net\_client\_ip:设置开发板的IP地址,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.3 - ![](figures/zh-cn_image_0000001174270733.png) + ![](figure/zh-cn_image_0000001174270733.png) 8. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 -9. 打开工程文件,点击![](figures/2021-01-27_170334-2.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3516dv300下的**Upload**按钮,启动烧录。 +9. 打开工程文件,点击![](figure/2021-01-27_170334-2.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3516dv300下的**Upload**按钮,启动烧录。 - ![](figures/zh-cn_image_0000001174270729.png) + ![](figure/zh-cn_image_0000001174270729.png) 10. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。 - ![](figures/zh-cn_image_0000001128470906.png) + ![](figure/zh-cn_image_0000001128470906.png) 11. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 - ![](figures/zh-cn_image_0000001128311098.png) + ![](figure/zh-cn_image_0000001128311098.png) ## 镜像运行 1. 连接串口。 - >![](public_sys-resources/icon-notice.gif) **须知:** - >若无法连接串口,请参考[常见问题](../quick-start/常见问题-3.md)进行排查。 + >![](../public_sys-resources/icon-notice.gif) **须知:** + >若无法连接串口,请参考[常见问题](quickstart-lite-steps-board3516-faqs.md)进行排查。 **图 2** 连接串口图 - ![](figures/chuankou1.png) + ![](figure/chuankou1.png) 1. 单击**Monitor**打开串口。 2. 连续输入回车直到串口显示"hisilicon"。 @@ -213,7 +213,7 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 2. (单板初次启动必选)修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,若不修改参数只需执行一次。每次复位单板均会自动进入系统。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >U-boot引导程序默认会有2秒的等待时间,用户可使用回车打断等待并显示"hisilicon",通过**reset**命令可再次启动系统。 **表 1** U-boot修改命令 @@ -249,7 +249,7 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三
    - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >**“go 0x80000000”**为可选指令,默认配置已将该指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用"回车"打断自动启动。 3. 输入**“reset”**指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。 @@ -257,7 +257,7 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 **图 3** 系统启动图 - ![](figures/qi1.png) + ![](figure/qi1.png) ## 执行应用程序 @@ -265,5 +265,5 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 根目录下,在命令行输入指令“**./bin/helloworld**”执行写入的demo程序,显示成功结果如下图所示。 **图 4** 启动并成功执行应用程序图 -![](figures/启动并成功执行应用程序图.png "启动并成功执行应用程序图") +![](figure/启动并成功执行应用程序图.png "启动并成功执行应用程序图") diff --git "a/zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-2.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md similarity index 97% rename from "zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-2.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md index 3f827074bfd..1b5e88ef8f4 100644 --- "a/zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-2.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md @@ -22,11 +22,11 @@ **图 1** 硬件连线图 -![](figures/矩形备份-292.png) +![](figure/矩形备份-292.png) ### 软件要求 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >本节描述安装包方式搭建编译环境的操作步骤。如果是Docker方式安装编译环境,请跳过此章节以及下述[安装Linux服务器工具](#section182916865219)章节。 Hi3516开发板对Linux服务器通用环境配置需要的工具及其获取途径如下表所示。 @@ -75,7 +75,7 @@ Hi3516开发板对Linux服务器通用环境配置需要的工具及其获取途 ## 安装Linux服务器工具 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >- 如果通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装LLVM、hc-gen编译工具。 >- (推荐)如果通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装hc-gen编译工具。安装hc-gen编译工具时,请确保编译工具的环境变量路径唯一。 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md new file mode 100644 index 00000000000..39725507976 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md @@ -0,0 +1,11 @@ +# Hi3516开发板 + +- **[安装开发板环境](quickstart-lite-steps-board3516-setting.md)** + +- **[运行Hello OHOS](quickstart-lite-steps-board3516-running.md)** + +- **[驱动开发示例](quickstart-lite-steps-board3516-program.md)** + +- **[常见问题](quickstart-lite-steps-board3516-faqs.md)** + + diff --git "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-6.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md similarity index 78% rename from "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-6.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md index b2dc3ad5126..dc71a35fb6a 100644 --- "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-6.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md @@ -13,7 +13,7 @@ 点击烧写并选择串口后,出现Error: Opening COMxx: Access denied。 **图 1** 打开串口失败图 - ![](figures/打开串口失败图-7.png "打开串口失败图-7") + ![](figure/打开串口失败图-7.png "打开串口失败图-7") - **可能原因** @@ -24,19 +24,19 @@ 1. 按图依次选择下拉框,查找带有serial-xx的终端 **图 2** 查找是否存在占用串口的终端 - ![](figures/查找是否存在占用串口的终端-8.png "查找是否存在占用串口的终端-8") + ![](figure/查找是否存在占用串口的终端-8.png "查找是否存在占用串口的终端-8") 2. 点击标号中的垃圾桶图标,关闭串口。 **图 3** 关闭串口终端 - ![](figures/关闭串口终端-9.png "关闭串口终端-9") + ![](figure/关闭串口终端-9.png "关闭串口终端-9") 3. 重新点击烧写,选择串口并开始烧写程序 **图 4** 重新启动烧写任务 - ![](figures/changjian1-10.png) + ![](figure/changjian1-10.png) ## Windows电脑与单板网络连接失败 @@ -46,7 +46,7 @@ 点击烧写并选择串口后,无法获取文件。 **图 5** 网络不通,单板无法获取文件图 - ![](figures/网络不通-单板无法获取文件图-11.png "网络不通-单板无法获取文件图-11") + ![](figure/网络不通-单板无法获取文件图-11.png "网络不通-单板无法获取文件图-11") - **可能原因** @@ -60,22 +60,22 @@ 2. 点击Windows防火墙。 **图 6** 网络防火墙设置图 - ![](figures/网络防火墙设置图-12.png "网络防火墙设置图-12") + ![](figure/网络防火墙设置图-12.png "网络防火墙设置图-12") 3. 点击“允许应用通过防火墙”。 **图 7** 防火墙和网络保护界面图 - ![](figures/防火墙和网络保护界面图-13.png "防火墙和网络保护界面图-13") + ![](figure/防火墙和网络保护界面图-13.png "防火墙和网络保护界面图-13") 4. 查找Visual Studio Code应用。 **图 8** 查找Visual Studio Code应用图 - ![](figures/查找Visual-Studio-Code应用图-14.png "查找Visual-Studio-Code应用图-14") + ![](figure/查找Visual-Studio-Code应用图-14.png "查找Visual-Studio-Code应用图-14") 5. 勾选Visual Studio Code的专用和公用网络的访问权限。 **图 9** 允许Visual Studio Code应用访问网络 - ![](figures/允许Visual-Studio-Code应用访问网络-15.png "允许Visual-Studio-Code应用访问网络-15") + ![](figure/允许Visual-Studio-Code应用访问网络-15.png "允许Visual-Studio-Code应用访问网络-15") ## 烧写失败 @@ -97,7 +97,7 @@ - **现象描述** - ![](figures/zh-cn_image_0000001174270743.png) + ![](figure/zh-cn_image_0000001174270743.png) - **可能原因1** @@ -106,11 +106,11 @@ - **解决办法** - 请按照[安装python](../quick-start/Ubuntu编译环境准备.md)。 + 请按照[安装python](quickstart-lite-env-setup-lin.md)。 - **可能原因2** - ![](figures/zh-cn_image_0000001174270739.png) + ![](figure/zh-cn_image_0000001174270739.png) - **解决办法** @@ -125,7 +125,7 @@ 例: - ![](figures/zh-cn_image_0000001174350661.png) + ![](figure/zh-cn_image_0000001174350661.png) ## 串口无回显 @@ -142,7 +142,7 @@ 修改串口号。 - 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按镜像运行内[步骤1](../quick-start/运行Hello-OHOS.md)修改串口号。 + 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按镜像运行内[步骤1](quickstart-lite-steps-board3518-running.md)修改串口号。 - **可能原因2** @@ -158,7 +158,7 @@ 1. 获取引导文件U-boot。 - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >单板的U-boot文件请在开源包中获取: >Hi3516DV300:device\\hisilicon\\hispark\_taurus\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3516dv300.bin >Hi3518EV300:device\\hisilicon\\hispark\_aries\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3518ev300.bin @@ -169,6 +169,6 @@ 3. 烧写完成后,登录串口如下图所示。 - ![](figures/zh-cn_image_0000001174350659.png) + ![](figure/zh-cn_image_0000001174350659.png) diff --git "a/zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS-5.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md similarity index 87% rename from "zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS-5.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md index 51873c97ac3..2b5a833cfc3 100644 --- "a/zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-OHOS-5.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md @@ -128,7 +128,7 @@ ## 编译 -如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/Docker编译环境.md)的编译操作。如果Linux编译环境通过软件包方式安装,进入源码根目录,执行如下命令进行编译: +如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md)的编译操作。如果Linux编译环境通过软件包方式安装,进入源码根目录,执行如下命令进行编译: ``` hb set(设置编译路径) @@ -140,26 +140,26 @@ hb build -f(执行编译) 结果文件生成在out/hispark\_aries/ipcamera\_hispark\_aries目录下。 **图 1** 设置图例 -![](figures/设置图例-4.png "设置图例-4") +![](figure/设置图例-4.png "设置图例-4") ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >Hi3518EV300单板的U-boot文件获取路径:device/hisilicon/hispark\_aries/sdk\_liteos/uboot/out/boot/u-boot-hi3518ev300.bin ## 烧录 Hi3518开发板的代码烧录仅支持USB烧录方式。 -1. 请连接好电脑和待烧录开发板,以Hi3518EV300为例,需要同时连接串口和USB口,具体可参考[Hi3518开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3518-0000001105201138)。 +1. 请连接好电脑和待烧录开发板,以Hi3518EV300为例,需要同时连接串口和USB口,具体可参考[Hi3518开发板介绍](quickstart-lite-introduction-hi3518.md)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果对应的串口异常,请根据[Hi3516/Hi3518系列开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 - ![](figures/zh-cn_image_0000001128470900.png) + ![](figure/zh-cn_image_0000001128470900.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figures/zh-cn_image_0000001174350649.png) + ![](figure/zh-cn_image_0000001174350649.png) 4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3518系列开发板进行适配,无需单独修改。 5. 在“hi3518ev300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 @@ -168,41 +168,41 @@ Hi3518开发板的代码烧录仅支持USB烧录方式。 - upload\_protocol:选择烧录协议,固定选择“hiburn-usb”。 - upload\_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。 - ![](figures/zh-cn_image_0000001128311090.png) + ![](figure/zh-cn_image_0000001128311090.png) 6. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 -7. 打开工程文件,点击![](figures/2021-01-27_170334-5.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3518ev300\_fastboot下的**Erase**按钮,擦除U-Boot。 +7. 打开工程文件,点击![](figure/2021-01-27_170334-5.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3518ev300\_fastboot下的**Erase**按钮,擦除U-Boot。 - ![](figures/zh-cn_image_0000001174270731.png) + ![](figure/zh-cn_image_0000001174270731.png) 8. 执行**Erase**擦除操作后,显示如下提示信息时,请重启开发板(下电再上电)。 - ![](figures/zh-cn_image_0000001128311092.png) + ![](figure/zh-cn_image_0000001128311092.png) 9. 重新上电后,显示如下信息时,表示擦除U-Boot成功。 - ![](figures/zh-cn_image_0000001128311094.png) + ![](figure/zh-cn_image_0000001128311094.png) 10. 擦除完成后,点击hi3518ev300下的**Upload**按钮,启动烧录。 - ![](figures/zh-cn_image_0000001174350641.png) + ![](figure/zh-cn_image_0000001174350641.png) 11. 启动烧录后,界面提示如下信息时,表示烧录成功。 - ![](figures/zh-cn_image_0000001174350643.png) + ![](figure/zh-cn_image_0000001174350643.png) ## 镜像运行 1. 连接串口。 - >![](public_sys-resources/icon-notice.gif) **须知:** - >若无法连接串口,请参考[常见问题](../quick-start/常见问题-6.md)进行排查。 + >![](../public_sys-resources/icon-notice.gif) **须知:** + >若无法连接串口,请参考[常见问题](quickstart-lite-steps-board3518-faqs.md)进行排查。 **图 2** 连接串口图 - ![](figures/chuankou1-6.png) + ![](figure/chuankou1-6.png) 1. 单击**Monitor**打开串口。 2. 连续输入回车直到串口显示"hisilicon"。 @@ -247,16 +247,16 @@ Hi3518开发板的代码烧录仅支持USB烧录方式。
    - >![](public_sys-resources/icon-notice.gif) **须知:** + >![](../public_sys-resources/icon-notice.gif) **须知:** >**“go 0x40000000”**为可选指令,默认配置已将该指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用"回车"打断自动启动。 3. 若启动时显示**"hisilicon \#**字样,请输入**“reset”**指令,等待系统自启动进入系统,系统启动后,显示**“OHOS”**字样,输入**”./bin/helloworld”**并回车,显示成功结果如下图所示。 **图 3** 启动成功并执行应用程序图 - ![](figures/启动成功并执行应用程序图.png "启动成功并执行应用程序图") + ![](figure/启动成功并执行应用程序图.png "启动成功并执行应用程序图") ## 下一步学习 -恭喜您,已完成Hi3518的快速上手!建议您下一步进入[无屏摄像头产品开发](../guide/摄像头控制.md)的学习 。 +恭喜您,已完成Hi3518的快速上手!建议您下一步进入[无屏摄像头产品开发](../guide/device-iotcamera.md)的学习 。 diff --git "a/zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-4.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md similarity index 96% rename from "zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-4.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md index b2bbd778809..b4a3556e11c 100644 --- "a/zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203-4.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md @@ -21,11 +21,11 @@ **图 1** 硬件连线图 -![](figures/硬件连线图-3.png "硬件连线图-3") +![](figure/硬件连线图-3.png "硬件连线图-3") ### 软件要求 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >本节描述安装包方式搭建编译环境的操作步骤。如果是Docker方式安装编译环境,请跳过此章节以及下述[安装Linux服务器工具](#section8831868501)章节。 Hi3518开发板对Linux服务器通用环境配置需要的工具及其获取途径如下表所示。 @@ -67,7 +67,7 @@ Hi3518开发板对Linux服务器通用环境配置需要的工具及其获取途 ## 安装Linux服务器工具 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >- 如果通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装hc-gen编译工具。 >- (推荐)如果通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装hc-gen编译工具。安装hc-gen编译工具时,请确保编译工具的环境变量路径唯一。 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md new file mode 100644 index 00000000000..d0f3f9a5873 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md @@ -0,0 +1,9 @@ +# Hi3518开发板 + +- **[安装开发板环境](quickstart-lite-steps-board3518-setting.md)** + +- **[运行Hello OHOS](quickstart-lite-steps-board3518-running.md)** + +- **[常见问题](quickstart-lite-steps-board3518-faqs.md)** + + diff --git "a/zh-cn/device-dev/quick-start/WLAN\350\201\224\347\275\221.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md old mode 100755 new mode 100644 similarity index 85% rename from "zh-cn/device-dev/quick-start/WLAN\350\201\224\347\275\221.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md index ab20f083f91..fe69412c06e --- "a/zh-cn/device-dev/quick-start/WLAN\350\201\224\347\275\221.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md @@ -10,42 +10,42 @@ 本节描述如何在Linux服务器上进行WLAN模组版本的编译。 -如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/Docker编译环境.md)的编译操作。如果Linux编译环境通过软件包方式安装,请参考如下步骤。 +如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/sourcecode-acquire.md)的编译操作。如果Linux编译环境通过软件包方式安装,请参考如下步骤。 1. 打开DevEco Device Tool工具,点击“View \> Terminal”,进入终端界面。 **图 1** IDE终端工具打开方法 - ![](figures/1.png) + ![](figure/1.png) 在终端界面使用ssh命令连接linux服务器,如“ssh user@ipaddr”。 **图 2** 终端界面示意图 - ![](figures/2.png) + ![](figure/2.png) 2. 进入代码根路径,并在终端窗口,执行脚本命令“hb set”、“.”,选择需要编译的版本“wifiiot\_hispark\_pegasus”。 **图 3** 在终端界面选择目标构建版本示意图 - ![](figures/3.png) + ![](figure/3.png) 3. 执行“hb build”启动版本构建。 **图 4** 在终端界面执行编译命令示意图 - ![](figures/4.png) + ![](figure/4.png) 4. 编译结束后,如果出现“wifiiot\_hispark\_pegasus build success”字样,则证明构建成功,如下图所示。 **图 5** 编译成功示意图 - ![](figures/5.png) + ![](figure/5.png) 5. 构建成功后,会在./out/wifiiot/路径中生成以下文件,使用如下命令可以查看,至此编译构建流程结束。 @@ -56,24 +56,24 @@ **图 6** 编译文件存放目录示意图 - ![](figures/3-0.png) + ![](figure/3-0.png) ## 镜像烧录 Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成,工具的基本使用请参考[DevEco Device Tool使用指南](https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905),烧录过程包含如下步骤。 -1. 请连接好电脑和待烧录开发板,需要连接USB口,具体可参考[Hi3861开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3861-0000001105041324)。 +1. 请连接好电脑和待烧录开发板,需要连接USB口,具体可参考[Hi3861开发板介绍](quickstart-lite-introduction-hi3861.md)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果对应的串口异常,请根据[Hi3861系列开发板串口驱动安装](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3861-drivers-0000001058153433)安装USB转串口的驱动程序。 - ![](figures/zh-cn_image_0000001128311118.png) + ![](figure/zh-cn_image_0000001128311118.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figures/zh-cn_image_0000001128311116.png) + ![](figure/zh-cn_image_0000001128311116.png) 4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3861系列开发板进行适配,无需单独修改。 5. 在“hi3861”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 @@ -82,20 +82,20 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, - upload\_protocol:选择烧录协议,固定选择“burn-serial”。 - upload\_partitions:选择待烧录的文件,默认选择hi3861\_app。 - ![](figures/zh-cn_image_0000001128470922.png) + ![](figure/zh-cn_image_0000001128470922.png) 6. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 7. 打开工程文件,在DevEco Device Tool界面的“PROJECT TASKS”中,点击hi3861下的**Upload**按钮,启动烧录。 - ![](figures/zh-cn_image_0000001174270749.png) + ![](figure/zh-cn_image_0000001174270749.png) 8. 启动烧录后,显示如下提示信息时,请按开发板上的RST按钮重启开发板。 - ![](figures/zh-cn_image_0000001174270751.png) + ![](figure/zh-cn_image_0000001174270751.png) 9. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 - ![](figures/zh-cn_image_0000001174350669.png) + ![](figure/zh-cn_image_0000001174350669.png) ## WLAN模组联网 @@ -107,14 +107,14 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, **图 7** 打开DevEco串口终端示意图 - ![](figures/5-1.png) + ![](figure/5-1.png) 2. 复位WLAN模组,终端界面显示“ready to OS start”,则启动成功。 **图 8** WLAN复位成功示意图 - ![](figures/6.png) + ![](figure/6.png) 3. 在DevEco的串口终端中,依次执行如下AT命令,启动STA模式,连接指定AP热点,并开启DHCP功能。 @@ -137,6 +137,6 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, **图 9** WLAN模组联网成功示意图 - ![](figures/截图.png) + ![](figure/截图.png) diff --git "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-1.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md similarity index 95% rename from "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-1.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md index f8e0b7384e2..b0dbbae1b36 100644 --- "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-1.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md @@ -73,7 +73,7 @@ 方法2:如果软件源中没有该软件,请从“www.zlib.net”下载版本代码,并离线安装。 - ![](figures/10.png) + ![](figure/10.png) 完成下载后,通过以下命令安装: @@ -134,7 +134,7 @@ 通过网页[https://pypi.org/project/pycrypto/\#files](https://pypi.org/project/pycrypto/#files),下载源码。 - ![](figures/zh-cn_image_0000001128470864.png) + ![](figure/zh-cn_image_0000001128470864.png) 将源码放置在Linux服务器中,解压,并安装“python3 setup.py install”。 @@ -165,7 +165,7 @@ 通过网页[https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files),下载安装包。 - ![](figures/zh-cn_image_0000001128311072.png) + ![](figure/zh-cn_image_0000001128311072.png) 将安装包放置Linux服务器中,并安装“pip3 install ecdsa-0.15-py2.py3-none-any.whl”。 @@ -196,7 +196,7 @@ 通过网页[https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files),下载安装包。 - ![](figures/zh-cn_image_0000001174270699.png) + ![](figure/zh-cn_image_0000001174270699.png) 将源码放置在Linux服务器中,并安装“pip3 install six-1.14.0-py2.py3-none-any.whl”。 @@ -249,11 +249,11 @@ - **解决办法** - 请按照 [安装Python环境](../quick-start/Ubuntu编译环境准备.md) + 请按照 [安装Python环境](quickstart-lite-env-setup-lin.md) - **可能原因2** - ![](figures/zh-cn_image_0000001128311070.png) + ![](figure/zh-cn_image_0000001128311070.png) - **解决办法** @@ -268,7 +268,7 @@ 例: - ![](figures/zh-cn_image_0000001174350623.png) + ![](figure/zh-cn_image_0000001174350623.png) ## 安装 kconfiglib时,遇到lsb\_release错误 diff --git "a/zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-World.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-World.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md index f428ec411ee..547aa5affc7 --- "a/zh-cn/device-dev/quick-start/\350\277\220\350\241\214Hello-World.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md @@ -137,7 +137,7 @@ Call Stack 6 -- 3f5e24 addr:f78fc 3. 根据以上调用栈信息,可以定位WadRecvCB函数中出现了异常。 - ![](figures/zh-cn_image_0000001174270737.png) + ![](figure/zh-cn_image_0000001174270737.png) 4. 完成代码排查及修改。 @@ -154,5 +154,5 @@ wifi init success! ## 下一步学习 -恭喜,您已完成Hi3861 WLAN模组快速上手!建议您下一步进入[WLAN产品开发](../guide/概述.md)的学习 。 +恭喜,您已完成Hi3861 WLAN模组快速上手!建议您下一步进入[WLAN产品开发](../guide/device-wifi.md)的学习 。 diff --git "a/zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203.md" b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md similarity index 97% rename from "zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203.md" rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md index 2bf84d7aab3..90998c5acf0 100644 --- "a/zh-cn/device-dev/quick-start/\345\256\211\350\243\205\345\274\200\345\217\221\346\235\277\347\216\257\345\242\203.md" +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md @@ -24,11 +24,11 @@ 各硬件连接关系如下图所示。 **图 1** 硬件连线图 -![](figures/硬件连线图.png "硬件连线图") +![](figure/硬件连线图.png "硬件连线图") ### 软件要求 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >本节描述采用安装包方式安装相关工具的操作步骤。如果是Docker方式安装,无需安装[表1](#table6299192712513)中的Linux服务器相关工具,只需安装Windows工作台工具即可。 Hi3861开发板需要的工具如下表所示。 @@ -96,7 +96,7 @@ Hi3861开发板需要的工具如下表所示。 ## 安装Linux编译工具 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >- 如果通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gcc\_riscv32编译工具。 >- (推荐)如果通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gcc\_riscv32编译工具。安装gcc\_riscv32编译工具时,请确保编译工具的环境变量路径唯一。 @@ -124,7 +124,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev ``` **图 2** SCons安装成功界面,版本要求3.0.4以上 - ![](figures/SCons安装成功界面-版本要求3-0-4以上.png "SCons安装成功界面-版本要求3-0-4以上") + ![](figure/SCons安装成功界面-版本要求3-0-4以上.png "SCons安装成功界面-版本要求3-0-4以上") ### 安装python模块 @@ -227,7 +227,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev ### 安装gcc\_riscv32(WLAN模组类编译工具链) ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >- Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。 >- 通过下述步骤2-15,我们编译好了gcc\_riscv32 镜像,提供给开发者[直接下载](https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz)使用。直接下载 gcc\_riscv32 镜像的开发者可省略下述2-15步。 @@ -316,7 +316,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev 16. 设置环境变量。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果直接采用编译好的riscv32 gcc包,请参照如下步骤设置环境变量: >1. 将压缩包解压到根目录 > ``` @@ -362,6 +362,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev 2. 点击安装包,安装驱动程序。 3. 驱动安装完成后,重新插拔USB接口,串口信息显示如下图所示。 - ![](figures/zh-cn_image_0000001174350633.png) + ![](figure/zh-cn_image_0000001174350633.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md new file mode 100644 index 00000000000..8aca8589071 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md @@ -0,0 +1,11 @@ +# Hi3861开发板 + +- **[安装开发板环境](quickstart-lite-steps-board3861-setting.md)** + +- **[WLAN联网](quickstart-lite-steps-board3861-connection.md)** + +- **[运行Hello World](quickstart-lite-steps-board3861-running.md)** + +- **[常见问题](quickstart-lite-steps-board3861-faqs.md)** + + diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps.md new file mode 100644 index 00000000000..49545483c62 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps.md @@ -0,0 +1,9 @@ +# 开发步骤 + +- **[Hi3861开发板](quickstart-lite-steps-board3861.md)** + +- **[Hi3516开发板](quickstart-lite-steps-board3516.md)** + +- **[Hi3518开发板](quickstart-lite-steps-board3518.md)** + + diff --git a/zh-cn/device-dev/quick-start/quickstart-lite.md b/zh-cn/device-dev/quick-start/quickstart-lite.md new file mode 100644 index 00000000000..47a4ec111d5 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-lite.md @@ -0,0 +1,11 @@ +# 轻量和小型系统入门 + +- **[概述](quickstart-lite-overview.md)** + +- **[了解开发板](quickstart-lite-introduction.md)** + +- **[搭建系统环境](quickstart-lite-env-setup.md)** + +- **[开发步骤](quickstart-lite-steps.md)** + + diff --git "a/zh-cn/device-dev/quick-start/\351\225\234\345\203\217\347\203\247\345\275\225.md" b/zh-cn/device-dev/quick-start/quickstart-standard-burn.md similarity index 97% rename from "zh-cn/device-dev/quick-start/\351\225\234\345\203\217\347\203\247\345\275\225.md" rename to zh-cn/device-dev/quick-start/quickstart-standard-burn.md index 3fca75cfcd0..be86e001d66 100644 --- "a/zh-cn/device-dev/quick-start/\351\225\234\345\203\217\347\203\247\345\275\225.md" +++ b/zh-cn/device-dev/quick-start/quickstart-standard-burn.md @@ -11,7 +11,7 @@ Hi3516DV300支持烧录标准系统,其烧录方式包括网口烧录和串口 同一种烧录方式(如网口烧录),在Windows和Linux环境下的烧录操作完全一致,区别仅在于DevEco Device Tool环境搭建不同。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >当前Hi3516DV300开发板支持通过网口、USB、串口三种方式烧录OpenHarmony标准系统。本文以网口方式为例讲解烧录操作,其他两种烧录方式请参照[Hi3516DV300烧录指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_upload-0000001052148681)。 ### 前提条件 @@ -25,14 +25,14 @@ Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。 1. 请连接好电脑和待烧录开发板,需要同时连接串口、网口和电源,具体可参考[Hi3516DV300开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3516-0000001152041033)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果对应的串口异常,请根据[Hi3516DV300/Hi3518EV300开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 - ![](figures/zh-cn_image_0000001114129428.png) + ![](figure/zh-cn_image_0000001114129428.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figures/2021-01-27_170334-17.png) + ![](figure/2021-01-27_170334-16.png) 4. 在**Partition Configuration**页签中,按照下表内容填写烧录文件信息,包括: @@ -165,7 +165,7 @@ Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。
    - ![](figures/zh-cn_image_0000001130584312.png) + ![](figure/zh-cn_image_0000001130584312.png) 5. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 @@ -173,7 +173,7 @@ Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。 - upload\_protocol:选择烧录协议,固定选择“hiburn-net”。 - upload\_partitions:选择待烧录的文件,包括fastboot、boot、updater、misc、system、vendor和userdata。 - ![](figures/zh-cn_image_0000001117621400.png) + ![](figure/zh-cn_image_0000001117621400.png) 6. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516DV300网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。 7. 设置网口烧录的IP地址信息,设置如下选项: @@ -183,19 +183,19 @@ Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。 - upload\_net\_client\_gw:设置开发板的网关,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.1 - upload\_net\_client\_ip:设置开发板的IP地址,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.3 - ![](figures/zh-cn_image_0000001117463460.png) + ![](figure/zh-cn_image_0000001117463460.png) 8. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 9. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。 - ![](figures/zh-cn_image_0000001114129432.png) + ![](figure/zh-cn_image_0000001114129432.png) 10. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 - ![](figures/zh-cn_image_0000001113969542.png) + ![](figure/zh-cn_image_0000001113969542.png) ## 下一步 -恭喜!您已经完成了OpenHarmony标准系统的快速入门,接下来可[开发一个小示例](../guide/时钟应用开发示例.md),进一步熟悉OpenHarmony的开发。 +恭喜!您已经完成了OpenHarmony标准系统的快速入门,接下来可[开发一个小示例](../guide/device-clock-guide.md),进一步熟悉OpenHarmony的开发。 diff --git "a/zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210Docker\346\226\271\345\274\217\357\274\211.md" b/zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md similarity index 93% rename from "zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210Docker\346\226\271\345\274\217\357\274\211.md" rename to zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md index 2f4c97aa4a7..6f3ed7f03f0 100644 --- "a/zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210Docker\346\226\271\345\274\217\357\274\211.md" +++ b/zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md @@ -9,9 +9,9 @@ OpenHarmony标准系统为开发者提供的Docker环境已经将对应的编译工具链进行了封装,开发者可省略对应工具的安装。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >- 在使用Docker前需要先安装Docker,Docker安装请参考[官方指导](https://docs.docker.com/engine/install/ubuntu/)。 ->- Docker方式和安装包方式二选一即可。选择Docker方式的开发者可跳过[安装包方式](搭建Ubuntu环境及编译(安装包方式).md)的内容。 +>- Docker方式和安装包方式二选一即可。选择Docker方式的开发者可跳过[安装包方式](quickstart-standard-package-environment.md)的内容。 ## 获取标准系统源码 @@ -111,8 +111,8 @@ repo forall -c 'git lfs pull' 编译所生成的文件都归档在out/ohos-arm-release/目录下,结果镜像输出在 out/ohos-arm-release/packages/phone/images/ 目录下。 -3. 编译源码完成,请进行镜像烧录,具体请参见[镜像烧录](镜像烧录.md)。 +3. 编译源码完成,请进行镜像烧录,具体请参见[镜像烧录](quickstart-standard-burn.md)。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >退出Docker执行exit命令即可。 diff --git "a/zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-8.md" b/zh-cn/device-dev/quick-start/quickstart-standard-faq.md similarity index 100% rename from "zh-cn/device-dev/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-8.md" rename to zh-cn/device-dev/quick-start/quickstart-standard-faq.md diff --git "a/zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210\345\256\211\350\243\205\345\214\205\346\226\271\345\274\217\357\274\211.md" b/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md similarity index 93% rename from "zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210\345\256\211\350\243\205\345\214\205\346\226\271\345\274\217\357\274\211.md" rename to zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md index 92eb461fe7a..d35cc274995 100644 --- "a/zh-cn/device-dev/quick-start/\346\220\255\345\273\272Ubuntu\347\216\257\345\242\203\345\217\212\347\274\226\350\257\221\357\274\210\345\256\211\350\243\205\345\214\205\346\226\271\345\274\217\357\274\211.md" +++ b/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md @@ -16,7 +16,7 @@ sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ``` ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。 ## 获取标准系统源码 @@ -91,8 +91,8 @@ bash build/prebuilts_download.sh 编译所生成的文件都归档在out/ohos-arm-release/目录下,结果镜像输出在 out/ohos-arm-release/packages/phone/images/ 目录下。 - >![](public_sys-resources/icon-note.gif) **说明:** - >其他模块化编译操作,可参见[编译构建指导](../subsystems/标准系统编译构建指导.md)。 + >![](../public_sys-resources/icon-note.gif) **说明:** + >其他模块化编译操作,可参见[编译构建指导](../subsystems/subsys-build-standard-large.md)。 -3. 编译源码完成,请进行镜像烧录,具体请参见[镜像烧录](镜像烧录.md)。 +3. 编译源码完成,请进行镜像烧录,具体请参见[镜像烧录](quickstart-standard-burn.md)。 diff --git "a/zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207-7.md" b/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md similarity index 93% rename from "zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207-7.md" rename to zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md index bb7588a5ce8..bf45ab1684d 100644 --- "a/zh-cn/device-dev/quick-start/Windows\345\274\200\345\217\221\347\216\257\345\242\203\345\207\206\345\244\207-7.md" +++ b/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md @@ -81,28 +81,31 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 ## 安装Visual Studio Code ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果已安装Visual Studio Code,打开命令行工具,输入**code --version**命令,检查版本号是否为1.53及以上版本;可以正常返回版本号,说明环境变量设置也正确。 1. 双击Visual Studio Code软件包进行安装。安装过程中,请勾选“添加到PATH(重启后生效)”。 - ![](figures/zh-cn_image_0000001057335403.png) + ![](figure/zh-cn_image_0000001057335403.png) 2. 安装完成后,打开命令行工具,输入**code --version**命令,可以正常显示版本号说明安装成功。 ## 安装Python +>![](../public_sys-resources/icon-note.gif) **说明:** +>请注意,Python版本要求为V3.7.4\~V3.8.x 64位版本。 + 1. 双击Python安装包进行安装,勾选“**Add Python 3.8 to PATH**”,然后点击**Install Now**开始安装。 - ![](figures/zh-cn_image_0000001176317561.png) + ![](figure/zh-cn_image_0000001176317561.png) 2. 等待安装完成后,点击**Close**。 - ![](figures/zh-cn_image_0000001142794291.png) + ![](figure/zh-cn_image_0000001142794291.png) 3. 打开命令行工具,输入python --version,检查安装结果。 - ![](figures/zh-cn_image_0000001130278040.png) + ![](figure/zh-cn_image_0000001130278040.png) 4. 在命令行工具中,分别执行如下命令设置pip源,用于后续安装DevEco Device Tool过程中下载依赖的组件包。 @@ -115,7 +118,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 ## 安装Node.js ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果已安装Node.js,打开命令行工具,输入**node -v**命令,检查版本号是否为12.0.0及以上版本。 1. 点击下载后的软件包进行安装,全部按照默认设置点击**Next**,直至**Finish**。安装过程中,Node.js会自动在系统的path环境变量中配置node.exe的目录路径。 @@ -127,7 +130,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 在安装hpm前,请检查网络连接状态,如果网络不能直接访问Internet,则需要通过代理服务器才可以访问。这种情况下,需要先[设置npm代理](https://device.harmonyos.com/cn/docs/ide/user-guides/npm_proxy-0000001054491032),才能安装hpm。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >如果已安装hpm,可以执行**npm update -g @ohos/hpm-cli**命令升级hpm至最新版本。 1. 建议将npm源配置为国内镜像,例如设置为华为云镜像源。 @@ -142,7 +145,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 npm install -g @ohos/hpm-cli ``` - ![](figures/zh-cn_image_0000001073840162.png) + ![](figure/zh-cn_image_0000001073840162.png) 3. 安装完成后,执行如下命令(V为大写字母)检查hpm安装结果。 @@ -157,20 +160,20 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装完DevEco Device Tool后,会自动从Visual Studio Code的插件市场安装C/C++和CodeLLDB插件。因此,在安装DevEco Device Tool前,请检查Visual Studio Code的网络连接状态,如果网络不能直接访问Internet,则需要通过代理服务器才可以访问,请先[Visual Studio Code代理设置](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144)。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >安装DevEco Device Tool时,请先关闭Visual Studio Code。 1. 解压DevEco Device Tool插件压缩包,双击安装包程序进行安装。 2. 安装过程中,会自动安装DevEco Device Tool所需的依赖文件(如C/C++和CodeLLDB插件)和执行程序。 - ![](figures/zh-cn_image_0000001072468991.png) + ![](figure/zh-cn_image_0000001072468991.png) 3. 安装完成后,会自动关闭命令行工具窗口。 -4. 启动Visual Studio Code,点击左侧的![](figures/zh-cn_image_0000001072757874.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 +4. 启动Visual Studio Code,点击左侧的![](figure/zh-cn_image_0000001072757874.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如果C/C++和CodeLLDB插件安装不成功,则DevEco Device Tool不能正常运行,解决方法,详细请参考:[离线安装C/C++和CodeLLDB插件](https://device.harmonyos.com/cn/docs/ide/user-guides/offline_plugin_install-0000001074376846)。 - ![](figures/zh-cn_image_0000001142802505.png) + ![](figure/zh-cn_image_0000001142802505.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-standard.md b/zh-cn/device-dev/quick-start/quickstart-standard.md new file mode 100644 index 00000000000..3931c326436 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-standard.md @@ -0,0 +1,15 @@ +# 标准系统入门 + +- **[常见问题](quickstart-lite-env-setup-faqs.md)** + +- **[Windows开发环境准备](quickstart-standard-windows-environment.md)** + +- **[搭建Ubuntu环境及编译(Docker方式)](quickstart-standard-docker-environment.md)** + +- **[搭建Ubuntu环境及编译(安装包方式)](quickstart-standard-package-environment.md)** + +- **[镜像烧录](quickstart-standard-burn.md)** + +- **[常见问题](quickstart-standard-faq.md)** + + diff --git a/zh-cn/device-dev/quick-start/quickstart.md b/zh-cn/device-dev/quick-start/quickstart.md new file mode 100644 index 00000000000..5ab9867ff45 --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart.md @@ -0,0 +1,7 @@ +# 快速入门 + +- **[轻量和小型系统入门](quickstart-lite.md)** + +- **[标准系统入门](quickstart-standard.md)** + + diff --git "a/zh-cn/device-dev/quick-start/\344\272\206\350\247\243\345\274\200\345\217\221\346\235\277.md" "b/zh-cn/device-dev/quick-start/\344\272\206\350\247\243\345\274\200\345\217\221\346\235\277.md" deleted file mode 100755 index fae4d8bb464..00000000000 --- "a/zh-cn/device-dev/quick-start/\344\272\206\350\247\243\345\274\200\345\217\221\346\235\277.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 了解开发板 - -- **[Hi3861开发板介绍](Hi3861开发板介绍.md)** - -- **[Hi3516开发板介绍](Hi3516开发板介绍.md)** - -- **[Hi3518开发板介绍](Hi3518开发板介绍.md)** - - diff --git "a/zh-cn/device-dev/quick-start/\345\205\245\351\227\250\344\273\213\347\273\215.md" "b/zh-cn/device-dev/quick-start/\345\205\245\351\227\250\344\273\213\347\273\215.md" deleted file mode 100644 index 3e0807591c3..00000000000 --- "a/zh-cn/device-dev/quick-start/\345\205\245\351\227\250\344\273\213\347\273\215.md" +++ /dev/null @@ -1,54 +0,0 @@ -# 入门介绍 - -- [快速入门流程](#section7825218111517) -- [开发板简介](#zh-cn_topic_0000001053666242_section047719215429) -- [开发板规格](#zh-cn_topic_0000001053666242_section15192203316533) - -开发者可通过本文快速掌握OpenHarmony标准系统的环境搭建、编译、烧录、启动等操作。标准系统可以使用Windows环境进行开发、烧录,使用Linux环境进行编译。 - -本文将以当前推荐的Hi3516DV300开发板为例对上述操作进行说明。 - -## 快速入门流程 - -标准系统快速入门流程如下图所示,其中“搭建Ubuntu环境及编译”环节可根据实际情况选择docker方式或工具包方式其中一种即可。 - -**图 1** 标准环境快速入门流程 -![](figures/标准环境快速入门流程.png "标准环境快速入门流程") - -## 开发板简介 - -Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代ISP\(Image Signal Processor\)、H.265视频压缩编码器,同时集成高性能NNIE引擎,使得Hi3516DV300在低码率、高画质、智能处理和分析、低功耗等方面引领行业水平。 - -**图 2** Hi3516单板正面外观图 - - -![](figures/3516正面-16.png) - -## 开发板规格 - -**表 1** Hi3516开发板规格清单 - - - - - - - - - - - - - -

    规格类型

    -

    规格清单

    -

    处理器及内部存储

    -
    • Hi3516DV300芯片
    • DDR3 1GB
    • eMMC4.5,8GB容量
    -

    外部器件

    -
    • 以太网口
    • 音频视频
      • 1路语音输入
      • 1路单声道(AC_L)输出,接3W功放(LM4871)
      • MicroHDMI(1路HDMI 1.4)
      -
    • 摄像头
      • 传感器IMX335
      • 镜头M12,焦距4mm,光圈1.8
      -
    • 显示屏
      • LCD连接器(2.35寸)
      • LCD连接器(5.5寸)
      -
    • 外部器件及接口
      • SD卡接口
      • JTAG/I2S 接口
      • ADC接口
      • 舵机接口
      • Grove连接器
      • USB2.0(Type C)
      • 功能按键3个,2个用户自定义按键,1个升级按键
      • LED指示灯,绿灯,红灯
      -
    -
    - diff --git "a/zh-cn/device-dev/quick-start/\345\274\200\345\217\221\346\255\245\351\252\244.md" "b/zh-cn/device-dev/quick-start/\345\274\200\345\217\221\346\255\245\351\252\244.md" deleted file mode 100644 index 70e795860fb..00000000000 --- "a/zh-cn/device-dev/quick-start/\345\274\200\345\217\221\346\255\245\351\252\244.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 开发步骤 - -- **[Hi3861开发板](Hi3861开发板.md)** - -- **[Hi3516开发板](Hi3516开发板.md)** - -- **[Hi3518开发板](Hi3518开发板.md)** - - diff --git "a/zh-cn/device-dev/quick-start/\346\220\255\345\273\272\347\263\273\347\273\237\347\216\257\345\242\203.md" "b/zh-cn/device-dev/quick-start/\346\220\255\345\273\272\347\263\273\347\273\237\347\216\257\345\242\203.md" deleted file mode 100755 index 73a9d50f87e..00000000000 --- "a/zh-cn/device-dev/quick-start/\346\220\255\345\273\272\347\263\273\347\273\237\347\216\257\345\242\203.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 搭建系统环境 - -- **[概述](概述-0.md)** - -- **[Windows开发环境准备](Windows开发环境准备.md)** - -- **[Ubuntu编译环境准备](Ubuntu编译环境准备.md)** - -- **[常见问题](常见问题.md)** - - diff --git "a/zh-cn/device-dev/quick-start/\346\240\207\345\207\206\347\263\273\347\273\237\345\205\245\351\227\250.md" "b/zh-cn/device-dev/quick-start/\346\240\207\345\207\206\347\263\273\347\273\237\345\205\245\351\227\250.md" deleted file mode 100755 index 0281a27a47b..00000000000 --- "a/zh-cn/device-dev/quick-start/\346\240\207\345\207\206\347\263\273\347\273\237\345\205\245\351\227\250.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 标准系统入门 - -- **[入门介绍](入门介绍.md)** - -- **[Windows开发环境准备](Windows开发环境准备-7.md)** - -- **[搭建Ubuntu环境及编译(Docker方式)](搭建Ubuntu环境及编译(Docker方式).md)** - -- **[搭建Ubuntu环境及编译(安装包方式)](搭建Ubuntu环境及编译(安装包方式).md)** - -- **[镜像烧录](镜像烧录.md)** - -- **[常见问题](常见问题-8.md)** - - diff --git "a/zh-cn/device-dev/quick-start/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\205\245\351\227\250.md" "b/zh-cn/device-dev/quick-start/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\205\245\351\227\250.md" deleted file mode 100644 index a5446960eb3..00000000000 --- "a/zh-cn/device-dev/quick-start/\350\275\273\351\207\217\345\222\214\345\260\217\345\236\213\347\263\273\347\273\237\345\205\245\351\227\250.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 轻量和小型系统入门 - -- **[概述](概述.md)** - -- **[了解开发板](了解开发板.md)** - -- **[搭建系统环境](搭建系统环境.md)** - -- **[开发步骤](开发步骤.md)** - - diff --git a/zh-cn/device-dev/security/Readme-CN.md b/zh-cn/device-dev/security/Readme-CN.md index 3eb2062d716..9a8e221f7fe 100755 --- a/zh-cn/device-dev/security/Readme-CN.md +++ b/zh-cn/device-dev/security/Readme-CN.md @@ -1,5 +1,5 @@ # 隐私与安全 -- [隐私保护](隐私保护.md) -- [安全指南](安全指南.md) +- [隐私保护](safety-protection-privacyguide.md) +- [安全指南](safety-safeguide-security.md) diff --git "a/zh-cn/device-dev/security/figures/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" "b/zh-cn/device-dev/security/figure/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" rename to "zh-cn/device-dev/security/figure/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" diff --git "a/zh-cn/device-dev/security/figures/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" "b/zh-cn/device-dev/security/figure/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" rename to "zh-cn/device-dev/security/figure/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" diff --git "a/zh-cn/device-dev/security/figures/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" "b/zh-cn/device-dev/security/figure/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" rename to "zh-cn/device-dev/security/figure/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" diff --git "a/zh-cn/device-dev/security/figures/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" "b/zh-cn/device-dev/security/figure/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" rename to "zh-cn/device-dev/security/figure/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" diff --git "a/zh-cn/device-dev/security/figures/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" "b/zh-cn/device-dev/security/figure/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" rename to "zh-cn/device-dev/security/figure/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" diff --git "a/zh-cn/device-dev/security/figures/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" "b/zh-cn/device-dev/security/figure/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" rename to "zh-cn/device-dev/security/figure/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" diff --git "a/zh-cn/device-dev/security/figures/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" "b/zh-cn/device-dev/security/figure/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" rename to "zh-cn/device-dev/security/figure/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" diff --git "a/zh-cn/device-dev/security/figures/DAC\346\265\201\347\250\213\345\233\276.png" "b/zh-cn/device-dev/security/figure/DAC\346\265\201\347\250\213\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/DAC\346\265\201\347\250\213\345\233\276.png" rename to "zh-cn/device-dev/security/figure/DAC\346\265\201\347\250\213\345\233\276.png" diff --git "a/zh-cn/device-dev/security/figures/HUKS\345\212\237\350\203\275\347\273\223\346\236\204\345\233\276.png" "b/zh-cn/device-dev/security/figure/HUKS\345\212\237\350\203\275\347\273\223\346\236\204\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/HUKS\345\212\237\350\203\275\347\273\223\346\236\204\345\233\276.png" rename to "zh-cn/device-dev/security/figure/HUKS\345\212\237\350\203\275\347\273\223\346\236\204\345\233\276.png" diff --git "a/zh-cn/device-dev/security/figures/\345\256\211\345\205\250\344\277\235\351\232\234\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/security/figure/\345\256\211\345\205\250\344\277\235\351\232\234\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/\345\256\211\345\205\250\344\277\235\351\232\234\347\244\272\346\204\217\345\233\276.png" rename to "zh-cn/device-dev/security/figure/\345\256\211\345\205\250\344\277\235\351\232\234\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/security/figures/\350\256\276\345\244\207\351\227\264\345\273\272\347\253\213\345\217\257\344\277\241\345\205\263\347\263\273\346\265\201\347\250\213\345\233\276.png" "b/zh-cn/device-dev/security/figure/\350\256\276\345\244\207\351\227\264\345\273\272\347\253\213\345\217\257\344\277\241\345\205\263\347\263\273\346\265\201\347\250\213\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/security/figures/\350\256\276\345\244\207\351\227\264\345\273\272\347\253\213\345\217\257\344\277\241\345\205\263\347\263\273\346\265\201\347\250\213\345\233\276.png" rename to "zh-cn/device-dev/security/figure/\350\256\276\345\244\207\351\227\264\345\273\272\347\253\213\345\217\257\344\277\241\345\205\263\347\263\273\346\265\201\347\250\213\345\233\276.png" diff --git a/zh-cn/device-dev/security/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/security/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/security/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/security/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/security/public_sys-resources/icon-note.gif b/zh-cn/device-dev/security/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/security/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/security/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/security/\351\232\220\347\247\201\344\277\235\346\212\244.md" b/zh-cn/device-dev/security/safety-protection-privacyguide.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/security/\351\232\220\347\247\201\344\277\235\346\212\244.md" rename to zh-cn/device-dev/security/safety-protection-privacyguide.md index 3777685f3ff..95e5eccca8a --- "a/zh-cn/device-dev/security/\351\232\220\347\247\201\344\277\235\346\212\244.md" +++ b/zh-cn/device-dev/security/safety-protection-privacyguide.md @@ -141,26 +141,26 @@ **图 1** 隐私通知/声明示例图 - ![](figures/2-应用启动预授权.png) ![](figures/3-应用隐私声明.png) + ![](figure/2-应用启动预授权.png) ![](figure/3-应用隐私声明.png) - 个人数据应当基于具体、明确、合法的目的收集,不应与此目的不相符的方式作进一步处理。对于收集目的变更和用户撤销同意后再次重新使用的场景都需要用户重新同意。隐私声明变更和撤销的示例如下图: **图 2** 隐私通知/声明变更示例图 - ![](figures/4-隐私声明变更通知.png) + ![](figure/4-隐私声明变更通知.png) **图 3** 撤销同意示例图 - ![](figures/6-1-隐私声明撤销.png) ![](figures/6-2-隐私声明撤销.png) + ![](figure/6-1-隐私声明撤销.png) ![](figure/6-2-隐私声明撤销.png) - 需要提供用户查看隐私声明的入口。例如,可以在应用的“关于”界面提供查看隐私声明的入口,如示例图所示: **图 4** 隐私声明查看界面示例图 - ![](figures/5-应用隐私声明入口.png) + ![](figure/5-应用隐私声明入口.png) **数据收集及使用最小化** @@ -184,7 +184,7 @@ **图 5** 敏感权限提示框示例图 - ![](figures/1-敏感权限弹窗.png) + ![](figure/1-敏感权限弹窗.png) - 用户可以修改、取消授予的权限:当用户不同意某一权限或者数据收集时,应当允许用户使用与这部分权限和数据收集不相关的功能。如智慧屏产品上通信社交应用,用户可以拒绝授予相机权限,不应该影响与相机无关的功能操作,如语音通话。 - 用户在产品使用过程中,针对录入个人数据的场景,需要给用户提供对个人数据的增加、删除、修改、查看的操作。 @@ -195,9 +195,9 @@ 从技术上保证数据处理活动的安全性,包括个人数据的加密存储、安全传输等安全机制,系统应默认开启或采取安全保护措施。 -- 对于个人数据的访问需要有保护机制,主要包括身份认证和访问控制。身份认证(如用户名、密码)限定只有经过认证的用户才能访问数据,可应用于多用户场景;访问控制(如[权限控制](安全指南.md#li201725506375))可应用于对应用程序的限制。 +- 对于个人数据的访问需要有保护机制,主要包括身份认证和访问控制。身份认证(如用户名、密码)限定只有经过认证的用户才能访问数据,可应用于多用户场景;访问控制(如[权限控制](safety-safeguide-security.md#li201725506375))可应用于对应用程序的限制。 - 分布式设备个人数据安全存储要满足密钥管理和存储服务(HUKS:Huawei Universal Keystore)的要求,包括:密钥安全存储、数据安全存储。 -- 个人数据在分布式设备间传输要满足设备间的信任绑定关系和数据传输通道的安全性要求。详细信息可以参考[设备互联安全](安全指南.md#section26153183616)。 +- 个人数据在分布式设备间传输要满足设备间的信任绑定关系和数据传输通道的安全性要求。详细信息可以参考[设备互联安全](safety-safeguide-security.md#section26153183616)。 - 认证凭证数据(密码、口令、指纹等)须加密存储。 **本地化处理** diff --git "a/zh-cn/device-dev/security/\345\256\211\345\205\250\346\214\207\345\215\227.md" b/zh-cn/device-dev/security/safety-safeguide-security.md old mode 100755 new mode 100644 similarity index 96% rename from "zh-cn/device-dev/security/\345\256\211\345\205\250\346\214\207\345\215\227.md" rename to zh-cn/device-dev/security/safety-safeguide-security.md index c387b9a68e6..63804f366b4 --- "a/zh-cn/device-dev/security/\345\256\211\345\205\250\346\214\207\345\215\227.md" +++ b/zh-cn/device-dev/security/safety-safeguide-security.md @@ -2,18 +2,22 @@ - [安全概述](#section1521410017353) - [硬件安全](#section2558121318351) -- [安全机制](#section1312953842210) -- [推荐做法](#section37901319112311) + - [安全机制](#section1399511541896) + - [推荐做法](#section948519243104) + - [系统安全](#section87802111361) -- [安全机制](#section1654963052914) -- [推荐做法](#section45821048173613) + - [安全机制](#section149107611118) + - [推荐做法](#section1364122019112) + - [数据安全](#section2468927364) -- [安全机制](#section11192175813293) -- [推荐做法](#section174640713306) + - [安全机制](#section1378993720111) + - [推荐做法](#section1531735481112) + - [设备互联安全](#section26153183616) - [应用安全](#section852593153614) -- [安全机制](#section12125105014377) -- [推荐做法](#section1641420155381) + - [安全机制](#section55012136125) + - [推荐做法](#section6341102610123) + ## 安全概述 @@ -22,11 +26,11 @@ OpenHarmony操作系统是一个开放的系统,开发者可以通过OpenHarmo 在这个执行环境中,芯片的安全能力、系统的安全能力、以及上层的安全服务一起协作,从硬件安全、系统安全、数据安全、设备互联安全、应用安全、安全更新多个维度提供安全保障。 **图 1** 安全保障示意图 -![](figures/安全保障示意图.png "安全保障示意图") +![](figure/安全保障示意图.png "安全保障示意图") ## 硬件安全 -## 安全机制 +### 安全机制 - 启动可信根 @@ -53,7 +57,7 @@ OpenHarmony操作系统是一个开放的系统,开发者可以通过OpenHarmo OpenHarmony设备支持硬件密钥引擎,支撑OpenHarmony系统进行数据加解密、证书验签、哈希计算等计算任务,可支持AES/RSA等主流的密码学算法。 -## 推荐做法 +### 推荐做法 - 启动可信根可由一段固化在芯片中的代码和设备根密钥组成,前者一般在芯片制造阶段写入,设备生命周期内不可更改,负责在启动阶段校验设备软件证书;后者则是用于设备证书签名的私钥相对应的公钥,证书签名私钥不出PKI签名服务器,而公钥则需写入设备。为防止攻击者篡改公钥从而达到绕过签名认证的目的,写入OpenHarmony设备的公钥须确保不可篡改,可将公钥信息写入如熔丝等介质;考虑到熔丝空间有限,可仅存储公钥的哈希值,并由启动代码校验公钥的合法性。 - 可信执行环境较为通用的做法是基于ARM TrustZone技术构建,也可根据设备的实际形态选择其他隔离机制,如TrustZone-M、独立安全核等;可信执行环境中须部署TEE OS,用于管理可信执行环境的资源及任务调度。OpenHarmony系统提供iTrustee作为TEE OS的解决方案,开发者及设备商可基于iTrustee开发并部署安全业务。 @@ -64,7 +68,7 @@ OpenHarmony操作系统是一个开放的系统,开发者可以通过OpenHarmo ## 系统安全 -## 安全机制 +### 安全机制 对于128KB\~128MB内存的设备,推荐使用OpenHarmony轻内核组件,在该内核下: @@ -85,7 +89,7 @@ OpenHarmony操作系统是一个开放的系统,开发者可以通过OpenHarmo 下图描述了DAC在文件访问时的鉴权过程,首先匹配进程uid和文件uid属性,其次匹配进程gid和文件gid属性,最后都匹配失败的情况,判断文件other属性是否支持进程的读、写、执行操作。同时支持忽略DAC检测机制(读、写、执行)作为一组系统特权(Capability),支持高权限(如系统服务)对低权限(三方APP)的文件管理。 **图 2** DAC流程图 - ![](figures/DAC流程图.png "DAC流程图") + ![](figure/DAC流程图.png "DAC流程图") - Capability机制 @@ -98,19 +102,19 @@ OpenHarmony操作系统是一个开放的系统,开发者可以通过OpenHarmo 在芯片上电后,由于片上ROM代码本身不可更改,因此无需校验;片上ROM基于eFuse中的非对称算法公钥hash对bootloader进行校验。这些过程都基于硬件信任根来进行,是完全可信的。经过此过程校验通过的bootloader模块可以作为后续的信任基础,此过程就是启动信任链的构造过程。Bootloader通常首先对执行环境进行一定的初始化,主要是初始化DDR以及flash读写,为进一步加载后续模块以及执行更为复杂的逻辑进行准备。Bootloader完成初始化动作后,首先完成x509证书的完整性校验,然后利用x509证书的公钥对需要校验的镜像包(kernel.bin、teeOS.bin、rootfs.bin)进行校验。 -## 推荐做法 +### 推荐做法 - 自主访问控制和Capability机制是控制资源被谁可以访问的机制,建议所有权限设置都采用最小权限原则。 - 安全启动必须要开启,信任根必须是基于芯片的不可更改的形式存在,并且在有安全升级的情况下,必须考虑安全升级后对于安全启动的影响,也就是安全升级后必须要更新对应镜像文件的签名信息或者hash值。 ## 数据安全 -## 安全机制 +### 安全机制 HUKS(Huawei Universal Keystore Service),提供了密钥管理、证书管理服务,当前在OpenHarmony上主要提供密钥管理服务,用于支撑HiChain\(设备身份认证平台\)的基础设备认证。如下是HUKS的功能结构图: **图 3** HUKS功能结构图 -![](figures/HUKS功能结构图.png "HUKS功能结构图") +![](figure/HUKS功能结构图.png "HUKS功能结构图") 支持算法包括: @@ -126,7 +130,7 @@ HUKS在使用中有如下约束: - 密钥访问安全:OpenHarmony通过将不同应用数据保存在不同的位置,来实现应用间数据的隔离。通过参数结构体中包含UID和进程ID,来实现不同应用间的数据隔离。 - 不支持并发访问:HUKS本身不考虑多个应用同时调用的情况,因为HUKS只是一个lib库,也不考虑资源的互斥。如果有多个应用都会用到HUKS服务,那么应该由每个应用各自链接一份HUKS库,并由业务传入持久化数据存储的路径,以实现应用间的数据存储分开。数据存储在各应用各自存储目录下。 -## 推荐做法 +### 推荐做法 对于设备认证功能,建议使用HiChain来对接HUKS,HUKS可以向HiChain等应用提供密钥的产生、导入、导出、加密/解密、存储、销毁,证书的导入和查询,秘密信息的存储等能力。 @@ -135,7 +139,7 @@ HUKS在使用中有如下约束: 为了实现用户数据在设备互联场景下在各个设备之间的安全流转,需要保证设备之间相互正确可信,即设备和设备之间建立信任关系,并能够在验证信任关系后,搭建安全的连接通道,实现用户数据的安全传输。设备之间的信任关系在本文档中涉及IoT主控设备和IoT设备之间建立的可信关系。设备间可信关系建立的流程如下图所示: **图 4** 设备间建立可信关系流程图 -![](figures/设备间建立可信关系流程图.png "设备间建立可信关系流程图") +![](figure/设备间建立可信关系流程图.png "设备间建立可信关系流程图") - **IoT设备互联安全** @@ -168,7 +172,7 @@ HUKS在使用中有如下约束: ## 应用安全 -## 安全机制 +### 安全机制 - 应用签名管控 @@ -265,7 +269,7 @@ HUKS在使用中有如下约束:
    -## 推荐做法 +### 推荐做法 开发者在开发过程中需明确后续应用在运行时需要运行哪些权限,并在profile.json中进行注册,然后需要对应用进行签名,确保设备在安装这些应用时能对应用的完整性和来源进行校验。 diff --git a/zh-cn/device-dev/security/safety.md b/zh-cn/device-dev/security/safety.md new file mode 100644 index 00000000000..72bbe83ac0c --- /dev/null +++ b/zh-cn/device-dev/security/safety.md @@ -0,0 +1,7 @@ +# 隐私与安全 + +- **[隐私保护](safety-protection-privacyguide.md)** + +- **[安全指南](safety-safeguide-security.md)** + + diff --git a/zh-cn/device-dev/subsystems/DFX.md b/zh-cn/device-dev/subsystems/DFX.md deleted file mode 100755 index e5f00a7203a..00000000000 --- a/zh-cn/device-dev/subsystems/DFX.md +++ /dev/null @@ -1,11 +0,0 @@ -# DFX - -- **[DFX概述](DFX概述.md)** - -- **[HiLog开发指导](HiLog开发指导.md)** - -- **[HiLog\_Lite开发指导](HiLog_Lite开发指导.md)** - -- **[HiSysEvent开发指导](HiSysEvent开发指导.md)** - - diff --git a/zh-cn/device-dev/subsystems/Readme-CN.md b/zh-cn/device-dev/subsystems/Readme-CN.md index 3032d57b57d..7dc0b03cfae 100755 --- a/zh-cn/device-dev/subsystems/Readme-CN.md +++ b/zh-cn/device-dev/subsystems/Readme-CN.md @@ -1,96 +1,78 @@ -# 子系统 - -- [编译构建](编译构建.md) - - [轻量和小型系统编译构建指导](轻量和小型系统编译构建指导.md) - - [编译构建概述](编译构建概述.md) - - [编译构建使用指导](编译构建使用指导.md) - - [编译构建常见问题](编译构建常见问题.md) - - - [标准系统编译构建指导](标准系统编译构建指导.md) - - [编译构建概述](编译构建概述-0.md) - - [编译构建使用指导](编译构建使用指导-1.md) - -- [分布式远程启动](分布式远程启动.md) -- [图形图像](图形图像.md) - - [图形图像概述](图形图像概述.md) - - [容器类组件开发指导](容器类组件开发指导.md) - - [布局容器类组件开发指导](布局容器类组件开发指导.md) - - [普通组件开发指导](普通组件开发指导.md) - - [动画开发指导](动画开发指导.md) - -- [媒体](媒体.md) - - [相机](相机.md) - - [相机开发概述](相机开发概述.md) - - [拍照开发指导](拍照开发指导.md) - - [录像开发指导](录像开发指导.md) - - [预览开发指导](预览开发指导.md) - - - [音视频](音视频.md) - - [音视频开发概述](音视频开发概述.md) - - [音视频播放开发指导](音视频播放开发指导.md) - - [音视频录制开发指导](音视频录制开发指导.md) - -- [公共基础](公共基础.md) - - [公共基础库概述](公共基础库概述.md) - - [公共基础库开发指导](公共基础库开发指导.md) - - [公共基础库常见问题](公共基础库常见问题.md) - -- [AI框架](AI框架.md) - - [AI引擎框架开发指南](AI引擎框架开发指南.md) - - [搭建环境](搭建环境.md) - - [技术规范](技术规范.md) - - [代码管理规范](代码管理规范.md) - - [命名规范](命名规范.md) - - [接口开发规范](接口开发规范.md) - - - [开发指导](开发指导.md) - - [SDK开发过程](SDK开发过程.md) - - [插件的开发过程](插件的开发过程.md) - - [配置文件的开发过程](配置文件的开发过程.md) - - - [开发示例](开发示例.md) - - [唤醒词识别SDK的开发示例](唤醒词识别SDK的开发示例.md) - - [唤醒词识别插件的开发示例](唤醒词识别插件的开发示例.md) - - [唤醒词识别配置文件的开发示例](唤醒词识别配置文件的开发示例.md) - -- [Sensor服务](Sensor服务.md) - - [Sensor服务子系概述](Sensor服务子系概述.md) - - [Sensor服务子系使用指导](Sensor服务子系使用指导.md) - - [Sensor服务子系使用实例](Sensor服务子系使用实例.md) - -- [用户程序框架](用户程序框架.md) - - [概述](概述.md) - - [搭建环境](搭建环境-2.md) - - [开发指导](开发指导-3.md) - - [开发实例](开发实例.md) - -- [OTA升级](OTA升级.md) - -- [安全](安全.md) - - [概述](概述-7.md) - - [应用验签开发指导](应用验签开发指导.md) - - [应用权限管理开发指导](应用权限管理开发指导.md) - - [IPC通信鉴权开发指导](IPC通信鉴权开发指导.md) - -- [启动恢复](启动恢复.md) - - [启动恢复子系统概述](启动恢复子系统概述.md) - - [init启动引导组件](init启动引导组件.md) - - [appspawn应用孵化组件](appspawn应用孵化组件.md) - - [bootstrap服务启动组件](bootstrap服务启动组件.md) - - [syspara系统属性组件](syspara系统属性组件.md) - - [常见问题](常见问题.md) - - [参考](参考.md) - -- [测试](测试.md) -- [DFX](DFX.md) - - [DFX概述](DFX概述.md) - - [HiLog开发指导](HiLog开发指导.md) - - [HiLog\_Lite开发指导](HiLog_Lite开发指导.md) - - [HiSysEvent开发指导](HiSysEvent开发指导.md) - -- [研发工具链](研发工具链.md) - - [bytrace使用指导](bytrace使用指导.md) - - [hdc\_std 使用指导](hdc_std-使用指导.md) - -- [XTS认证子系统开发指南](XTS认证子系统开发指南.md) +# 子系统开发指南 + +- [编译构建](subsys-build.md) + - [轻量和小型系统编译构建指导](subsys-build-mini-lite.md) + - [标准系统编译构建指导](subsys-build-standard-large.md) +- [分布式远程启动](subsys-remote-start.md) +- [图形图像](subsys-graphics.md) + - [图形图像概述](subsys-graphics-overview.md) + - [容器类组件开发指导](subsys-graphics-bundle-guide1.md) + - [布局容器类组件开发指导](subsys-graphics-bundle-guide2.md) + - [普通组件开发指导](subsys-graphics-bundle-guide3.md) + - [动画开发指导](subsys-graphics-animation-guide.md) +- [媒体](subsys-multimedia.md) + - [相机](subsys-multimedia-camera.md) + - [相机开发概述](subsys-multimedia-camera-overview.md) + - [拍照开发指导](subsys-multimedia-camera-photo-guide.md) + - [录像开发指导](subsys-multimedia-camera-record-guide.md) + - [预览开发指导](subsys-multimedia-camera-preview-guide.md) + + - [音视频](subsys-multimedia-video.md) + - [音视频开发概述](subsys-multimedia-video-overview.md) + - [音视频播放开发指导](subsys-multimedia-video-play-guide.md) + - [音视频录制开发指导](subsys-multimedia-video-record-guide.md) +- [公共基础](subsys-utils.md) + - [公共基础库概述](subsys-utils-overview.md) + - [公共基础库开发指导](subsys-utils-guide.md) + - [公共基础库常见问题](subsys-utils-faqs.md) +- [AI框架](subsys-aiframework.md) + - [AI引擎框架开发指南](subsys-aiframework-guide.md) + - [搭建环境](subsys-aiframework-envbuild.md) + - [技术规范](subsys-aiframework-tech.md) + - [代码管理规范](subsys-aiframework-tech-codemanage.md) + - [命名规范](subsys-aiframework-tech-name.md) + - [接口开发规范](subsys-aiframework-tech-interface.md) + + - [开发指导](subsys-aiframework-devguide.md) + - [SDK开发过程](subsys-aiframework-devguide-sdk.md) + - [插件的开发过程](subsys-aiframework-devguide-plugin.md) + - [配置文件的开发过程](subsys-aiframework-devguide-conf.md) + + - [开发示例](subsys-aiframework-demo.md) + - [唤醒词识别SDK的开发示例](subsys-aiframework-demo-sdk.md) + - [唤醒词识别插件的开发示例](subsys-aiframework-demo-plugin.md) + - [唤醒词识别配置文件的开发示例](subsys-aiframework-demo-conf.md) +- [Sensor服务](subsys-densor.md) + - [Sensor服务子系概述](subsys-densor-overview.md) + - [Sensor服务子系使用指导](subsys-densor-guide.md) + - [Sensor服务子系使用实例](subsys-densor-demo.md) +- [用户程序框架](subsys-application-framework.md) + - [概述](subsys-application-framework-overview.md) + - [搭建环境](subsys-application-framework-builden.md) + - [开发指导](subsys-application-framework-guide.md) + - [开发实例](subsys-application-framework-demo.md) +- [OTA升级](subsys-ota-guide.md) +- [安全](subsys-security.md) + - [概述](subsys-security-overview.md) + - [应用验签开发指导](subsys-security-sigverify.md) + - [应用权限管理开发指导](subsys-security-rightmanagement.md) + - [IPC通信鉴权开发指导](subsys-security-communicationverify.md) +- [启动恢复](subsys-boot.md) + - [启动恢复子系统概述](subsys-boot-overview.md) + - [init启动引导组件](subsys-boot-init.md) + - [appspawn应用孵化组件](subsys-boot-appspawn.md) + - [bootstrap服务启动组件](subsys-boot-bootstrap.md) + - [syspara系统属性组件](subsys-boot-syspara.md) + - [常见问题](subsys-boot-faqs.md) + - [参考](subsys-boot-ref.md) +- [测试](subsys-testguide-test.md) +- [DFX](subsys-dfx.md) + - [DFX概述](subsys-dfx-overview.md) + - [HiLog开发指导](subsys-dfx-hilog-rich.md) + - [HiLog\_Lite开发指导](subsys-dfx-hilog-lite.md) + - [HiSysEvent开发指导](subsys-dfx-hisysevent.md) +- [研发工具链](subsys-toolchain.md) + - [bytrace使用指导](subsys-toolchain-bytrace-guide.md) + - [hdc\_std 使用指导](subsys-toolchain-hdc-guide.md) +- [XTS认证子系统开发指南](subsys-xts-guide.md) diff --git "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241.md" "b/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241.md" deleted file mode 100755 index 35dd6eab917..00000000000 --- "a/zh-cn/device-dev/subsystems/Sensor\346\234\215\345\212\241.md" +++ /dev/null @@ -1,9 +0,0 @@ -# Sensor服务 - -- **[Sensor服务子系概述](Sensor服务子系概述.md)** - -- **[Sensor服务子系使用指导](Sensor服务子系使用指导.md)** - -- **[Sensor服务子系使用实例](Sensor服务子系使用实例.md)** - - diff --git a/zh-cn/device-dev/subsystems/figures/20200721-223604(eSpace).gif b/zh-cn/device-dev/subsystems/figure/20200721-223604(eSpace).gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/20200721-223604(eSpace).gif rename to zh-cn/device-dev/subsystems/figure/20200721-223604(eSpace).gif diff --git "a/zh-cn/device-dev/subsystems/figures/Ability\344\270\216AbilitySlice\347\232\204\345\205\263\347\263\273\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/Ability\344\270\216AbilitySlice\347\232\204\345\205\263\347\263\273\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/Ability\344\270\216AbilitySlice\347\232\204\345\205\263\347\263\273\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/Ability\344\270\216AbilitySlice\347\232\204\345\205\263\347\263\273\345\233\276.png" diff --git "a/zh-cn/device-dev/subsystems/figures/Ability\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/Ability\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/Ability\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/Ability\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" diff --git "a/zh-cn/device-dev/subsystems/figures/Ability\347\256\241\347\220\206\346\234\215\345\212\241\345\222\214\345\214\205\347\256\241\347\220\206\346\234\215\345\212\241\345\220\257\345\212\250.png" "b/zh-cn/device-dev/subsystems/figure/Ability\347\256\241\347\220\206\346\234\215\345\212\241\345\222\214\345\214\205\347\256\241\347\220\206\346\234\215\345\212\241\345\220\257\345\212\250.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/Ability\347\256\241\347\220\206\346\234\215\345\212\241\345\222\214\345\214\205\347\256\241\347\220\206\346\234\215\345\212\241\345\220\257\345\212\250.png" rename to "zh-cn/device-dev/subsystems/figure/Ability\347\256\241\347\220\206\346\234\215\345\212\241\345\222\214\345\214\205\347\256\241\347\220\206\346\234\215\345\212\241\345\220\257\345\212\250.png" diff --git "a/zh-cn/device-dev/subsystems/figures/LiteOS-A\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" "b/zh-cn/device-dev/subsystems/figure/LiteOS-A\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/LiteOS-A\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" rename to "zh-cn/device-dev/subsystems/figure/LiteOS-A\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" diff --git "a/zh-cn/device-dev/subsystems/figures/LiteOS-M\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" "b/zh-cn/device-dev/subsystems/figure/LiteOS-M\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/LiteOS-M\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" rename to "zh-cn/device-dev/subsystems/figure/LiteOS-M\345\271\263\345\217\260dump\347\263\273\347\273\237\345\261\236\346\200\247\350\276\223\345\207\272.png" diff --git "a/zh-cn/device-dev/subsystems/figures/UIButton\347\202\271\345\207\273\346\225\210\346\236\234.gif" "b/zh-cn/device-dev/subsystems/figure/UIButton\347\202\271\345\207\273\346\225\210\346\236\234.gif" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/UIButton\347\202\271\345\207\273\346\225\210\346\236\234.gif" rename to "zh-cn/device-dev/subsystems/figure/UIButton\347\202\271\345\207\273\346\225\210\346\236\234.gif" diff --git "a/zh-cn/device-dev/subsystems/figures/ViewGroup\346\267\273\345\212\240view\345\256\236\344\276\213\346\225\210\346\236\234\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/ViewGroup\346\267\273\345\212\240view\345\256\236\344\276\213\346\225\210\346\236\234\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/ViewGroup\346\267\273\345\212\240view\345\256\236\344\276\213\346\225\210\346\236\234\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/ViewGroup\346\267\273\345\212\240view\345\256\236\344\276\213\346\225\210\346\236\234\345\233\276.png" diff --git a/zh-cn/device-dev/subsystems/figures/unnaming.png b/zh-cn/device-dev/subsystems/figure/unnaming.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/unnaming.png rename to zh-cn/device-dev/subsystems/figure/unnaming.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001051782526.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001051782526.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001051782526.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001051782526.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052582522.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052582522.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052582522.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052582522.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052662559.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052662559.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052662559.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052662559.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052782555.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052782555.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052782555.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052782555.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052942531.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052942531.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001052942531.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001052942531.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001053207924.gif b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001053207924.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001053207924.gif rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001053207924.gif diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001053247975.gif b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001053247975.gif old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001053247975.gif rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001053247975.gif diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001054101094.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001054101094.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001054101094.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001054101094.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001054421113.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001054421113.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001054421113.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001054421113.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001059334449.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001059334449.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001059334449.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001059334449.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001060200050.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001060200050.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001060200050.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001060200050.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001061889268.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001061889268.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001061889268.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001061889268.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001062334618.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001062334618.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001062334618.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001062334618.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001062476933.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001062476933.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001062476933.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001062476933.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001062942690.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001062942690.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001062942690.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001062942690.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001063839940.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001063839940.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001063839940.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001063839940.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001077724150.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001077724150.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001077724150.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001077724150.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001077727032.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001077727032.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001077727032.png rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001077727032.png diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001119924146.gif b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001119924146.gif similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001119924146.gif rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001119924146.gif diff --git a/zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001166643927.jpg b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001166643927.jpg similarity index 100% rename from zh-cn/device-dev/subsystems/figures/zh-cn_image_0000001166643927.jpg rename to zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001166643927.jpg diff --git "a/zh-cn/device-dev/subsystems/figures/\345\212\250\347\224\273\345\256\236\347\216\260\346\225\210\346\236\234\345\233\276.gif" "b/zh-cn/device-dev/subsystems/figure/\345\212\250\347\224\273\345\256\236\347\216\260\346\225\210\346\236\234\345\233\276.gif" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\345\212\250\347\224\273\345\256\236\347\216\260\346\225\210\346\236\234\345\233\276.gif" rename to "zh-cn/device-dev/subsystems/figure/\345\212\250\347\224\273\345\256\236\347\216\260\346\225\210\346\236\234\345\233\276.gif" diff --git "a/zh-cn/device-dev/subsystems/figures/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237\346\241\206\346\236\266\345\233\276.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\345\233\276\347\211\2071.png" "b/zh-cn/device-dev/subsystems/figure/\345\233\276\347\211\2071.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\345\233\276\347\211\2071.png" rename to "zh-cn/device-dev/subsystems/figure/\345\233\276\347\211\2071.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" "b/zh-cn/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" rename to "zh-cn/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\345\271\263\351\223\272\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/\345\271\263\351\223\272\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\345\271\263\351\223\272\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/\345\271\263\351\223\272\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\345\272\224\347\224\250\345\220\257\345\212\250\346\265\201\347\250\213.png" "b/zh-cn/device-dev/subsystems/figure/\345\272\224\347\224\250\345\220\257\345\212\250\346\265\201\347\250\213.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\345\272\224\347\224\250\345\220\257\345\212\250\346\265\201\347\250\213.png" rename to "zh-cn/device-dev/subsystems/figure/\345\272\224\347\224\250\345\220\257\345\212\250\346\265\201\347\250\213.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" "b/zh-cn/device-dev/subsystems/figure/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" rename to "zh-cn/device-dev/subsystems/figure/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" diff --git "a/zh-cn/device-dev/subsystems/figures/\346\231\256\351\200\232\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\347\273\223\346\236\204.png" "b/zh-cn/device-dev/subsystems/figure/\346\231\256\351\200\232\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\347\273\223\346\236\204.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\346\231\256\351\200\232\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\347\273\223\346\236\204.png" rename to "zh-cn/device-dev/subsystems/figure/\346\231\256\351\200\232\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\347\273\223\346\236\204.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\346\231\256\351\200\232\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204.png" "b/zh-cn/device-dev/subsystems/figure/\346\231\256\351\200\232\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\346\231\256\351\200\232\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204.png" rename to "zh-cn/device-dev/subsystems/figure/\346\231\256\351\200\232\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\346\260\264\345\271\263-\345\236\202\347\233\264\346\226\271\345\220\221\345\217\257\346\273\221\345\212\250\346\225\210\346\236\234\345\233\276.gif" "b/zh-cn/device-dev/subsystems/figure/\346\260\264\345\271\263-\345\236\202\347\233\264\346\226\271\345\220\221\345\217\257\346\273\221\345\212\250\346\225\210\346\236\234\345\233\276.gif" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\346\260\264\345\271\263-\345\236\202\347\233\264\346\226\271\345\220\221\345\217\257\346\273\221\345\212\250\346\225\210\346\236\234\345\233\276.gif" rename to "zh-cn/device-dev/subsystems/figure/\346\260\264\345\271\263-\345\236\202\347\233\264\346\226\271\345\220\221\345\217\257\346\273\221\345\212\250\346\225\210\346\236\234\345\233\276.gif" diff --git "a/zh-cn/device-dev/subsystems/figures/\346\265\213\350\257\225\345\271\263\345\217\260\346\236\266\346\236\204.png" "b/zh-cn/device-dev/subsystems/figure/\346\265\213\350\257\225\345\271\263\345\217\260\346\236\266\346\236\204.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\346\265\213\350\257\225\345\271\263\345\217\260\346\236\266\346\236\204.png" rename to "zh-cn/device-dev/subsystems/figure/\346\265\213\350\257\225\345\271\263\345\217\260\346\236\266\346\236\204.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\346\265\213\350\257\225\345\271\263\345\217\260\350\277\220\350\241\214\346\227\266\345\272\217.png" "b/zh-cn/device-dev/subsystems/figure/\346\265\213\350\257\225\345\271\263\345\217\260\350\277\220\350\241\214\346\227\266\345\272\217.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\346\265\213\350\257\225\345\271\263\345\217\260\350\277\220\350\241\214\346\227\266\345\272\217.png" rename to "zh-cn/device-dev/subsystems/figure/\346\265\213\350\257\225\345\271\263\345\217\260\350\277\220\350\241\214\346\227\266\345\272\217.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204\347\244\272\346\204\217\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204\347\244\272\346\204\217\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/\347\273\204\344\273\266\346\240\221\347\273\223\346\236\204\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\347\274\226\350\257\221\346\236\204\345\273\272\346\265\201\347\250\213.jpg" "b/zh-cn/device-dev/subsystems/figure/\347\274\226\350\257\221\346\236\204\345\273\272\346\265\201\347\250\213.jpg" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\347\274\226\350\257\221\346\236\204\345\273\272\346\265\201\347\250\213.jpg" rename to "zh-cn/device-dev/subsystems/figure/\347\274\226\350\257\221\346\236\204\345\273\272\346\265\201\347\250\213.jpg" diff --git "a/zh-cn/device-dev/subsystems/figures/\350\207\252\351\200\202\345\272\224\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" "b/zh-cn/device-dev/subsystems/figure/\350\207\252\351\200\202\345\272\224\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\350\207\252\351\200\202\345\272\224\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" rename to "zh-cn/device-dev/subsystems/figure/\350\207\252\351\200\202\345\272\224\346\250\241\345\274\217\345\233\276\347\211\207\346\225\210\346\236\234\345\233\276.png" diff --git "a/zh-cn/device-dev/subsystems/figures/\350\256\276\347\275\2562-2\347\275\221\346\240\274\345\271\266\346\267\273\345\212\2404\344\270\252button\347\273\204\344\273\266\350\277\233\350\241\214\345\270\203\345\261\200.png" "b/zh-cn/device-dev/subsystems/figure/\350\256\276\347\275\2562-2\347\275\221\346\240\274\345\271\266\346\267\273\345\212\2404\344\270\252button\347\273\204\344\273\266\350\277\233\350\241\214\345\270\203\345\261\200.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/figures/\350\256\276\347\275\2562-2\347\275\221\346\240\274\345\271\266\346\267\273\345\212\2404\344\270\252button\347\273\204\344\273\266\350\277\233\350\241\214\345\270\203\345\261\200.png" rename to "zh-cn/device-dev/subsystems/figure/\350\256\276\347\275\2562-2\347\275\221\346\240\274\345\271\266\346\267\273\345\212\2404\344\270\252button\347\273\204\344\273\266\350\277\233\350\241\214\345\270\203\345\261\200.png" diff --git a/zh-cn/device-dev/subsystems/figures/RIL-Adapter.png b/zh-cn/device-dev/subsystems/figures/RIL-Adapter.png deleted file mode 100644 index eb3a5f511cb246a0c250a0dc76150b8816f4394b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24049 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 diff --git "a/zh-cn/device-dev/subsystems/hdc_std\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/zh-cn/device-dev/subsystems/hdc_std\345\270\270\350\247\201\351\227\256\351\242\230.md" deleted file mode 100644 index 3f83fba3e99..00000000000 --- "a/zh-cn/device-dev/subsystems/hdc_std\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ /dev/null @@ -1,39 +0,0 @@ -# hdc\_std常见问题 - -- [hdc\_std连接不到设备](#section1221016541119) -- [hdc\_std运行不了](#section219185710311) - -## hdc\_std连接不到设备 - -- **现象描述** - - 执行 "hdc\_std list targets"命令后结果为:\[Empty\] - -- **可能原因和解决方法** - 1. 设备没有被识别: - - 在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。 - - 2. hdc\_std工作异常: - - 可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。 - - 如果一直获取不到设备信息,请在任务管理器中查询是否有adb进程,该进程可能会对hdc产生干扰,可以将其杀掉后重复执行上面的步骤。 - - 3. hdc\_std与设备不匹配: - - 如果设备烧写的是最新镜像,hdc\_std也需要使用最新版本。由于hdc\_std会持续更新,请从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。 - - - -## hdc\_std运行不了 - -- **现象描述** - - 点击hdc\_std.exe文件无法运行。 - -- **可能原因和解决方法** - - hdc\_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc\_std命令直接使用。 - - diff --git a/zh-cn/device-dev/subsystems/public_sys-resources/icon-caution.gif b/zh-cn/device-dev/subsystems/public_sys-resources/icon-caution.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/subsystems/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/subsystems/public_sys-resources/icon-danger.gif deleted file mode 100755 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/subsystems/public_sys-resources/icon-note.gif b/zh-cn/device-dev/subsystems/public_sys-resources/icon-note.gif deleted file mode 100755 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/subsystems/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/subsystems/public_sys-resources/icon-notice.gif deleted file mode 100755 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git "a/zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253\351\205\215\347\275\256\346\226\207\344\273\266\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-demo-conf.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253\351\205\215\347\275\256\346\226\207\344\273\266\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-demo-conf.md diff --git "a/zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253\346\217\222\344\273\266\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-demo-plugin.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253\346\217\222\344\273\266\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-demo-plugin.md diff --git "a/zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253SDK\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253SDK\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md index c8f592b80cf..795599d8722 --- "a/zh-cn/device-dev/subsystems/\345\224\244\351\206\222\350\257\215\350\257\206\345\210\253SDK\347\232\204\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md @@ -75,7 +75,7 @@ 上述代码为API接口的具体实现,从上述示例的代码中,SDK中create接口的具体实现即为下述示例代码中create方法,该方法调用了AI引擎框架client端开放接口AieClientInit,AieClientPrepare,从而实现与server端建立连接及加载算法模型的能力。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >SDK调用AI引擎client端接口顺序应遵循AieClientInit-\>AieClientPrepare-\>AieClientSyncProcess/AieClientAsyncProcess-\>AieClientRelease-\>AieClientDestroy,否则调用接口会返回错误码。 diff --git "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\347\244\272\344\276\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-demo.md old mode 100755 new mode 100644 similarity index 72% rename from "zh-cn/device-dev/subsystems/\345\274\200\345\217\221\347\244\272\344\276\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-demo.md index 346b8a084af..054336dafd8 --- "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\347\244\272\344\276\213.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-demo.md @@ -4,10 +4,10 @@ 本示例中唤醒词识别的场景中唤醒词是固定的,当开发者传入的音频包含”Hi,小问“,启动的应用就会打印"\[Hi, xiaowen\]",当不包含时,会打印'\[UNKNOWN\]"。 -- **[唤醒词识别SDK的开发示例](唤醒词识别SDK的开发示例.md)** +- **[唤醒词识别SDK的开发示例](subsys-aiframework-demo-sdk.md)** -- **[唤醒词识别插件的开发示例](唤醒词识别插件的开发示例.md)** +- **[唤醒词识别插件的开发示例](subsys-aiframework-demo-plugin.md)** -- **[唤醒词识别配置文件的开发示例](唤醒词识别配置文件的开发示例.md)** +- **[唤醒词识别配置文件的开发示例](subsys-aiframework-demo-conf.md)** diff --git "a/zh-cn/device-dev/subsystems/\351\205\215\347\275\256\346\226\207\344\273\266\347\232\204\345\274\200\345\217\221\350\277\207\347\250\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-conf.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\351\205\215\347\275\256\346\226\207\344\273\266\347\232\204\345\274\200\345\217\221\350\277\207\347\250\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-devguide-conf.md diff --git "a/zh-cn/device-dev/subsystems/\346\217\222\344\273\266\347\232\204\345\274\200\345\217\221\350\277\207\347\250\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\346\217\222\344\273\266\347\232\204\345\274\200\345\217\221\350\277\207\347\250\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md diff --git "a/zh-cn/device-dev/subsystems/SDK\345\274\200\345\217\221\350\277\207\347\250\213.md" b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/subsystems/SDK\345\274\200\345\217\221\350\277\207\347\250\213.md" rename to zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md index 83d933cdb5d..ed8f624d68c --- "a/zh-cn/device-dev/subsystems/SDK\345\274\200\345\217\221\350\277\207\347\250\213.md" +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-sdk.md @@ -126,8 +126,8 @@ SDK头文件的功能实现是基于对SDK的调用映射到对client的调用

    long long clientVersion:客户端设备版本号(当前还未启用);

    int clientId:客户端ID;

    int sessionId:会话ID;

    -

    uid_t serverUid:server端UID;

    -

    uid_t clientUid:client端UID;

    +

    uid_t serverUid:server端UID;

    +

    uid_t clientUid:client端UID;

    int extendLen:拓展信息(extendMsg)长度;

    unsigned char *extendMsg:拓展信息主体;

    + + + + + + + + + + +

    接口名

    +

    描述

    +

    int ISysEventService::AddListener(in SysEventRule[] rules, in ISysEventCallback callback)

    +

    接口功能:订阅HiSysEvent事件。

    +

    输入参数:

    +
    • rules:事件订阅规则
    • callback:订阅回调对象
    +

    返回值:

    +
    • 0:订阅成功,重复订阅
    • 1:订阅成功,初次订阅
    • 其他返回值:订阅失败
    +

    void ISysEventCallback::Handle(in String domain, in String eventName, in int eventType, in String eventDetail)

    +

    接口功能:订阅事件的回调接口。

    +

    输入参数:

    +
    • domain:事件所属领域
    • eventName:事件的名称
    • eventType:事件类型
    • eventDetail:包含事件相关信息的字符串,以json的形式体现
    +

    返回值:无。

    +
    + +**表 2** SysEventRule订阅规则对象 + + + + + + + + + + + + + + + + +

    属性名称

    +

    描述

    +

    uint32_t ruleType

    +

    规则类型(匹配范围包括domain以及eventName):

    +
    • 1:全字符匹配
    • 2:前缀匹配
    • 3:正则表达式匹配
    • 其他值:无效的匹配方式
    +

    std::string domain;

    +
    • domain:事件所属领域,如果传入的是空字符串,则默认事件领域字段匹配成功
    +

    std::string eventName

    +
    • eventName:事件的名称,如果传入的是空字符串,则默认事件名称字段匹配成功
    +
    + +## 开发实例 + +1. 源代码开发: + + 引入对应的aidl文件,包括:ISysEventService.aidl、SysEventRule.aidl、ISysEventCallback.aidl。 + + 在相应的业务逻辑里面调用ISysEventService::AddListener\(in SysEventRule\[\] rules, in ISysEventCallback callback\)接口。 + + 实现对应的回调对象: + + ISysEventCallback::Handle\(in String domain, in String eventName, in int eventType, in String eventDetail\) + + +1. 源代码开发: + + 引入对应的aidl文件,包括:ISysEventService.aidl、SysEventRule.aidl、ISysEventCallback.aidl。 + + 在相应的业务逻辑里面调用ISysEventService::AddListener\(in SysEventRule\[\] rules, in ISysEventCallback callback\)接口。 + + 实现对应的回调对象: + + ISysEventCallback::Handle\(in String domain, in String eventName, in int eventType, in String eventDetail\) + +2. 编译设置: + +在编译子系统里面,需要依赖libbinder模块 + +aosp\_deps = \[ "shared\_library:libbinder", \] + +- **[bytrace使用指导](subsys-toolchain-bytrace-guide.md)** + +- **[hdc\_std 使用指导](subsys-toolchain-hdc-guide.md)** + + diff --git "a/zh-cn/device-dev/subsystems/DFX\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-dfx-overview.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/DFX\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-dfx-overview.md diff --git a/zh-cn/device-dev/subsystems/subsys-dfx.md b/zh-cn/device-dev/subsystems/subsys-dfx.md new file mode 100644 index 00000000000..e4538aa73f4 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-dfx.md @@ -0,0 +1,11 @@ +# DFX + +- **[DFX概述](subsys-dfx-overview.md)** + +- **[HiLog开发指导](subsys-dfx-hilog-rich.md)** + +- **[HiLog\_Lite开发指导](subsys-dfx-hilog-lite.md)** + +- **[HiSysEvent开发指导](subsys-dfx-hisysevent.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\345\212\250\347\224\273\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-graphics-animation-guide.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/subsystems/\345\212\250\347\224\273\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-graphics-animation-guide.md index e58aed68c06..8332aa22bd8 --- "a/zh-cn/device-dev/subsystems/\345\212\250\347\224\273\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-graphics-animation-guide.md @@ -185,6 +185,6 @@ UI动画通过task处理机制每个tick调用一下用户设置的callback函 4. 点击下图下方的按钮,检查对应的动画运行效果。 **图 1** 动画实现效果图 - ![](figures/动画实现效果图.gif "动画实现效果图") + ![](figure/动画实现效果图.gif "动画实现效果图") diff --git "a/zh-cn/device-dev/subsystems/\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide1.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/subsystems/\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide1.md index 507ad3b1186..52da564931e --- "a/zh-cn/device-dev/subsystems/\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide1.md @@ -12,7 +12,7 @@ 容器类组件,指能包含其它UI组件的组件,容器类组件继承于UIViewGroup(带Add方法),基于实际组件的使用场景,将需要增加其他子组件的组件,放置到容器类继承结构下。如UIAnalogClock内,通常会Add需要的计步信息,时分秒图标等。 **图 1** 普通容器类组件结构 -![](figures/普通容器类组件结构.png "普通容器类组件结构") +![](figure/普通容器类组件结构.png "普通容器类组件结构") RootView、UIAbstractScroll、UIPicker组件从UIViewGroup继承,UIList、UIScrollView、UISwipeView组件从UIAbstractScroll继承。 @@ -23,7 +23,7 @@ RootView、UIAbstractScroll、UIPicker组件从UIViewGroup继承,UIList、UISc UIViewGroup是容器类组件基类,实现增加、删除、插入等操作,通过增加方法可以添加子组件。普通容器类组件子组件需要设置位置信息,位置信息为相对父组件的相对坐标。组件树结构如下图: **图 2** 组件树结构示意图 -![](figures/组件树结构示意图.png "组件树结构示意图") +![](figure/组件树结构示意图.png "组件树结构示意图") 往根节点rootView里添加ViewGroup1容器组件和View1组件,往ViewGroup1容器组件里再添加View2组件和ViewGroup2容器组件,在View1之后添加View3组件。 @@ -126,7 +126,7 @@ UIViewGroup是容器类组件基类,实现增加、删除、插入等操作, 4. 检查ViewGroup效果如下图所示。 **图 3** ViewGroup添加view实例效果图 - ![](figures/ViewGroup添加view实例效果图.png "ViewGroup添加view实例效果图") + ![](figure/ViewGroup添加view实例效果图.png "ViewGroup添加view实例效果图") ## UIScrollView @@ -240,5 +240,5 @@ scroll->Add(button2); ``` **图 4** 水平、垂直方向可滑动效果图 -![](figures/水平-垂直方向可滑动效果图.gif "水平-垂直方向可滑动效果图") +![](figure/水平-垂直方向可滑动效果图.gif "水平-垂直方向可滑动效果图") diff --git "a/zh-cn/device-dev/subsystems/\345\270\203\345\261\200\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide2.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/subsystems/\345\270\203\345\261\200\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide2.md index 4f8653aad5a..f03df38642b --- "a/zh-cn/device-dev/subsystems/\345\270\203\345\261\200\345\256\271\345\231\250\347\261\273\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide2.md @@ -97,7 +97,7 @@ UISwipeView继承UIViewGroup,除提供容器类组件Add、Remove、Insert等 **图 1** UISwipeView水平滑动效果图 - ![](figures/zh-cn_image_0000001053247975.gif) + ![](figure/zh-cn_image_0000001053247975.gif) ## 开发步骤(水平滑动,可循环) @@ -131,7 +131,7 @@ UISwipeView继承UIViewGroup,除提供容器类组件Add、Remove、Insert等 **图 2** UISwipeView水平滑动循环效果图 - ![](figures/zh-cn_image_0000001053207924.gif) + ![](figure/zh-cn_image_0000001053207924.gif) ## GridLayout @@ -211,6 +211,6 @@ UISwipeView继承UIViewGroup,除提供容器类组件Add、Remove、Insert等 4. 检查button组件布局效果如下图所示。 **图 3** 设置2\*2网格并添加4个button组件进行布局 - ![](figures/设置2-2网格并添加4个button组件进行布局.png "设置2-2网格并添加4个button组件进行布局") + ![](figure/设置2-2网格并添加4个button组件进行布局.png "设置2-2网格并添加4个button组件进行布局") diff --git "a/zh-cn/device-dev/subsystems/\346\231\256\351\200\232\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide3.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/subsystems/\346\231\256\351\200\232\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide3.md index 2c417f20a48..d9b0d48c875 --- "a/zh-cn/device-dev/subsystems/\346\231\256\351\200\232\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide3.md @@ -22,7 +22,7 @@ 普通组件均继承于基类UIView,不可以添加子组件,常用的普通组件有button、image、label等。 **图 1** 普通组件树结构 -![](figures/普通组件树结构.png "普通组件树结构") +![](figure/普通组件树结构.png "普通组件树结构") UIView为基础类,UIAbstractProgress、UIArcLabel(旋转字体)、UIButton(按键)、UICanvas(画布)、UILabel(字体)、UIImageView(图片)从UIView继承。UIBoxProgress、UICircleProgress从UIAbstractProgress继承,UILabelButton和UIRepeatButton从UIButton继承,UIImageAnimatorView和UITextureMapper从UIImageView继承。 @@ -126,7 +126,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查Button点击效果如下图所示,Button逐渐变大。 **图 2** UIButton点击效果 - ![](figures/UIButton点击效果.gif "UIButton点击效果") + ![](figure/UIButton点击效果.gif "UIButton点击效果") ## UIImageView @@ -212,7 +212,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 3. 检查UIImageView控件大小与图片相同。 **图 3** 自适应模式图片效果图 - ![](figures/自适应模式图片效果图.png "自适应模式图片效果图") + ![](figure/自适应模式图片效果图.png "自适应模式图片效果图") ## 开发步骤(平铺模式) @@ -240,7 +240,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查UIImageView控件显示为平铺效果。 **图 4** 平铺模式图片效果图 - ![](figures/平铺模式图片效果图.png "平铺模式图片效果图") + ![](figure/平铺模式图片效果图.png "平铺模式图片效果图") ## UILabel @@ -398,7 +398,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查label大小和显示效果正常,如下图所示。 - ![](figures/zh-cn_image_0000001051782526.png) + ![](figure/zh-cn_image_0000001051782526.png) ## 开发步骤(背景色和透明度) @@ -427,7 +427,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查label背景色为Gray,如下图所示。 - ![](figures/zh-cn_image_0000001052582522.png) + ![](figure/zh-cn_image_0000001052582522.png) ## 开发步骤(字符间距) @@ -456,7 +456,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查label字符间距为5,如下图所示。 - ![](figures/zh-cn_image_0000001052942531.png) + ![](figure/zh-cn_image_0000001052942531.png) ## 开发步骤(大小自适应) @@ -487,7 +487,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查label大小自适应文本内容,如下图所示。 - ![](figures/zh-cn_image_0000001052782555.png) + ![](figure/zh-cn_image_0000001052782555.png) ## 开发步骤(省略号模式) @@ -518,7 +518,7 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查label DOT模式效果,如下图所示,末尾显示省略号。 - ![](figures/zh-cn_image_0000001052662559.png) + ![](figure/zh-cn_image_0000001052662559.png) ## 开发步骤(滚动模式) @@ -550,6 +550,6 @@ UIButton组件,提供可点击功能,同时可设置不同状态下样式。 4. 检查label滚动模式效果,如下图所示。 - ![](figures/20200721-223604(eSpace).gif) + ![](figure/20200721-223604(eSpace).gif) diff --git "a/zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-graphics-overview.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-graphics-overview.md diff --git a/zh-cn/device-dev/subsystems/subsys-graphics.md b/zh-cn/device-dev/subsystems/subsys-graphics.md new file mode 100644 index 00000000000..bb255fa159a --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-graphics.md @@ -0,0 +1,13 @@ +# 图形图像 + +- **[图形图像概述](subsys-graphics-overview.md)** + +- **[容器类组件开发指导](subsys-graphics-bundle-guide1.md)** + +- **[布局容器类组件开发指导](subsys-graphics-bundle-guide2.md)** + +- **[普通组件开发指导](subsys-graphics-bundle-guide3.md)** + +- **[动画开发指导](subsys-graphics-animation-guide.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\347\233\270\346\234\272\345\274\200\345\217\221\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md old mode 100755 new mode 100644 similarity index 97% rename from "zh-cn/device-dev/subsystems/\347\233\270\346\234\272\345\274\200\345\217\221\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md index 65801b39bcc..75b2033e9c7 --- "a/zh-cn/device-dev/subsystems/\347\233\270\346\234\272\345\274\200\345\217\221\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md @@ -90,7 +90,7 @@ 类似的,用户也可以自行创建Surface传递给Camera实例,并实现消费者逻辑(例如通过网络传输视频流,或是将拍照的帧数据保存成图片文件)。 - 图形图像模块也通过Surface从Camera获取流资源,具体步骤详见[图形图像开发指导](图形图像概述.md)。 + 图形图像模块也通过Surface从Camera获取流资源,具体步骤详见[图形图像开发指导](subsys-graphics-overview.md)。 - 相机运行流程 1. Camera创建流程 @@ -100,7 +100,7 @@ **图 1** Camera创建时序图 - ![](figures/zh-cn_image_0000001054101094.png) + ![](figure/zh-cn_image_0000001054101094.png) 1. Camera录像/预览流程 @@ -110,7 +110,7 @@ **图 2** Camera录像/预览时序图 - ![](figures/zh-cn_image_0000001054421113.png) + ![](figure/zh-cn_image_0000001054421113.png) diff --git "a/zh-cn/device-dev/subsystems/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/subsystems/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md index 2b376199130..0e1ebbfecfc --- "a/zh-cn/device-dev/subsystems/\346\213\215\347\205\247\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md @@ -385,6 +385,7 @@ Surface *surface = Surface::CreateSurface(); if (surface == nullptr) { delete fc; + return; } surface->SetWidthAndHeight(1920, 1080); /* 1920:width,1080:height */ fc->AddSurface(*surface); diff --git "a/zh-cn/device-dev/subsystems/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-preview-guide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-camera-preview-guide.md diff --git "a/zh-cn/device-dev/subsystems/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-record-guide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\275\225\345\203\217\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-camera-record-guide.md diff --git a/zh-cn/device-dev/subsystems/subsys-multimedia-camera.md b/zh-cn/device-dev/subsystems/subsys-multimedia-camera.md new file mode 100644 index 00000000000..ad7796b6926 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-multimedia-camera.md @@ -0,0 +1,11 @@ +# 相机 + +- **[相机开发概述](subsys-multimedia-camera-overview.md)** + +- **[拍照开发指导](subsys-multimedia-camera-photo-guide.md)** + +- **[录像开发指导](subsys-multimedia-camera-record-guide.md)** + +- **[预览开发指导](subsys-multimedia-camera-preview-guide.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\345\274\200\345\217\221\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-video-overview.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\345\274\200\345\217\221\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-video-overview.md diff --git "a/zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\346\222\255\346\224\276\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-video-play-guide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\346\222\255\346\224\276\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-video-play-guide.md diff --git "a/zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\345\275\225\345\210\266\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-multimedia-video-record-guide.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221\345\275\225\345\210\266\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia-video-record-guide.md diff --git a/zh-cn/device-dev/subsystems/subsys-multimedia-video.md b/zh-cn/device-dev/subsystems/subsys-multimedia-video.md new file mode 100644 index 00000000000..2a597652806 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-multimedia-video.md @@ -0,0 +1,9 @@ +# 音视频 + +- **[音视频开发概述](subsys-multimedia-video-overview.md)** + +- **[音视频播放开发指导](subsys-multimedia-video-play-guide.md)** + +- **[音视频录制开发指导](subsys-multimedia-video-record-guide.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\345\252\222\344\275\223.md" b/zh-cn/device-dev/subsystems/subsys-multimedia.md old mode 100755 new mode 100644 similarity index 36% rename from "zh-cn/device-dev/subsystems/\345\252\222\344\275\223.md" rename to zh-cn/device-dev/subsystems/subsys-multimedia.md index c76c3a1f71a..50fb9b91f2f --- "a/zh-cn/device-dev/subsystems/\345\252\222\344\275\223.md" +++ b/zh-cn/device-dev/subsystems/subsys-multimedia.md @@ -1,7 +1,7 @@ # 媒体 -- **[相机](相机.md)** +- **[相机](subsys-multimedia-camera.md)** -- **[音视频](音视频.md)** +- **[音视频](subsys-multimedia-video.md)** diff --git "a/zh-cn/device-dev/subsystems/OTA\345\215\207\347\272\247.md" b/zh-cn/device-dev/subsystems/subsys-ota-guide.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/subsystems/OTA\345\215\207\347\272\247.md" rename to zh-cn/device-dev/subsystems/subsys-ota-guide.md index 0423c0b6122..8b797846832 --- "a/zh-cn/device-dev/subsystems/OTA\345\215\207\347\272\247.md" +++ b/zh-cn/device-dev/subsystems/subsys-ota-guide.md @@ -35,7 +35,7 @@ OTA(Over the Air)提供对设备远程升级的能力,可以让您的设 **图 1** 生成公私钥对 - ![](figures/zh-cn_image_0000001060200050.png) + ![](figure/zh-cn_image_0000001060200050.png) 4. 用public\_arr.txt里面的全部内容替换OTA模块base\\update\\ota\_lite\\frameworks\\source\\verify\\hota\_verify.c中的g\_pubKeyBuf 。 @@ -87,7 +87,7 @@ OTA(Over the Air)提供对设备远程升级的能力,可以让您的设 **图 2** 原始镜像归放位置 - ![](figures/zh-cn_image_0000001061889268.png) + ![](figure/zh-cn_image_0000001061889268.png) **表 1** 升级包内的文件 @@ -166,7 +166,7 @@ OTA(Over the Air)提供对设备远程升级的能力,可以让您的设 **图 3** 升级包制作工具 - ![](figures/zh-cn_image_0000001059334449.png) + ![](figure/zh-cn_image_0000001059334449.png) ## 上传升级包 diff --git "a/zh-cn/device-dev/subsystems/\345\210\206\345\270\203\345\274\217\350\277\234\347\250\213\345\220\257\345\212\250.md" b/zh-cn/device-dev/subsystems/subsys-remote-start.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\210\206\345\270\203\345\274\217\350\277\234\347\250\213\345\220\257\345\212\250.md" rename to zh-cn/device-dev/subsystems/subsys-remote-start.md diff --git "a/zh-cn/device-dev/subsystems/IPC\351\200\232\344\277\241\351\211\264\346\235\203\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-security-communicationverify.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/IPC\351\200\232\344\277\241\351\211\264\346\235\203\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-security-communicationverify.md diff --git "a/zh-cn/device-dev/subsystems/\346\246\202\350\277\260-7.md" b/zh-cn/device-dev/subsystems/subsys-security-overview.md similarity index 95% rename from "zh-cn/device-dev/subsystems/\346\246\202\350\277\260-7.md" rename to zh-cn/device-dev/subsystems/subsys-security-overview.md index 45d0d326761..5c47b308081 100644 --- "a/zh-cn/device-dev/subsystems/\346\246\202\350\277\260-7.md" +++ b/zh-cn/device-dev/subsystems/subsys-security-overview.md @@ -28,7 +28,7 @@ OpenHarmony安全子系统目前提供给开发者的安全能力主要包含应 - Samgr - Samgr\(System Ability M2anager\)系统能力管理,在OpenHarmony上作为一个管理系统能力的模块,详见系统服务框架子系统。 + Samgr\(System Ability Manager\)系统能力管理,在OpenHarmony上作为一个管理系统能力的模块,详见系统服务框架子系统。 - BMS diff --git "a/zh-cn/device-dev/subsystems/\345\272\224\347\224\250\346\235\203\351\231\220\347\256\241\347\220\206\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-security-rightmanagement.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/subsystems/\345\272\224\347\224\250\346\235\203\351\231\220\347\256\241\347\220\206\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-security-rightmanagement.md index 127a7f17566..37f3cdbbf7c --- "a/zh-cn/device-dev/subsystems/\345\272\224\347\224\250\346\235\203\351\231\220\347\256\241\347\220\206\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-security-rightmanagement.md @@ -93,7 +93,7 @@
    ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >静态权限:应用安装时由系统授予的权限,对应于权限敏感级别的system\_grant >动态权限:应用在运行过程中需要用户授权的权限,对应于权限敏感级别的user\_grant diff --git "a/zh-cn/device-dev/subsystems/\345\272\224\347\224\250\351\252\214\347\255\276\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-security-sigverify.md old mode 100755 new mode 100644 similarity index 99% rename from "zh-cn/device-dev/subsystems/\345\272\224\347\224\250\351\252\214\347\255\276\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-security-sigverify.md index 8c5e78070f8..a7e2f85b64e --- "a/zh-cn/device-dev/subsystems/\345\272\224\347\224\250\351\252\214\347\255\276\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-security-sigverify.md @@ -27,7 +27,7 @@ **图 1** 经过签名的Hap包结构 -![](figures/安全子系统.png) +![](figure/安全子系统.png) 整个验签流程,主要分为三部分:整包验签、描述文件签名块验签,以及描述文件内容校验。 diff --git a/zh-cn/device-dev/subsystems/subsys-security.md b/zh-cn/device-dev/subsystems/subsys-security.md new file mode 100644 index 00000000000..1a0b0eb1014 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-security.md @@ -0,0 +1,11 @@ +# 安全 + +- **[概述](subsys-security-overview.md)** + +- **[应用验签开发指导](subsys-security-sigverify.md)** + +- **[应用权限管理开发指导](subsys-security-rightmanagement.md)** + +- **[IPC通信鉴权开发指导](subsys-security-communicationverify.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\346\265\213\350\257\225.md" b/zh-cn/device-dev/subsystems/subsys-testguide-test.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/subsystems/\346\265\213\350\257\225.md" rename to zh-cn/device-dev/subsystems/subsys-testguide-test.md index ee62074e9be..2403929934b --- "a/zh-cn/device-dev/subsystems/\346\265\213\350\257\225.md" +++ b/zh-cn/device-dev/subsystems/subsys-testguide-test.md @@ -61,12 +61,12 @@ - 测试平台架构图如下: **图 1** 测试平台架构 -![](figures/测试平台架构.png "测试平台架构") +![](figure/测试平台架构.png "测试平台架构") - 测试平台运行时序图如下: **图 2** 测试平台运行时序 -![](figures/测试平台运行时序.png "测试平台运行时序") +![](figure/测试平台运行时序.png "测试平台运行时序") - 测试平台运行原理 @@ -303,7 +303,7 @@ }; ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >测试用例规范 >- 命名规范 > 测试用例源文件名称和测试套内容保持一致,测试套与用例之间关系1:N,测试套与测试源文件之间关系1:1,每个源文件全局唯一,格式:\[特性\]\_\[功能\]\_\[子功能1\]\_\[子功能1.1\],子功能支持向下细分。 @@ -311,7 +311,7 @@ >- 测试用例编码规范 > 开发者测试用例原则上与特性代码编码规范保持一致,另外需要添加必要的用例描述信息,详见[•自测试用例模板](#li2069415903917)。 >- 测试用例编译配置规范 - > 测试用例采用GN方式编译,配置遵循本开源项目的[编译指导](../quick-start/概述.md)。 + > 测试用例采用GN方式编译,配置遵循本开源项目的[编译指导](subsys-build-mini-lite.md)。 >- 测试用例模板 > 详见测试demo用例:developertest/examples/lite/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp @@ -354,7 +354,7 @@ } ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >- @tc.name:用例名称,对测试目的简要描述。 >- @tc.desc:描述用例详细描述,包括测试目的、测试步骤、期望结果等。 >- @tc.type:测试属性分类(FUNC、PERF、SECU、RELI)。 @@ -486,13 +486,13 @@ 5. 在测试用例的编译配置文件中定义resource\_config\_file,用来指定对应的资源文件ohos\_test.xml。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >如上资源文件功能:将resource目录下的test.txt文件通过hdc push命令推送到被测设备的/data/test/resource目录下。 7. 以上步骤完成即完成测试用例编写,即可执行测试用例。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >- 支持hdc连接的设备,测试用例支持单独编译。 >- 仅支持串口连接的设备,在代码根路径下执行编译debug版本的命令,即可编译测试用例。 > 测试用例用例的执行详见[测试平台使用](#section76401945124810)。 @@ -567,7 +567,7 @@ ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >测试用例的编译参数说明如下: >example:是否编译测试用例示例,默认false。 >version:是否编译测试版本,默认false。 @@ -598,7 +598,7 @@ ``` - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >开发板配置信息如下: >board\_series:开发板系列,默认hispark。 >board\_type:开发板类型,默认taurus。 diff --git "a/zh-cn/device-dev/subsystems/bytrace\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-toolchain-bytrace-guide.md similarity index 95% rename from "zh-cn/device-dev/subsystems/bytrace\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-toolchain-bytrace-guide.md index 3933aebf5e5..2c443396aca 100644 --- "a/zh-cn/device-dev/subsystems/bytrace\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-toolchain-bytrace-guide.md @@ -1,18 +1,14 @@ # bytrace使用指导 - [简介](#section11388623181619) -- [命令行开发指导](#section1595564317164) - - [bytrace命令](#section2344125731617) - - [bytrace命令使用举例](#section5402591174) - +- [开发指导](#section1595564317164) +- [使用实例](#section667273201818) ## 简介 bytrace是开发人员用于追踪进程轨迹、分析性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。通过该工具可以打开想要查看的用户态和内核label(通过下面命令行bytrace -l,查看支持的所有label),然后通过命令行进行抓取trace信息到指定文件中。 -## 命令行开发指导 - -### bytrace命令 +## 开发指导 bytrace当前支持以下命令: @@ -83,7 +79,7 @@ bytrace当前支持以下命令:
    -### bytrace命令使用举例 +## 使用实例 以下是常用bytrace命令示例,供开发者参考: diff --git "a/zh-cn/device-dev/subsystems/hdc_std-\344\275\277\347\224\250\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md similarity index 93% rename from "zh-cn/device-dev/subsystems/hdc_std-\344\275\277\347\224\250\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md index d4993fb7b51..93b76538939 100644 --- "a/zh-cn/device-dev/subsystems/hdc_std-\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md @@ -2,13 +2,17 @@ - [环境准备](#section05992022154916) - [注意事项](#section19543134915210) -- [全局option](#section618522925119) -- [查询设备列表](#section174891132104218) +- [option相关的命令](#section618522925119) +- [查询设备列表的命令](#section174891132104218) - [服务进程相关命令](#section680531510497) - [网络相关的命令](#section71176123212) - [文件相关的命令](#section173133523013) - [应用相关的命令](#section2072647133819) - [调试相关的命令](#section112861250195015) +- [常见问题](#section592920255582) + - [hdc\_std连接不到设备](#section74019384588) + - [hdc\_std运行不了](#section63291491267) + hdc\_std(OpenHarmony Device Connector)是OpenHarmony为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux等系统上与开发机或者模拟器进行交互。 @@ -28,32 +32,21 @@ hdc\_std(OpenHarmony Device Connector)是OpenHarmony为开发人员提供的 ## 注意事项 -1、使用hdc\_std,如果出现异常,可以尝试通过hdc\_std kill命令杀掉hdc\_std服务,或者通过hdc\_std start -r命令重启服务进程进行解决。 - -2、如果出现hdc\_std list targets获取不到设备信息,通过任务管理器查看是否有hdc.exe进程存在,如果进程存在,可以通过杀掉该进程进行解决。 +- 使用hdc\_std,如果出现异常,可以尝试通过hdc\_std kill命令杀掉hdc\_std服务,或者通过hdc\_std start -r命令重启服务进程进行解决。 +- 如果出现hdc\_std list targets获取不到设备信息,通过任务管理器查看是否有hdc.exe进程存在,如果进程存在,可以通过杀掉该进程进行解决。 -## 全局option +## option相关的命令 -全局option涉及以下命令: +option涉及以下命令: -- **-h/help -v/version** +**-h/help -v/version** 用于显示hdc相关的帮助、版本信息。 **表 1** 命令说明 - - - - - - -

    参数

    -

    参数说明

    -

    -h/help -v/version

    -

    -

    返回值

    + @@ -72,7 +65,7 @@ hdc\_std -h / hdc\_std help hdc\_std -v / hdc\_std version -- **-t key** +**-t key** 用于连接指定设备标识为key的设备。 @@ -112,10 +105,10 @@ hdc\_std list targets (获取设备信息) hdc\_std -t _key_ shell (-t后面添加的_key_ 需要替换为上面查询的设备信息) ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >一台开发机可支持多个设备连接,每个设备有其唯一的设备标识,如果通过网络与设备连接,其标识为tcp:port格式,如果通过usb连接则标识为设备sn号。该命令需要跟随具体操作命令。 -## 查询设备列表 +## 查询设备列表的命令 查询设备列表涉及以下命令: @@ -161,7 +154,7 @@ hdc\_std list targets -v 服务进程涉及以下命令: -- **target mount** +**target mount** 以读写模式挂载/system等分区。 @@ -197,7 +190,7 @@ hdc\_std list targets -v hdc\_std target mount -- **smode \[off\]** +**smode \[off\]** 授予后台服务进程root权限, 使用off参数取消授权。 @@ -207,7 +200,7 @@ hdc\_std smode hdc\_std smode off -- **kill \[-r\]** +**kill \[-r\]** 终止服务进程。 @@ -243,7 +236,7 @@ hdc\_std smode off hdc\_std kill -- **start \[-r\]** +**start \[-r\]** 启动服务进程。 @@ -281,7 +274,7 @@ hdc\_std start 网络部分涉及以下命令: -- **tconn _host_\[:_port_\]\[-remove\]** +**tconn host\[:port\]\[-remove\]** 通过【ip地址:端口号】来指定连接的设备 @@ -322,7 +315,7 @@ hdc\_std start hdc\_std tconn 192.168.0.100:8710 -- **tmode usb** +**tmode usb** 执行后设备端对应daemon进程重启,并首先选用usb连接方式。 @@ -358,7 +351,7 @@ hdc\_std tconn 192.168.0.100:8710 hdc\_std tmode usb -- **tmode port _port-number_** +**tmode port port-number** 执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备再选择usb连接。 @@ -394,14 +387,14 @@ hdc\_std tmode usb hdc\_std tmode port 8710 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >执行完毕后,远端daemon将会退出并重启,默认启用TCP连接,如果不加上listen端口则listen随机端口。 ## 文件相关的命令 文件部分涉及以下命令: -- **file send _local remote_** +**file send local remote** 发送文件至远端设备。 @@ -442,7 +435,7 @@ hdc\_std tmode port 8710 hdc\_std file send E:\\a.txt /data/local/tmp/a.txt -- **file recv \[-a\] _remote local_** +**file recv \[-a\] remote local** 从远端设备接收文件至本地。 @@ -492,7 +485,7 @@ hdc\_std file recv /data/local/tmp/a.txt ./a.txt 应用部分涉及以下命令: -- **install \[-r/-d/-g\] _package_** +**install \[-r/-d/-g\] _package_** 安装OpenHarmony package。 @@ -543,7 +536,7 @@ hdc\_std file recv /data/local/tmp/a.txt ./a.txt hdc\_std install _hwadmin.hap_ -- **uninstall \[-k\] _package_** +**uninstall \[-k\] package** 卸载OpenHarmony应用。 @@ -588,7 +581,7 @@ hdc\_std uninstall _package_ 调试涉及以下命令: -- **hilog** +**hilog** 支持抓取log信息。 @@ -622,7 +615,7 @@ hdc\_std uninstall _package_ hdc\_std hilog -- **shell \[_command_\]** +**shell \[_command_\]** 远程执行命令或进入交互命令环境。 @@ -656,3 +649,37 @@ hdc\_std hilog hdc\_std shell +## 常见问题 + +### hdc\_std连接不到设备 + +- **现象描述** + + 执行 "hdc\_std list targets"命令后结果为:\[Empty\] + +- **解决方法** + 1. 设备没有被识别: + + 在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要插拔设备,或者烧写最新的镜像。 + + 2. hdc\_std工作异常: + + 可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。 + + 3. hdc\_std与设备不匹配: + + 如果设备烧写的是最新镜像,hdc\_std也需要使用最新版本。由于hdc\_std会持续更新,请从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。 + + + +### hdc\_std运行不了 + +- **现象描述** + + 点击hdc\_std.exe文件无法运行。 + +- **解决方法** + + hdc\_std.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc\_std命令直接使用。 + + diff --git a/zh-cn/device-dev/subsystems/subsys-toolchain.md b/zh-cn/device-dev/subsystems/subsys-toolchain.md new file mode 100644 index 00000000000..fcf4e3ed14c --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-toolchain.md @@ -0,0 +1,6 @@ +# 研发工具链 + +- [bytrace使用指导](subsys-toolchain-bytrace-guide.md) +- [hdc\_std 使用指导](subsys-toolchain-hdc-guide.md) + + diff --git "a/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\270\270\350\247\201\351\227\256\351\242\230.md" b/zh-cn/device-dev/subsystems/subsys-utils-faqs.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\270\270\350\247\201\351\227\256\351\242\230.md" rename to zh-cn/device-dev/subsystems/subsys-utils-faqs.md diff --git "a/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\274\200\345\217\221\346\214\207\345\257\274.md" b/zh-cn/device-dev/subsystems/subsys-utils-guide.md old mode 100755 new mode 100644 similarity index 98% rename from "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\274\200\345\217\221\346\214\207\345\257\274.md" rename to zh-cn/device-dev/subsystems/subsys-utils-guide.md index 38a64bb9ebb..1cabae57341 --- "a/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ b/zh-cn/device-dev/subsystems/subsys-utils-guide.md @@ -242,7 +242,7 @@ printf("UtilsDeleteValue delete ret = %d\n", ret); - 按照如下目录结构存放文件,res/drawable下面放置资源文件: - ![](figures/unnaming.png) + ![](figure/unnaming.png) - 将上述文件打包生成zip包,修改后缀为.hap,例如Launcher.hap @@ -269,7 +269,7 @@ printf("UtilsDeleteValue delete ret = %d\n", ret); ``` **图 1** LiteOS-M平台dump系统属性输出 - ![](figures/LiteOS-M平台dump系统属性输出.png "LiteOS-M平台dump系统属性输出") + ![](figure/LiteOS-M平台dump系统属性输出.png "LiteOS-M平台dump系统属性输出") ### Dump系统属性在LiteOS-A内核平台使用指南: @@ -293,6 +293,6 @@ printf("UtilsDeleteValue delete ret = %d\n", ret); ``` **图 2** LiteOS-A平台dump系统属性输出 - ![](figures/LiteOS-A平台dump系统属性输出.png "LiteOS-A平台dump系统属性输出") + ![](figure/LiteOS-A平台dump系统属性输出.png "LiteOS-A平台dump系统属性输出") diff --git "a/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\346\246\202\350\277\260.md" b/zh-cn/device-dev/subsystems/subsys-utils-overview.md old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200\345\272\223\346\246\202\350\277\260.md" rename to zh-cn/device-dev/subsystems/subsys-utils-overview.md diff --git a/zh-cn/device-dev/subsystems/subsys-utils.md b/zh-cn/device-dev/subsystems/subsys-utils.md new file mode 100644 index 00000000000..28a5d910c28 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-utils.md @@ -0,0 +1,9 @@ +# 公共基础 + +- **[公共基础库概述](subsys-utils-overview.md)** + +- **[公共基础库开发指导](subsys-utils-guide.md)** + +- **[公共基础库常见问题](subsys-utils-faqs.md)** + + diff --git "a/zh-cn/device-dev/subsystems/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237\345\274\200\345\217\221\346\214\207\345\215\227.md" b/zh-cn/device-dev/subsystems/subsys-xts-guide.md old mode 100755 new mode 100644 similarity index 94% rename from "zh-cn/device-dev/subsystems/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237\345\274\200\345\217\221\346\214\207\345\215\227.md" rename to zh-cn/device-dev/subsystems/subsys-xts-guide.md index b5e511362a0..1240c60b9d6 --- "a/zh-cn/device-dev/subsystems/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237\345\274\200\345\217\221\346\214\207\345\215\227.md" +++ b/zh-cn/device-dev/subsystems/subsys-xts-guide.md @@ -12,7 +12,10 @@ - [C++语言用例执行指导(适用于小型系统、标准系统用例开发)](#section128222336544) - [JS语言用例开发指导(适用于标准系统)](#section159801435165220) - [JS语言用例编译打包指导(适用于标准系统)](#section445519106559) + - [\#ZH-CN\_TOPIC\_0000001126156429/section191521423950](#section191521423950) +- [全量编译指导(适用于标准系统)](#section1519992743415) +- [全量用例执行指导(适用于小型系统、标准系统)](#section118149111426) ## 简介 @@ -346,7 +349,7 @@ OpenHarmony支持如下几种系统类型: 随版本编译,debug版本编译时会同步编译acts测试套件 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >acts测试套件编译中间件为静态库,最终链接到版本镜像中 。 @@ -479,7 +482,7 @@ OpenHarmony支持如下几种系统类型: 随版本编译,debug版本编译时会同步编译acts测试套件 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >小型系统acts独立编译成可执行文件(bin格式), 在编译产物的suites\\acts目录下归档。 @@ -646,3 +649,67 @@ OpenHarmony支持如下几种系统类型: hap包编译请参考[标准系统js应用开发指导](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/build_overview-0000001055075201)。 +## 全量编译指导(适用于标准系统) + +1. 全量编译 + + **命令**: + + ``` + ./build.sh suite=acts system_size=standard + ``` + + **测试用例输出目录**:out/release/suites/acts/testcases + + **测试框架&用例整体输出目录:**out/release/suites/acts(编译用例时会同步编译测试套执行框架) + + +## 全量用例执行指导(适用于小型系统、标准系统) + +**搭建测试环境** + +Windows工作台下安装python3.7及以上版本,确保工作台和测试设备正常连接。 + +**测试执行目录**(对应编译生成的out/release/suites/acts目录) + +``` +├── testcase # 测试套文件存放目录 +│ └──xxx.hap # 测试套可执行hap文件 +│ └──xxx.json # 测试套对应执行配置文件 +├── tools # 测试框架工具目录 +├── run.bat # window平台测试套启动执行文件 +├── report # 测试报告生成目录 +``` + +**用例执行** + +1. 在Windows工作台上,找到从Linux服务器上拷贝下来的测试套件用例目录\(对应编译生成的out/release/suites/acts目录\),在Windows命令窗口进入对应目录,直接执行acts\\run.bat。 + +1. 界面启动后,输入用例执行指令。 + + - 全量执行 + + ``` + run acts + ``` + + ![](figure/zh-cn_image_0000001119924146.gif) + + + - 模块执行\(具体模块可以查看\\acts\\testcases\\\) + + ``` + run –l ActsSamgrTest + ``` + + ![](figure/zh-cn_image_0000001166643927.jpg) + + + 等待执行完成。 + + +1. 查看测试报告。 + + 进入acts\\reports\\,获取当前的执行记录,打开“summary\_report.html”可以获取到测试报告。 + + diff --git a/zh-cn/device-dev/subsystems/subsys.md b/zh-cn/device-dev/subsystems/subsys.md new file mode 100644 index 00000000000..d4d48224367 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys.md @@ -0,0 +1,33 @@ +# 子系统开发指南 + +- **[编译构建](subsys-build.md)** + +- **[分布式远程启动](subsys-remote-start.md)** + +- **[图形图像](subsys-graphics.md)** + +- **[媒体](subsys-multimedia.md)** + +- **[公共基础](subsys-utils.md)** + +- **[AI框架](subsys-aiframework.md)** + +- **[Sensor服务](subsys-densor.md)** + +- **[用户程序框架](subsys-application-framework.md)** + +- **[OTA升级](subsys-ota-guide.md)** + +- **[安全](subsys-security.md)** + +- **[启动恢复](subsys-boot.md)** + +- **[测试](subsys-testguide-test.md)** + +- **[DFX](subsys-dfx.md)** + +- **[HiSysEvent订阅指导](subsys-dfx-hisyseventread.md)** + +- **[XTS认证子系统开发指南](subsys-xts-guide.md)** + + diff --git "a/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200.md" "b/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200.md" deleted file mode 100755 index 5a9dc698745..00000000000 --- "a/zh-cn/device-dev/subsystems/\345\205\254\345\205\261\345\237\272\347\241\200.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 公共基础 - -- **[公共基础库概述](公共基础库概述.md)** - -- **[公共基础库开发指导](公共基础库开发指导.md)** - -- **[公共基础库常见问题](公共基础库常见问题.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215.md" "b/zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215.md" deleted file mode 100755 index 0514d4bd500..00000000000 --- "a/zh-cn/device-dev/subsystems/\345\220\257\345\212\250\346\201\242\345\244\215.md" +++ /dev/null @@ -1,17 +0,0 @@ -# 启动恢复 - -- **[启动恢复子系统概述](启动恢复子系统概述.md)** - -- **[init启动引导组件](init启动引导组件.md)** - -- **[appspawn应用孵化组件](appspawn应用孵化组件.md)** - -- **[bootstrap服务启动组件](bootstrap服务启动组件.md)** - -- **[syspara系统属性组件](syspara系统属性组件.md)** - -- **[常见问题](常见问题.md)** - -- **[参考](参考.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217.md" "b/zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217.md" deleted file mode 100755 index 08422282d6c..00000000000 --- "a/zh-cn/device-dev/subsystems/\345\233\276\345\275\242\345\233\276\345\203\217.md" +++ /dev/null @@ -1,13 +0,0 @@ -# 图形图像 - -- **[图形图像概述](图形图像概述.md)** - -- **[容器类组件开发指导](容器类组件开发指导.md)** - -- **[布局容器类组件开发指导](布局容器类组件开发指导.md)** - -- **[普通组件开发指导](普通组件开发指导.md)** - -- **[动画开发指导](动画开发指导.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\345\256\211\345\205\250.md" "b/zh-cn/device-dev/subsystems/\345\256\211\345\205\250.md" deleted file mode 100755 index 88ce479aa01..00000000000 --- "a/zh-cn/device-dev/subsystems/\345\256\211\345\205\250.md" +++ /dev/null @@ -1,13 +0,0 @@ -# 安全 - -- **[概述](概述-7.md)** - -- **[应用验签开发指导](应用验签开发指导.md)** - -- **[应用权限管理开发指导](应用权限管理开发指导.md)** - -- **[IPC通信鉴权开发指导](IPC通信鉴权开发指导.md)** - -- **[可信设备群组管理开发指导](可信设备群组管理开发指导.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213-6.md" "b/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213-6.md" deleted file mode 100755 index 39c2377cd40..00000000000 --- "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\345\256\236\344\276\213-6.md" +++ /dev/null @@ -1,112 +0,0 @@ -# 开发实例 - -- [去电开发实例](#section286643718507) -- [来电开发实例](#section3205350105014) - -## 去电开发实例 - -去电的调用流程示例如下图所示: - -**图 1** 去电调用流程图 - - -![](figures/去电.png) - -当应用触发去电动作时,RIL Adapter会接收到拨打电话的请求,OnRequest\(\)会根据拨打电话请求ID调用拨打电话的接口。在该接口里会把电话服务传过来的数据封装为对应的AT指令发送到Modem,Modem执行完拨号命令后通过OnRequestResponse\(\)接口把响应结果上报给RIL Adapter。 - -``` -#include -#include -#include -#include -#include "atchannel.h" -#include "at_tok.h" -#include "hdf_log.h" -#include "ril.h" - -static void OnRequest(int request, void *data, size_t datalen, RIL_Token token) -{ - HDF_LOGI("OnRequest request = %{public}d start \n", request); - switch (request) { - case HREQ_CALL_DIAL: - SendDialRequest(data, datalen, token); - break; - …… - default: - break; - } -} - -// 将去电ID和参数转换成对应的AT命令,通过send_at_request发送给Modem -static void SendDialRequest(void *data, size_t datalen __unused, RIL_Token token) -{ - char *atCmd; - const char *clir; - int ret; - DialInfo *pDial; - pDial = (DialInfo *) data; - - if (!strncmp(pDial->address, "*31#", 4)) { - HDF_LOGI("clir suppression"); - clir = "i"; - num = (char *)&(pDial->address[4]); - } else if (!strncmp(pDial->address, "#31#", 4)) { - HDF_LOGI("clir invocation"); - clir = "I"; - num = (char *)&(pDial->address[4]); - } else { - HDF_LOGI("set clir state to default"); - clir = ""; - num = (char *)pDial->number; - } - - asprintf(&atCmd, "ATD%s%s;", pDial->address, clir); - ret = send_at_request(atCmd, NULL); - free(atCmd); - // 命令执行完成后调用该接口,将Modem执行的结果反馈给RIL Adapter - OnRequestResponse(t, RIL_RESULT_SUCCESS, NULL, 0); -} -``` - -## 来电开发实例 - -来电的调用流程示例如下图所示: - -**图 2** 来电调用流程图 - - -![](figures/来电.png) - -Modem设备节点读取线程s\_tid\_read会循环读取Modem上报的消息,当Modem接收到来电时会主动上报来电相关的信息; - -当该线程通过调用OnNotificationResponse\(\)解析到Modem上报的数据是以"+CRING"、"RING"等字符开头时,表示有来电事件,然后通过OnRadioEventNotify\(HNOTI\_CALL\_STATUS, NULL, 0\)上报给RIL Adapter完成来电事件上报。 - -``` -#include -#include "atchannel.h" -#include "at_tok.h" -#include "hdf_log.h" -#include "ril.h" - -bool IsCallStatusUpdated(const char *s) -{ - return (StrBeginWith(s, "+CRING:") - || StrBeginWith(s, "RING") - || StrBeginWith(s, "NO CARRIER") - || StrBeginWith(s, "+CCWA")); -} - -// 将Modem上报数据解析为对应的Modem事件 -static void OnNotificationResponse(const char *s, const char *sms_pdu) -{ - char *line = NULL, *p; - HDF_LOGI("OnNotificationResponse = %{public}s sState = %{public}d", s, sState); - // 解析到以"+CRING:"等字符开头的数据时,转换为来电事件 - if (IsCallStatusUpdated(s)) { - // 通知RIL Adapter有来电事件 - OnRadioEventNotify(HNOTI_CALL_STATUS, NULL, 0); - } - …… -} -``` - diff --git "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274.md" deleted file mode 100755 index 4ef866ea112..00000000000 --- "a/zh-cn/device-dev/subsystems/\345\274\200\345\217\221\346\214\207\345\257\274.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 开发指导 - -为实现AI 引擎框架的接入,开发者需开发上述[图1](AI引擎框架开发指南.md#fig143186187187)中的SDK模块和Plugin模块,通过调用sdk提供的接口,基于AI引擎框架实现调用plugin中算法的能力,从而实现AI能力的生命周期管理和按需部署功能。 - -- **[SDK开发过程](SDK开发过程.md)** - -- **[插件的开发过程](插件的开发过程.md)** - -- **[配置文件的开发过程](配置文件的开发过程.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266.md" "b/zh-cn/device-dev/subsystems/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266.md" deleted file mode 100755 index 14552d89af7..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 用户程序框架 - -- **[概述](概述.md)** - -- **[搭建环境](搭建环境-2.md)** - -- **[开发指导](开发指导-3.md)** - -- **[开发实例](开发实例.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\347\233\270\346\234\272.md" "b/zh-cn/device-dev/subsystems/\347\233\270\346\234\272.md" deleted file mode 100755 index 3b86f53b9bc..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\233\270\346\234\272.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 相机 - -- **[相机开发概述](相机开发概述.md)** - -- **[拍照开发指导](拍照开发指导.md)** - -- **[录像开发指导](录像开发指导.md)** - -- **[预览开发指导](预览开发指导.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\347\240\224\345\217\221\345\267\245\345\205\267\351\223\276.md" "b/zh-cn/device-dev/subsystems/\347\240\224\345\217\221\345\267\245\345\205\267\351\223\276.md" deleted file mode 100644 index 5c490a8cfbd..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\240\224\345\217\221\345\267\245\345\205\267\351\223\276.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 研发工具链 - -- **[bytrace使用指导](bytrace使用指导.md)** - -- **[hdc\_std 使用指导](hdc_std-使用指导.md)** - -- **[hdc\_std常见问题](hdc_std常见问题.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272.md" "b/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272.md" deleted file mode 100755 index b59e4b2a18f..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 编译构建 - -- **[轻量和小型系统编译构建指导](轻量和小型系统编译构建指导.md)** - -- **[标准系统编译构建指导](标准系统编译构建指导.md)** - - diff --git "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274.md" "b/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274.md" deleted file mode 100755 index 8d5f2768177..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\344\275\277\347\224\250\346\214\207\345\257\274.md" +++ /dev/null @@ -1,431 +0,0 @@ -# 编译构建使用指导 - -- [前提条件](#section13333171022312) -- [hb命令行工具使用](#section477242204612) -- [新增组件](#section4207112818418) -- [新增芯片解决方案](#section2737141421917) -- [新增产品解决方案](#section720881917199) - -## 前提条件 - -开发环境需安装gn、ninja构建工具、python 3.7.4及以上和hb。安装方法请见[搭建系统基础环境](../quick-start/搭建系统环境.md)。 - -## hb命令行工具使用 - -hb是OpenHarmony的命令行工具,用来执行编译命令。以下对hb的常用命令进行说明。 - -1. **hb set** - - ``` - hb set -h - usage: hb set [-h] [-root [ROOT_PATH]] [-p] - - optional arguments: - -h, --help show this help message and exit - -root [ROOT_PATH], --root_path [ROOT_PATH] - Set OHOS root path - -p, --product Set OHOS board and kernel - ``` - - - hb set 后无参数,进入默认设置流程 - - hb set -root dir可直接设置代码根目录 - - hb set -p设置要编译的产品 - -2. **hb env** - - 查看当前设置信息 - - ``` - hb env - [OHOS INFO] root path: xxx - [OHOS INFO] board: hispark_taurus - [OHOS INFO] kernel: liteos - [OHOS INFO] product: ipcamera - [OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera - [OHOS INFO] device path: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19 - ``` - -3. **hb build** - - ``` - hb build -h - usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]] - [--dmverity] [-p PRODUCT] [-f] [-n] - [component [component ...]] - - positional arguments: - component name of the component - - optional arguments: - -h, --help show this help message and exit - -b BUILD_TYPE, --build_type BUILD_TYPE - release or debug version - -t [TEST [TEST ...]], --test [TEST [TEST ...]] - compile test suit - --dmverity Enable dmverity - -p PRODUCT, --product PRODUCT - build a specified product with - {product_name}@{company}, eg: ipcamera@hisilcon - -f, --full full code compilation - -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]] - Compile single target - ``` - - - hb build后无参数,会按照设置好的代码路径、产品进行编译,编译选项使用与之前保持一致。-f 选项将删除当前产品所有编译产品,等同于hb clean + hb build. - - hb build \{component\_name\}:基于设置好的产品对应的单板、内核,单独编译组件(e.g.:hb build kv\_store\)。 - - hb build -p ipcamera@hisilicon:免set编译产品,该命令可以跳过set步骤,直接编译产品。 - - 在device/device\_company/board下单独执行hb build会进入内核选择界面,选择完成后会根据当前路径的单板、选择的内核编译出仅包含内核、驱动的镜像。 - -4. **hb clean** - - 清除out目录对应产品的编译产物,仅保留args.gn、build.log。清除指定路径可输入路径参数:hb clean out/board/product,默认将清除当前hb set的产品对应out路径。 - - ``` - hb clean - usage: hb clean [-h] [out_path] - - positional arguments: - out_path clean a specified path. - - optional arguments: - -h, --help show this help message and exit - ``` - - -## 新增组件 - -本小节介绍如何新增一个组件,首先确定组件归属的子系统和组件名称,然后按如下步骤新增: - -1. 源码开发完成后,添加组件编译脚本。 - - 以编译组件hello\_world可执行文件为例,applications/sample/hello\_world/BUILD.gn可以写为: - - ``` - executable("hello_world") { - include_dirs = [ - "include", - ] - sources = [ - "src/hello_world.c" - ] - } - ``` - - 如上编译脚本,可编译出一个可在OpenHarmony上运行的名为hello\_world的可执行文件。 - - 单独编译该组件,hb set任意选择一款产品,然后使用-T选项单独编译组件: - - ``` - hb build -f -T //applications/sample/hello_world - ``` - - 组件在开发板上功能验证完成后,可按步骤2\~5将组件配置到产品中。 - -2. 添加组件描述。 - - 组件描述位于build/lite/components下,新增的组件需加入对应子系统的json文件中。一个组件描述必选的字段有: - - - component:组件名称。 - - description:组件的一句话功能描述。 - - optional:组件是否为系统可选。 - - dirs:组件源码路径。 - - targets:组件编译入口。 - - 以将hello\_world组件加入应用子系统为例,在applications.json中添加hello\_world对象: - - ``` - { - "components": [ - { - "component": "hello_world", - "description": "Hello world.", - "optional": "true", - "dirs": [ - "applications/sample/hello_world" - ], - "targets": [ - "//applications/sample/hello_world" - ] - }, - ... - ] - } - ``` - -3. 将组件配置到产品。 - - 产品的配置文件config.json位于位于vendor/company/product/下,产品配置文件需包含产品名称、OpenHarmony版本号、device厂商、开发板、内核类型、内核版本号,以及配置的子系统和组件。以将hello\_world组件加入产品配置文件my\_product.json中为例,加入hello\_wolrd对象: - - ``` - { - "product_name": "hello_world_test", - "ohos_version": "OpenHarmony 1.0", - "device_company": "hisilicon", - "board": "hispark_taurus", - "kernel_type": "liteos_a", - "kernel_version": "1.0.0", - "subsystems": [ - { - "subsystem": "applications", - "components": [ - { "component": "hello_world", "features":[] } - ] - }, - ... - ] - } - ``` - -4. 编译产品。 - - 1. 代码根目录输入hb set选择对应产品。 - - 2. 执行hb build。 - - -## 新增芯片解决方案 - -编译构建支持添加新的芯片解决方案厂商,具体步骤如下: - -1. 创建芯片解决方案目录。 - - 按照[芯片解决方案配置规则](编译构建概述.md#section1625463413327)创建目录,以芯片厂商realtek的“rtl8720“开发板为例, 在代码根目录执行: - - ``` - mkdir -p device/realtek/rtl8720 - ``` - -2. 创建内核适配目录,并编写开发板编译配置config.gni文件。 - - 以realtek的“rtl8720“开发板的liteos\_m适配为例,device/realtek/rtl8720/liteos\_a/config.gni的内容如下: - - ``` - # Kernel type, e.g. "linux", "liteos_a", "liteos_m". - kernel_type = "liteos_a" - - # Kernel version. - kernel_version = "3.0.0" - - # Board CPU type, e.g. "cortex-a7", "riscv32". - board_cpu = "real-m300" - - # Board arch, e.g. "armv7-a", "rv32imac". - board_arch = "" - - # Toolchain name used for system compiling. - # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. - # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. - board_toolchain = "gcc-arm-none-eabi" - - # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. - board_toolchain_path = - rebase_path("//prebuilts/gcc/linux-x86/arm/gcc-arm-none-eabi/bin", - root_build_dir) - - # Compiler prefix. - board_toolchain_prefix = "gcc-arm-none-eabi-" - - # Compiler type, "gcc" or "clang". - board_toolchain_type = "gcc" - - # Board related common compile flags. - board_cflags = [] - board_cxx_flags = [] - board_ld_flags = [] - ``` - -3. 编写编译脚本。 - - 在开发板目录下创建BUILD.gn,target名称应与开发板名称一致。以realtek的rtl8720开发板为例,device/realtek/rtl8720/BUILD.gn内容可以是: - - ``` - group("rtl8720") { # target类型也可以shared_library, static_library, executable - # 具体内容 - ...... - } - ``` - -4. 编译芯片解决方案。 - - 在开发板目录下执行hb build,即可启动芯片解决方案的编译。 - - -## 新增产品解决方案 - -编译构建支持芯片解决方案和组件的灵活拼装,形成定制化的产品解决方案。具体步骤如下: - -1. 创建产品目录 - - 按照[产品解决方案配置规则](编译构建概述.md#section1625463413327)创建产品目录,以基于“rtl8720“开发板的wifiiot模组为例,在代码根目录执行: - - ``` - mkdir -p vendor/my_company/wifiiot - ``` - -2. 拼装产品 - - 在新建的产品目录下新建config.json文件,以步骤1中的wifiiot为例,vendor/my\_company/wifiiot/config.json可以是: - - ``` - { - "product_name": "wifiiot", # 产品名称 - "ohos_version": "OpenHarmony 1.0", # 使用的OS版本 - "device_company": "realtek", # 芯片解决方案厂商名称 - "board": "rtl8720", # 开发板名称 - "kernel_type": "liteos_m", # 选择的内核类型 - "kernel_version": "3.0.0", # 选择的内核版本 - "subsystems": [ - { - "subsystem": "kernel", # 选择的子系统 - "components": [ - { "component": "liteos_m", "features":[] } # 选择的组件和组件特性 - ] - }, - ... - { - 更多子系统和组件 - } - ] - } - ``` - - 注意:编译构建系统编译前会对device\_company,board,kernel\_type,kernel\_version、subsystem、component字段进行有效性检查,其中device\_company,board,kernel\_type,kernel\_version应与已知的芯片解决方案匹配,subsystem、component应与build/lite/components下的组件描述匹配。 - -3. 适配OS接口 - - 在产品目录下创建hals目录,并将产品解决方案对OS适配的源码和编译脚本放入该目录下。 - -4. 配置系统服务 - - 在产品目录下创建init\_configs目录,并在init\_configs目录下创建init.cfg文件,按需配置要启动的系统服务。 - -5. 配置init进程(仅linux内核需要) - - 在init\_configs目录下创建etc目录,然后在etc下创建init.d文件夹和fstab文件。最后按产品需求在init.d文件下创建并编辑rcS文件和Sxxx文件。 - -6. 配置文件系统镜像(可选,仅支持文件系统的开发板需要) - - 在产品目录下创建fs.yml文件。fs.yml需按产品实际情况配置,一个典型的fs.yml文件如下: - - ``` - - - fs_dir_name: rootfs # 镜像的名称 - fs_dirs: - - - # 将编译生成的out/my_board/my_product/bin目录下的文件拷贝到rootfs/bin中,并忽略测试bin - source_dir: bin - target_dir: bin - ignore_files: - - Test.bin - - TestSuite.bin - - - # 将编译生成的out/my_board/my_product/libs目录下的文件拷贝到rootfs/lib中,忽略所有.a文件,并设置文件和文件夹的权限为644和755 - source_dir: libs - target_dir: lib - ignore_files: - - .a - dir_mode: 755 - file_mode: 644 - - - source_dir: usr/lib - target_dir: usr/lib - ignore_files: - - .a - dir_mode: 755 - file_mode: 644 - - - source_dir: config - target_dir: etc - - - source_dir: system - target_dir: system - - - source_dir: sbin - target_dir: sbin - - - source_dir: usr/bin - target_dir: usr/bin - - - source_dir: usr/sbin - target_dir: usr/sbin - - - # 创建一个proc空目录 - target_dir: proc - - - target_dir: mnt - - - target_dir: opt - - - target_dir: tmp - - - target_dir: var - - - target_dir: sys - - - source_dir: etc - target_dir: etc - - - source_dir: vendor - target_dir: vendor - - - target_dir: storage - - fs_filemode: - - - file_dir: lib/ld-uClibc-0.9.33.2.so - file_mode: 555 - - - file_dir: lib/ld-2.24.so - file_mode: 555 - - - file_dir: etc/init.cfg - file_mode: 400 - fs_symlink: - - - # 在rootfs/lib下创建软连接ld-musl-arm.so.1 -> libc.so - source: libc.so - link_name: ${fs_dir}/lib/ld-musl-arm.so.1 - - - source: mksh - link_name: ${fs_dir}/bin/sh - - - source: mksh - link_name: ${fs_dir}/bin/shell - fs_make_cmd: - # 使用脚本将rootfs制作为ext4格式的image - - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 - - - fs_dir_name: userfs - fs_dirs: - - - source_dir: storage/etc - target_dir: etc - - - source_dir: data - target_dir: data - fs_make_cmd: - - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 - - ``` - -7. 编写编译脚本 - - 在产品目录下创建BUILD.gn文件,按产品实际情况编写脚本。以步骤1中的wifiiot为例,BUILD.gn示例如下: - - ``` - group("wifiiot") { # target名称与产品名一致 - deps = [] - # 拷贝init配置 - deps += [ "init_configs" ] - # 将hals加入编译 - deps += [ "hals" ] - # 其他 - ...... - } - ``` - -8. 编译产品。 - - 在代码根目录执行hb set按提示选择新增的产品,然后执行hb build即可启动编译。 - - diff --git "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\345\270\270\350\247\201\351\227\256\351\242\230.md" deleted file mode 100755 index ca00b242854..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ /dev/null @@ -1,121 +0,0 @@ -# 编译构建常见问题 - -- [由于ninja版本问题导致编译失败](#section1019152312222) -- [由于ncurses库缺失导致编译失败](#section21449422618) -- [由于未安装mcopy导致编译失败](#section12477184992615) -- [由于权限问题导致编译失败](#section178451337202716) -- [由于未安装Crypto导致编译失败](#section1241481172819) -- [由于编译环境为shell导致编译失败](#section3691222152919) - -## 由于ninja版本问题导致编译失败 - -- **现象描述:** - - 编译失败,提示“usr/sbin/ninja: invalid option -- w”。 - -- **可能原因:** - - 编译环境中ninja版本太低,不支持--w选项。 - -- **解决办法:** - - 卸载环境中ninja和gn,按照HarmonyOS官网[获取工具](../get-code/获取工具.md)。 - - -## 由于ncurses库缺失导致编译失败 - -- **现象描述:** - - 编译失败,提示“/usr/bin/ld: cannot find -lncurses”。 - -- **可能原因:** - - 编译环境ncurses库缺失。 - -- **解决办法:** - - ``` - sudo apt-get install lib32ncurses5-dev - ``` - - -## 由于未安装mcopy导致编译失败 - -- **现象描述:** - - ​编译失败,提示“line 77: mcopy: command not found”。 - -- **可能原因:** - - 编译环境未安装mcopy。 - -- **解决办法:** - - ``` - ​sudo apt-get install dosfstools mtools - ``` - - -## 由于权限问题导致编译失败 - -- **现象描述:** - - 编译失败,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。 - -- ​**可能原因:** - - 当前用户对riscv编译器路径下的文件访问权限不够。 - -- ​**解决办法:** - 1. 查询gcc\_riscv32所在目录。 - - ``` - which riscv32-unknown-elf-gcc - ``` - - 2. 使用chmod命令修改目录权限为755。 - - -## 由于未安装Crypto导致编译失败 - -- **现象描述:** - - 编译失败,提示“No module named 'Crypto'”。 - -- **可能原因:** - - python3未安装Crypto。 - -- **解决办法:** - 1. 查询Python版本号。 - - ``` - python3 --version - ``` - - 2. 需使用python3.7以上版本,然后安装pycryptodome。 - - ``` - sudo pip3 install pycryptodome - ``` - - - -## 由于编译环境为shell导致编译失败 - -- **现象描述:** - - 编译失败:“xx.sh \[: xx unexpected operator”。 - -- **可能原因:** - - 编译环境shell不是bash。 - -- **解决办法:** - - ``` - sudo rm -rf /bin/sh - sudo ln -s /bin/bash /bin/sh - ``` - - diff --git "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260-0.md" "b/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260-0.md" deleted file mode 100755 index 1bd7dd28d93..00000000000 --- "a/zh-cn/device-dev/subsystems/\347\274\226\350\257\221\346\236\204\345\273\272\346\246\202\350\277\260-0.md" +++ /dev/null @@ -1,58 +0,0 @@ -# 编译构建概述 - -- [基本概念](#section175012297491) -- [运作机制](#section193961322175011) -- [约束与限制](#section2029921310472) - -编译构建子系统提供了一个基于gn和ninja的编译构建框架。主要提供以下功能: - -- 构建不同芯片平台的产品。如:Hi3516DV300平台。 - -- 根据产品配置可以按照组件组装打包产品需要的能力。 - -## 基本概念 - -在了解编译构建子系统的能力前,应了解如下基本概念: - -- 平台 - - 开发板和内核的组合,不同平台支持的子系统和组件不同。 - -- 子系统 - - OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 \> 子系统 \> 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或组件。子系统是一个逻辑概念,它具体由对应的组件构成。 - -- 组件 - - 对子系统的进一步拆分,可复用的软件单元,它包含源码、配置文件、资源文件和编译脚本;能独立构建,以二进制方式集成,具备独立验证能力的二进制单元。 - -- gn - - Generate ninja的缩写,用于产生ninja文件。 - -- ninja - - ninja是一个专注于速度的小型构建系统。 - - -## 运作机制 - -OpenHarmony侧的编译构建流程主要包括编译命令行解析,调用gn,执行ninja: - -- 命令行解析:解析待编译的产品名称,加载相关配置。 -- 调用gn: 根据命令行解析的产品名称和编译类型,配置编译工具链和全局的编译选项。 -- 执行ninja:启动编译并生成对应的产品版本。 - -## 约束与限制 - -- 需按照[源码获取](../get-code/源码获取.md)指导下载全量源码(采用方式三获取)。 -- 编译环境需要Ubuntu18.04及以上版本。 -- 安装编译所需的程序包。 - - 安装命令: - - ``` - sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 - ``` - - diff --git "a/zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221.md" "b/zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221.md" deleted file mode 100755 index 5f32b5fe501..00000000000 --- "a/zh-cn/device-dev/subsystems/\351\237\263\350\247\206\351\242\221.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 音视频 - -- **[音视频开发概述](音视频开发概述.md)** - -- **[音视频播放开发指导](音视频播放开发指导.md)** - -- **[音视频录制开发指导](音视频录制开发指导.md)** - - diff --git "a/zh-cn/device-dev/\345\257\274\350\257\273.md" "b/zh-cn/device-dev/\345\257\274\350\257\273.md" index c49e621b918..44b738359b4 100644 --- "a/zh-cn/device-dev/\345\257\274\350\257\273.md" +++ "b/zh-cn/device-dev/\345\257\274\350\257\273.md" @@ -48,49 +48,49 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按 - - - - - - - - - - - - - - -

    返回值

    返回值说明

    整体认知OpenHarmony

    +

    获取开发资源

    准备开发前相关资源

    +

    快速入门

    快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行。

    轻量和小型系统入门

    +

    轻量和小型系统快速入门

    基础能力使用

    使用OpenHarmony提供的基础能力

    +

    进阶开发

    结合系统能力开发智能设备

    +

    移植适配

    • 针对特定芯片做移植适配
    • 对三方库进行移植适配
    +

    贡献组件

    OpenHarmony贡献功能组件

    +

    参考

    @@ -118,49 +118,49 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按

    整体认知OpenHarmony

    +

    获取开发资源

    准备开发前相关资源

    +

    快速入门

    快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行。

    标准系统入门

    +

    标准系统快速入门

    基础能力使用

    使用OpenHarmony提供的基础能力

    +

    进阶开发

    结合系统能力开发智能设备

    +

    移植适配

    对三方库进行移植适配

    三方库移植指导

    +

    三方库移植指导

    贡献组件

    OpenHarmony贡献功能组件

    +

    参考

    diff --git a/zh-cn/readme.md b/zh-cn/readme.md index 5d67c93e32f..15528919ed0 100644 --- a/zh-cn/readme.md +++ b/zh-cn/readme.md @@ -4,54 +4,55 @@ ## 文档目录结构 -- [Openharmony概述](OpenHarmony-Overview_zh.md) -- 轻量和小型系统开发指导(参考内存<128MB) +- [Openharmony概述](OpenHarmony-Overview_zh.md) +- 轻量和小型系统开发指导(参考内存<128MB) - 设备开发 - overview:[设备开发导读](device-dev/导读.md) - quick-start:[快速入门](device-dev/quick-start/Readme-CN.md)(搭建环境、获取源码、编译、烧录等) - - 开发基础能力 - - Kernel:[轻量和小型系统内核](device-dev/kernel/轻量和小型系统内核.md) + - Basic Capability:开发基础能力 + - Kernel:[轻量和小型系统内核](device-dev/kernel/kernel-lite.md) - Drivers:[驱动](device-dev/driver/Readme-CN.md) - Subsystems:[子系统](device-dev/subsystems/Readme-CN.md)(编译构建、图形图像、DFX、XTS等子系统) - Security:[隐私与安全](device-dev/security/Readme-CN.md) - - guide:[开发示例](device-dev/guide/Readme-CN.md) - - [WLAN连接类产品](device-dev/guide/WLAN连接类产品.md)(LED外设控制、集成三方SDK) - - [无屏摄像头类产品](device-dev/guide/无屏摄像头类产品.md)(摄像头控制) - - [带屏摄像头类产品](device-dev/guide/带屏摄像头类产品.md)(屏幕和摄像头控制、视觉应用开发) + - guide:开发示例 + - [WLAN连接类产品](device-dev/guide/device-wifi.md)(LED外设控制、集成三方SDK) + - [无屏摄像头类产品](device-dev/guide/device-iotcamera-control.md)(摄像头控制) + - [带屏摄像头类产品](device-dev/guide/device-camera.md)(屏幕和摄像头控制、视觉应用开发) - - porting:[移植适配](device-dev/porting/Readme-CN.md) - - [三方芯片移植指导](device-dev/porting/三方芯片移植指导.md) - - [三方库移植指导](device-dev/porting/三方库移植指导.md) + - porting:移植适配 + - [三方库移植指导](device-dev/porting/transplant-thirdparty.md) + - [轻量系统芯片移植指导](device-dev/porting/transplant-minichip.md) + - [小型系统芯片移植指导](device-dev/porting/transplant-smallchip.md) - - bundles:[组件开发](device-dev/bundles/Readme-CN.md) - - [组件开发规范](device-dev/bundles/组件开发规范.md) - - [组件开发指南](device-dev/bundles/组件开发指南.md) - - [组件开发示例](device-dev/bundles/组件开发示例.md) + - bundles:组件开发 + - [组件开发规范](device-dev/bundles/bundles-standard-rules.md) + - [组件开发指南](device-dev/bundles/bundles-guide.md) + - [组件开发示例](device-dev/bundles/bundles-demo.md) -- 标准系统开发指导(参考内存≥128MB) +- 标准系统开发指导(参考内存≥128MB) - 设备开发 - overview:[设备开发导读](device-dev/导读.md) - - quick-start:[快速入门](device-dev/quick-start/Readme-CN.md)(搭建环境、获取源码、编译、烧录等) - - 开发基础能力 - - Kernel:[标准系统内核](device-dev/kernel/标准系统内核.md) + - quick-start:[快速入门](device-dev/quick-start/quickstart-standard.md)(搭建环境、获取源码、编译、烧录等) + - Basic Capability:开发基础能力 + - Kernel:[标准系统内核](device-dev/kernel/kernel-standard.md) - Drivers:[驱动](device-dev/driver/Readme-CN.md) - Subsystems:[子系统](device-dev/subsystems/Readme-CN.md)(编译构建、图形图像、DFX、XTS等子系统) - Security:[隐私与安全](device-dev/security/Readme-CN.md) - - guide:[开发示例](device-dev/guide/Readme-CN.md) - - [时钟应用](device-dev/guide/时钟应用开发示例.md) - - [平台驱动](device-dev/guide/平台驱动开发示例.md) - - [外设驱动](device-dev/guide/外设驱动开发示例.md) + - guide:开发示例 + - [时钟应用](device-dev/guide/device-clock-guide.md) + - [平台驱动](device-dev/guide/device-drive-demo.md) + - [外设驱动](device-dev/guide/device-outerdrive-demo.md) - - porting:[移植适配](device-dev/porting/Readme-CN.md) + - porting:移植适配 - [三方库移植指导](device-dev/porting/三方库移植指导.md) + [三方库移植指导](device-dev/porting/transplant-thirdparty.md) - - bundles:[组件开发](device-dev/bundles/Readme-CN.md) - - [组件开发规范](device-dev/bundles/组件开发规范.md) - - [组件开发指南](device-dev/bundles/组件开发指南.md) - - [组件开发示例](device-dev/bundles/组件开发示例.md) + - bundles:组件开发 + - [组件开发规范](device-dev/bundles/bundles-standard-rules.md) + - [组件开发指南](device-dev/bundles/bundles-guide.md) + - [组件开发示例](device-dev/bundles/bundles-demo.md) - 应用开发 @@ -61,7 +62,8 @@ - media:[媒体](application-dev/media/Readme-CN.md) - connectivity:[网络与连接](application-dev/connectivity/Readme-CN.md) - js-reference:[JS参考规范](application-dev/js-reference/Readme-CN.md) -- glossary:[术语](device-dev/glossary/术语.md) +- 许可证及版权信息检查工具:[开源合规审查工具](https://gitee.com/openharmony-sig/tools_oat) +- glossary:[术语](device-dev/glossary/glossary.md) ## 版本更新 -- Gitee From 54f1822995fef6a7ec91eff5bfc2af5a2f50e162 Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Tue, 20 Jul 2021 22:06:32 +0800 Subject: [PATCH 02/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/bundles/Readme-EN.md | 31 +- en/device-dev/bundles/bundle-composition.md | 99 -- en/device-dev/bundles/bundle-version.md | 23 - ...t-example.md => bundles-demo-devsample.md} | 2 +- ...tions-1.md => bundles-demo-environment.md} | 12 +- ...tion.md => bundles-demo-hpmdescription.md} | 0 en/device-dev/bundles/bundles-demo.md | 9 + ...evelopment.md => bundles-guide-develop.md} | 13 +- ...verview-0.md => bundles-guide-overview.md} | 96 +- ...eparations.md => bundles-guide-prepare.md} | 8 +- ...lopment-guidelines.md => bundles-guide.md} | 6 +- ...anagement.md => bundles-standard-rules.md} | 377 ++++++- en/device-dev/bundles/bundles.md | 9 + .../bundles/development-specifications.md | 15 - en/device-dev/bundles/distribution.md | 56 - .../bundles/environment-variables.md | 53 - .../en-us_image_0000001051452177.png | Bin .../en-us_image_0000001051770876.png | Bin .../figure/en-us_image_0000001173313501.png | Bin 0 -> 329058 bytes .../hardware-connections-23.png} | Bin .../figure/hardware-connections-24.png | Bin 0 -> 10111 bytes ...ersion-requirement-3-0-4-or-later)-25.png} | Bin .../figure/\347\273\204\344\273\2660924.png" | Bin .../bundles/figures/bundle-dependencies.png | Bin 359473 -> 0 bytes en/device-dev/bundles/hpm-user-guide.md | 9 - en/device-dev/bundles/overview.md | 38 - en/device-dev/driver/Readme-EN.md | 92 +- ...evelopment.md => drive-hdf-development.md} | 18 +- ...tion-management.md => drive-hdf-manage.md} | 6 +- ...hanism-management.md => drive-hdf-news.md} | 2 +- .../{hdfoverview.md => drive-hdf-overview.md} | 0 ...lopment-example.md => drive-hdf-sample.md} | 2 +- ...nagement.md => drive-hdf-servicemanage.md} | 0 en/device-dev/driver/drive-hdf.md | 15 + ...w.md => drive-peripherals-external-des.md} | 419 +++++++- ...xample.md => drive-peripherals-lcd-des.md} | 76 +- ...iew.md => drive-peripherals-sensor-des.md} | 707 ++++++++++++- ...mple.md => drive-peripherals-touch-des.md} | 128 ++- en/device-dev/driver/drive-peripherals.md | 11 + ...idelines.md => drive-platform-gpio-des.md} | 281 ++++- ...uidelines.md => drive-platform-i2c-des.md} | 309 +++++- .../driver/drive-platform-mipidsi-des.md | 554 ++++++++++ ...uidelines.md => drive-platform-rtc-des.md} | 417 ++++++-- ...idelines.md => drive-platform-sdio-des.md} | 441 ++++++-- ...uidelines.md => drive-platform-spi-des.md} | 310 ++++-- ...idelines.md => drive-platform-uart-des.md} | 332 ++++-- ...ines.md => drive-platform-watchdog-des.md} | 306 ++++-- en/device-dev/driver/drive-platform.md | 19 + en/device-dev/driver/drive.md | 9 + en/device-dev/driver/driver-platform.md | 19 - ...chitecture-of-the-display-driver-model.png | Bin ...architecture-of-the-input-driver-model.png | Bin ...rchitecture-of-the-sensor-driver-model.png | Bin .../common-pins-of-the-touchscreen.png | Bin ...i-transmitting-and-receiving-interface.png | Bin .../en-us_image_0000001053405727.png | Bin .../en-us_image_0000001054280608.png | Bin .../en-us_image_0000001054564784.png | Bin .../en-us_image_0000001123509750.png} | Bin .../en-us_image_0000001123514210.png} | Bin .../en-us_image_0000001123540984.png} | Bin .../en-us_image_0000001123582482.png} | Bin .../en-us_image_0000001123675706.png} | Bin .../en-us_image_0000001123703482.png} | Bin .../en-us_image_0000001123742254.png} | Bin .../en-us_image_0000001170187071.png} | Bin .../en-us_image_0000001170227689.png} | Bin .../en-us_image_0000001170229891.png} | Bin .../en-us_image_0000001170262141.png} | Bin .../en-us_image_0000001170383063.png} | Bin .../driver/{figures => figure}/mipi-dsi.png | Bin .../physical-connection-diagram-for-i2c.png | Bin .../{figures => figure}/ttl-interface.png | Bin ...\345\210\206\345\270\203\345\233\2764.png" | Bin en/device-dev/driver/gpio.md | 9 - en/device-dev/driver/gpiooverview.md | 85 -- en/device-dev/driver/gpiousage-example.md | 79 -- en/device-dev/driver/hdf.md | 15 - en/device-dev/driver/i2c-overview.md | 60 -- en/device-dev/driver/i2c-usage-example.md | 192 ---- en/device-dev/driver/i2c.md | 9 - en/device-dev/driver/lcd.md | 9 - .../driver/lcddevelopment-guidelines.md | 23 - en/device-dev/driver/lcdoverview.md | 46 - en/device-dev/driver/mipi-dsi-overview.md | 84 -- en/device-dev/driver/mipi-dsi.md | 9 - en/device-dev/driver/peripherals.md | 11 - .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../driver/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../driver/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes en/device-dev/driver/rtc-overview.md | 103 -- en/device-dev/driver/rtc-usage-example.md | 97 -- en/device-dev/driver/rtc.md | 9 - en/device-dev/driver/sdio.md | 9 - en/device-dev/driver/sdiooverview.md | 149 --- en/device-dev/driver/sdiousage-example.md | 129 --- .../sensor-driver-development-example.md | 583 ---------- .../sensor-driver-development-guidelines.md | 16 - .../driver/sensor-driver-test-guidelines.md | 82 -- en/device-dev/driver/sensor.md | 11 - en/device-dev/driver/spi.md | 9 - en/device-dev/driver/spioverview.md | 107 -- en/device-dev/driver/spiusage-example.md | 70 -- en/device-dev/driver/touchscreen.md | 9 - .../touchscreendevelopment-guidelines.md | 35 - en/device-dev/driver/touchscreenoverview.md | 71 -- en/device-dev/driver/uart.md | 9 - en/device-dev/driver/uartoverview.md | 106 -- en/device-dev/driver/uartusage-example.md | 67 -- en/device-dev/driver/usage-example.md | 98 -- en/device-dev/driver/usage-guidelines.md | 365 ------- en/device-dev/driver/watchdog.md | 9 - en/device-dev/driver/watchdogoverview.md | 78 -- en/device-dev/driver/watchdogusage-example.md | 86 -- en/device-dev/driver/wlan.md | 9 - .../driver/wlandevelopment-example.md | 372 ------- .../driver/wlandevelopment-guidelines.md | 18 - en/device-dev/get-code/Readme-EN.md | 8 +- .../{figures/3.png => figure/3-22.png} | Bin .../en-us_image_0000001101413884.png | Bin .../en-us_image_0000001119755646.png | Bin .../en-us_image_0000001119915556.png | Bin .../en-us_image_0000001166715379.png | Bin ...ker-environment.md => gettools-acquire.md} | 12 +- .../get-code/{ide.md => gettools-ide.md} | 2 +- .../{tool-acquisition.md => gettools.md} | 4 +- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes ...e-acquisition.md => sourcecode-acquire.md} | 44 +- en/device-dev/get-code/sourcecode.md | 5 + en/device-dev/glossary/Readme-EN.md | 4 + en/device-dev/guide/Readme-EN.md | 100 +- ...-the-private-drivers-of-the-touchscreen.md | 99 -- .../guide/building-and-burning-14.md | 17 - en/device-dev/guide/building-and-burning.md | 20 - en/device-dev/guide/camera-control.md | 9 - .../configuring-device-driver-descriptions.md | 64 -- .../guide/configuring-the-touchscreen.md | 98 -- .../guide/debugging-and-verification.md | 5 - .../guide/developing-a-touchscreen-driver.md | 17 - .../development-example-for-clock-apps.md | 15 - ...elopment-example-for-peripheral-drivers.md | 15 - ...evelopment-example-for-platform-drivers.md | 11 - .../guide/development-guidelines-2.md | 9 - ... device-camera-control-demo-photoguide.md} | 1 + ...evice-camera-control-demo-previewguide.md} | 0 ... device-camera-control-demo-videoguide.md} | 0 .../guide/device-camera-control-demo.md | 9 + ...-5.md => device-camera-control-example.md} | 20 +- ...1.md => device-camera-control-overview.md} | 4 +- ...ra-control.md => device-camera-control.md} | 6 +- ...ges.md => device-camera-visual-addpage.md} | 8 +- ...aging.md => device-camera-visual-debug.md} | 2 +- ...age.md => device-camera-visual-details.md} | 8 +- .../{faqs.md => device-camera-visual-faqs.md} | 0 ....md => device-camera-visual-first-page.md} | 12 +- ...-6.md => device-camera-visual-overview.md} | 4 +- ...ons.md => device-camera-visual-prepare.md} | 2 +- ...-device.md => device-camera-visual-run.md} | 6 +- en/device-dev/guide/device-camera-visual.md | 19 + ...eras-with-a-screen.md => device-camera.md} | 4 +- ...development-12.md => device-drive-demo.md} | 102 +- ...e-iotcamera-control-demo-photodevguide.md} | 1 + ...e-iotcamera-control-demo-videodevguide.md} | 0 ...es.md => device-iotcamera-control-demo.md} | 4 +- ...md => device-iotcamera-control-example.md} | 14 +- ...d => device-iotcamera-control-overview.md} | 6 +- .../guide/device-iotcamera-control.md | 9 + ...ithout-a-screen.md => device-iotcamera.md} | 2 +- en/device-dev/guide/device-outerdrive-demo.md | 483 +++++++++ ...pment.md => device-wifi-led-outcontrol.md} | 27 +- ...-sdk-integration.md => device-wifi-sdk.md} | 4 +- ...n-connected-products.md => device-wifi.md} | 4 +- en/device-dev/guide/device.md | 15 + en/device-dev/guide/faqs-10.md | 39 - .../{figures => figure}/adding-a-page.png | Bin .../guide/{figures => figure}/clock.png | Bin .../complete-project-directory.png | Bin .../en-us_image_0000001078563230.png | Bin .../en-us_image_0000001082434703.png | Bin .../en-us_image_0000001169991055.png} | Bin .../entering-the-page-name.png | Bin .../guide/{figures => figure}/home-screen.png | Bin .../{figures => figure}/indicator-bar.png | Bin .../{figures => figure}/led-blinking.gif | Bin .../{figures => figure}/preview-effect.jpg | Bin .../{figures => figure}/project-directory.png | Bin .../guide/{figures => figure}/saved-files.png | Bin ...yed-after-the-exit-command-is-executed.png | Bin ...-the-photographing-command-is-executed.png | Bin ...-after-the-preview-command-is-executed.png | Bin ...fter-the-recording-command-is-executed.png | Bin .../starting-camera_sample.png | Bin .../title-bar-and-information-bar.png | Bin .../guide/{figures => figure}/title-bar.png | Bin .../video_2020-07-25_173141.gif | Bin .../figure/\347\273\230\345\233\2761.png" | Bin .../guide/function-invocation-logic.md | 40 - en/device-dev/guide/hardware-resources.md | 6 - ...and-registering-the-driver-with-the-hdf.md | 4 - ...and-registering-the-driver-with-the-hdf.md | 35 - ...and-registering-the-driver-with-the-hdf.md | 22 - .../input-driver-model-workflow-analysis.md | 18 - en/device-dev/guide/input-driver-model.md | 12 - en/device-dev/guide/led-peripheral-control.md | 9 - ...-develop.md => oem_device_clockapp_des.md} | 290 +++-- en/device-dev/guide/overview-10.md | 26 - en/device-dev/guide/overview-13.md | 9 - en/device-dev/guide/overview-7.md | 15 - en/device-dev/guide/overview.md | 4 - .../parsing-private-configuration-data.md | 17 - en/device-dev/guide/preparations-11.md | 7 - en/device-dev/guide/preparations-8.md | 8 - .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../guide/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../guide/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../guide/running-on-the-device-9.md | 35 - .../guide/setting-up-the-environment.md | 7 - en/device-dev/guide/signing-and-packaging.md | 4 - en/device-dev/guide/startup-log-analysis.md | 19 - en/device-dev/guide/verification.md | 9 - .../guide/visual-application-development.md | 19 - en/device-dev/kernel/Readme-EN.md | 178 ++-- en/device-dev/kernel/commissioning.md | 15 - ...p-of-the-hello-harmony-txt-file-to-100.png | Bin ...y-txt-file-to-100-and-200-respectively.png | Bin ...n-on-the-hello-harmony-txt-file-to-666.png | Bin .../command-output-19.png} | Bin .../{figures => figure}/command-output.png | Bin .../kernel/{figures => figure}/cpu-usage.png | Bin .../{figures => figure}/creating-file-c.png | Bin .../creating-the-share-directory.png | Bin .../deleting-directory-dir.png | Bin .../deleting-the-log1-txt-file.png | Bin .../deleting-the-sd-directory.png | Bin .../directory-switching-result.png | Bin ...laying-the-memory-usage-in-three-units.png | Bin .../en-us_image_0000001051690323.png | Bin .../en-us_image_0000001052370303.png | Bin .../en-us_image_0000001052370305.png | Bin .../en-us_image_0000001052370307.png | Bin .../en-us_image_0000001052530298.png | Bin .../en-us_image_0000001052810300.png | Bin .../en-us_image_0000001052810304.png | Bin .../en-us_image_0000001053224218.png | Bin .../en-us_image_0000001053710680.png | Bin .../en-us_image_0000001053826366.png | Bin .../en-us_image_0000001054624363.png | Bin .../file-copying-result.png | Bin .../no-out-of-bounds-memory-access.png | Bin .../out-of-bounds-memory-access.png | Bin .../output-of-telnet-on.png | Bin .../output-of-the-statfs-command.png | Bin .../{figures => figure}/posix-framework.png | Bin ...ation-about-a-specified-software-timer.png | Bin ...nformation-about-all-semaphores-in-use.png | Bin ...-information-about-all-software-timers.png | Bin .../querying-partial-task-information.png | Bin .../{figures => figure}/querying-pids.png | Bin .../querying-the-current-path.png | Bin ...nship-between-the-vfs-and-file-systems.png | Bin ...ending-a-signal-to-a-specified-process.png | Bin .../signal-sending-failure.png | Bin .../snipaste_2021-01-26_10-38-58-20.png} | Bin .../snipaste_2021-01-26_10-38-58-21.png} | Bin .../snipaste_2021-01-26_10-38-58.png | Bin .../state-transition-of-a-process.png | Bin .../state-transition-of-a-thread.png | Bin ...e-user-whose-uid-and-gid-are-both-1000.png | Bin ...-printed-based-on-the-specified-format.png | Bin .../task-command-monitoring-result.png | Bin .../tree-structure-of-the-file-system.png | Bin .../{figures => figure}/unmounting-result.png | Bin .../usage-of-system-resources.png | Bin ...ewing-content-of-the-current-directory.png | Bin ...-content-of-the-hello-harmony-txt-file.png | Bin .../viewing-the-usage-of-physical-pages.png | Bin ...memory-usage-of-the-process-with-pid-3.png | Bin .../writing-dmesg-content-to-a-file.png | Bin en/device-dev/kernel/file-commands.md | 45 - en/device-dev/kernel/kernel-lite-mini.md | 2 + .../kernel/kernel-lite-small-basic.md | 11 + .../{fat.md => kernel-lite-small-file-fat.md} | 0 ...ffs2.md => kernel-lite-small-file-jffs.md} | 0 .../{nfs.md => kernel-lite-small-file-nfs.md} | 2 +- ...mfs.md => kernel-lite-small-file-ramfs.md} | 0 .../{vfs.md => kernel-lite-small-file-vfs.md} | 6 +- ...le-system.md => kernel-lite-small-file.md} | 12 +- ...ary.md => kernel-lite-small-lib-differ.md} | 0 ...0.md => kernel-lite-small-lib-standard.md} | 4 +- en/device-dev/kernel/kernel-lite-small-lib.md | 7 + ...{memory.md => kernel-lite-small-memory.md} | 8 +- .../{network.md => kernel-lite-small-net.md} | 6 +- ...rocess.md => kernel-lite-small-process.md} | 6 +- ....md => kernel-lite-small-shell-cmd-abn.md} | 0 ...> kernel-lite-small-shell-cmd-file-cat.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-cd.md} | 2 +- ...kernel-lite-small-shell-cmd-file-chgrp.md} | 2 +- ...kernel-lite-small-shell-cmd-file-chmod.md} | 2 +- ...kernel-lite-small-shell-cmd-file-chown.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-cp.md} | 2 +- ...ernel-lite-small-shell-cmd-file-format.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-is.md} | 2 +- ... kernel-lite-small-shell-cmd-file-isfd.md} | 2 +- ...kernel-lite-small-shell-cmd-file-mkdir.md} | 2 +- ...kernel-lite-small-shell-cmd-file-mount.md} | 2 +- ... kernel-lite-small-shell-cmd-file-part.md} | 2 +- ...rnel-lite-small-shell-cmd-file-partion.md} | 2 +- ...> kernel-lite-small-shell-cmd-file-pwd.md} | 2 +- ...=> kernel-lite-small-shell-cmd-file-rm.md} | 4 +- ...kernel-lite-small-shell-cmd-file-rmdir.md} | 2 +- ...> kernel-lite-small-shell-cmd-file-sta.md} | 2 +- ... kernel-lite-small-shell-cmd-file-sync.md} | 0 ...kernel-lite-small-shell-cmd-file-touch.md} | 4 +- ...ernel-lite-small-shell-cmd-file-umount.md} | 2 +- ...kernel-lite-small-shell-cmd-file-write.md} | 4 +- .../kernel-lite-small-shell-cmd-file.md | 45 + ....md => kernel-lite-small-shell-cmd-mag.md} | 4 +- ...=> kernel-lite-small-shell-cmd-net-arp.md} | 2 +- ... => kernel-lite-small-shell-cmd-net-dh.md} | 2 +- ...=> kernel-lite-small-shell-cmd-net-dns.md} | 0 ...=> kernel-lite-small-shell-cmd-net-ipc.md} | 0 ...=> kernel-lite-small-shell-cmd-net-ipd.md} | 0 ...=> kernel-lite-small-shell-cmd-net-net.md} | 4 +- ...=> kernel-lite-small-shell-cmd-net-ntp.md} | 0 ...> kernel-lite-small-shell-cmd-net-ping.md} | 2 +- ... kernel-lite-small-shell-cmd-net-ping6.md} | 0 ...=> kernel-lite-small-shell-cmd-net-tel.md} | 4 +- ...> kernel-lite-small-shell-cmd-net-tftp.md} | 2 +- .../kernel/kernel-lite-small-shell-cmd-net.md | 25 + ...> kernel-lite-small-shell-cmd-sys-cpup.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-date.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-demsg.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-exec.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-free.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-help.md} | 0 ...=> kernel-lite-small-shell-cmd-sys-hwi.md} | 4 +- ...> kernel-lite-small-shell-cmd-sys-kill.md} | 10 +- ...=> kernel-lite-small-shell-cmd-sys-log.md} | 2 +- ...=> kernel-lite-small-shell-cmd-sys-mem.md} | 4 +- ...=> kernel-lite-small-shell-cmd-sys-oom.md} | 2 +- ...=> kernel-lite-small-shell-cmd-sys-pmm.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-reset.md} | 0 ...=> kernel-lite-small-shell-cmd-sys-sem.md} | 4 +- ... kernel-lite-small-shell-cmd-sys-stack.md} | 2 +- ... => kernel-lite-small-shell-cmd-sys-su.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-swymr.md} | 6 +- ...=> kernel-lite-small-shell-cmd-sys-sys.md} | 2 +- ...> kernel-lite-small-shell-cmd-sys-task.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-uname.md} | 2 +- ...=> kernel-lite-small-shell-cmd-sys-vmm.md} | 2 +- ... kernel-lite-small-shell-cmd-sys-watch.md} | 4 +- .../kernel/kernel-lite-small-shell-cmd-sys.md | 47 + ...ence.md => kernel-lite-small-shell-cmd.md} | 8 +- ...hell.md => kernel-lite-small-shell-des.md} | 4 +- ...es.md => kernel-lite-small-shell-guide.md} | 4 +- ...e.md => kernel-lite-small-shell-sample.md} | 0 .../kernel/kernel-lite-small-shell.md | 15 + ...{thread.md => kernel-lite-small-thread.md} | 6 +- en/device-dev/kernel/kernel-lite-small.md | 11 + en/device-dev/kernel/kernel-lite.md | 7 + ...nux-kernel.md => kernel-standard-build.md} | 16 +- ...nel-overview.md => kernel-standard-des.md} | 0 ...ent-boards.md => kernel-standard-patch.md} | 2 +- en/device-dev/kernel/kernel-standard.md | 9 + en/device-dev/kernel/kernel.md | 7 + en/device-dev/kernel/linux-kernel.md | 9 - en/device-dev/kernel/lite-kernel.md | 11 - en/device-dev/kernel/network-commands.md | 25 - ...openharmony-lite-kernel-basic-functions.md | 11 - .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../kernel/public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../kernel/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes en/device-dev/kernel/standard-library.md | 7 - en/device-dev/kernel/system-commands.md | 47 - en/device-dev/overview.md | 32 +- en/device-dev/porting/Readme-EN.md | 55 +- .../porting/board-level-os-porting.md | 13 - .../en-us_image_0000001072304191.png | Bin .../en-us_image_0000001073943511.png | Bin .../figure/en-us_image_0000001126198996.png | Bin 0 -> 11543 bytes .../figure/en-us_image_0000001126354076.png | Bin 0 -> 70789 bytes .../figure/en-us_image_0000001126358814.png | Bin 0 -> 55221 bytes .../figure/en-us_image_0000001172273945.jpg | Bin 0 -> 23299 bytes .../figure/en-us_image_0000001172393865.jpg | Bin 0 -> 13564 bytes en/device-dev/porting/figure/hdf_wifi.png | Bin 0 -> 79641 bytes .../figure/kernel-startup-framework.jpg | Bin 0 -> 912006 bytes .../key-steps-for-soc-porting.png | Bin ...cess-for-board-level-driver-adaptation.png | Bin .../successful-startup-of-openharmony.png | Bin .../figure/\345\210\206\347\261\273.png" | Bin 0 -> 20230 bytes en/device-dev/porting/kernel-porting.md | 9 - .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../porting/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../third-party-library-porting-guide.md | 9 - .../porting/third-party-soc-porting-guide.md | 11 - .../porting/transplant-chip-board-bundle.md | 57 + ....md => transplant-chip-board-component.md} | 4 +- ...tion.md => transplant-chip-board-drive.md} | 0 ...he-hal.md => transplant-chip-board-hal.md} | 0 ...1.md => transplant-chip-board-overview.md} | 4 +- .../{xts.md => transplant-chip-board-xts.md} | 4 +- .../porting/transplant-chip-board.md | 15 + .../{faq.md => transplant-chip-faqs.md} | 0 ...d => transplant-chip-kernel-adjustment.md} | 2 +- ....md => transplant-chip-kernel-overview.md} | 2 +- ...on.md => transplant-chip-kernel-verify.md} | 2 +- .../porting/transplant-chip-kernel.md | 9 + ...rt.md => transplant-chip-prepare-knows.md} | 8 +- ....md => transplant-chip-prepare-process.md} | 0 ...arations.md => transplant-chip-prepare.md} | 4 +- en/device-dev/porting/transplant-minichip.md | 11 + .../porting/transplant-smallchip-drive-des.md | 11 + .../porting/transplant-smallchip-drive-oom.md | 390 +++++++ .../transplant-smallchip-drive-plat.md | 165 +++ .../porting/transplant-smallchip-drive.md | 9 + .../porting/transplant-smallchip-kernel-a.md | 263 +++++ .../transplant-smallchip-kernel-linux.md | 125 +++ .../porting/transplant-smallchip-kernel.md | 7 + .../transplant-smallchip-prepare-building.md | 142 +++ .../transplant-smallchip-prepare-needs.md | 98 ++ .../porting/transplant-smallchip-prepare.md | 7 + en/device-dev/porting/transplant-smallchip.md | 9 + ...make.md => transplant-thirdparty-cmake.md} | 6 +- ...e.md => transplant-thirdparty-makefile.md} | 6 +- ...w.md => transplant-thirdparty-overview.md} | 0 .../porting/transplant-thirdparty.md | 9 + en/device-dev/porting/transplant.md | 9 + .../public_sys-resources/icon-caution.gif | Bin .../public_sys-resources/icon-danger.gif | Bin .../public_sys-resources/icon-note.gif | Bin .../public_sys-resources/icon-notice.gif | Bin .../public_sys-resources/icon-tip.gif | Bin .../public_sys-resources/icon-warning.gif | Bin en/device-dev/quick-start/Readme-EN.md | 70 +- .../quick-start/environment-setup.md | 11 - .../quick-start/{figures => figure}/1.png | Bin .../quick-start/{figures => figure}/10.png | Bin .../quick-start/{figures => figure}/2.png | Bin .../2021-01-27_170334-17.png} | Bin .../2021-01-27_170334-18.png} | Bin .../2021-01-27_170334-2.png | Bin .../2021-01-27_170334-5.png | Bin .../{figures => figure}/2021-01-27_170334.png | Bin .../quick-start/{figures => figure}/3-0.png | Bin .../quick-start/{figures => figure}/3.png | Bin .../figure/3516\346\255\243\351\235\242.png" | Bin .../figure/3861\346\255\243\351\235\242.png" | Bin .../quick-start/{figures => figure}/4.png | Bin .../quick-start/{figures => figure}/5-1.png | Bin .../quick-start/{figures => figure}/5.png | Bin .../quick-start/{figures => figure}/6.png | Bin ...e-application-to-access-the-network-16.png | Bin ...code-application-to-access-the-network.png | Bin .../{figures => figure}/changjian1-11.png | Bin .../{figures => figure}/changjian1.png | Bin ...king-whether-the-serial-port-is-used-9.png | Bin ...ecking-whether-the-serial-port-is-used.png | Bin .../{figures => figure}/chuankou1-6.png | Bin .../{figures => figure}/chuankou1.png | Bin ...-the-terminal-using-the-serial-port-10.png | Bin ...ing-the-terminal-using-the-serial-port.png | Bin .../en-us_image_0000001056814287.png | Bin .../en-us_image_0000001057335403.png | Bin .../en-us_image_0000001072468991.png | Bin .../en-us_image_0000001072757874.png | Bin .../en-us_image_0000001073840162.png | Bin .../en-us_image_0000001096154076.png | Bin .../en-us_image_0000001100641602.png | Bin .../en-us_image_0000001113969542.png | Bin .../en-us_image_0000001114129428.png | Bin .../en-us_image_0000001114129432.png | Bin .../en-us_image_0000001117463460.png | Bin .../en-us_image_0000001117621400.png | Bin .../en-us_image_0000001128311066.png | Bin .../en-us_image_0000001128311070.png | Bin .../en-us_image_0000001128311072.png | Bin .../en-us_image_0000001128311090.png | Bin .../en-us_image_0000001128311092.png | Bin .../en-us_image_0000001128311094.png | Bin .../en-us_image_0000001128311096.png | Bin .../en-us_image_0000001128311098.png | Bin .../en-us_image_0000001128311100.png | Bin .../en-us_image_0000001128311104.png | Bin .../en-us_image_0000001128311116.png | Bin .../en-us_image_0000001128311118.png | Bin .../en-us_image_0000001128470864.png | Bin .../en-us_image_0000001128470880.png | Bin .../en-us_image_0000001128470900.png | Bin .../en-us_image_0000001128470902.png | Bin .../en-us_image_0000001128470904.png | Bin .../en-us_image_0000001128470906.png | Bin .../figure/en-us_image_0000001128470908.png | Bin 0 -> 96467 bytes .../en-us_image_0000001128470922.png | Bin .../en-us_image_0000001142794291.png | Bin .../en-us_image_0000001142802505.png | Bin .../en-us_image_0000001143154485.png | Bin .../en-us_image_0000001160527611.png | Bin .../en-us_image_0000001163045527.png | Bin .../en-us_image_0000001174270699.png | Bin .../en-us_image_0000001174270713.png | Bin .../en-us_image_0000001174270715.png | Bin .../en-us_image_0000001174270727.png | Bin .../en-us_image_0000001174270729.png | Bin .../en-us_image_0000001174270731.png | Bin .../en-us_image_0000001174270733.png | Bin .../en-us_image_0000001174270735.png | Bin .../en-us_image_0000001174270737.png | Bin .../en-us_image_0000001174270739.png | Bin .../en-us_image_0000001174270743.png | Bin .../en-us_image_0000001174270749.png | Bin .../en-us_image_0000001174270751.png | Bin .../en-us_image_0000001174350615.png | Bin .../en-us_image_0000001174350623.png | Bin .../en-us_image_0000001174350633.png | Bin .../en-us_image_0000001174350641.png | Bin .../en-us_image_0000001174350643.png | Bin .../en-us_image_0000001174350647.png | Bin .../en-us_image_0000001174350649.png | Bin .../en-us_image_0000001174350651.png | Bin .../en-us_image_0000001174350653.png | Bin .../figure/en-us_image_0000001174350655.png | Bin 0 -> 2267 bytes .../en-us_image_0000001174350659.png | Bin .../en-us_image_0000001174350661.png | Bin .../en-us_image_0000001174350669.png | Bin ...-file-due-to-unavailable-connection-12.png | Bin ...age-file-due-to-unavailable-connection.png | Bin .../failed-to-open-the-serial-port-8.png | Bin .../failed-to-open-the-serial-port.png | Bin .../firewall-and-network-protection-14.png | Bin .../firewall-and-network-protection.png | Bin .../front-view-of-the-hi3518e-v300-board.png | Bin .../hardware-connections-3.png | Bin .../hardware-connections.png | Bin ...8\346\255\243\350\203\214\351\235\242.png" | Bin .../network-and-firewall-setting-13.png | Bin .../network-and-firewall-setting.png | Bin .../quick-start/{figures => figure}/qi1.png | Bin ...-the-visual-studio-code-application-15.png | Bin ...ing-the-visual-studio-code-application.png | Bin ...rt-displayed-after-the-u-boot-is-burnt.png | Bin .../{figures => figure}/settings-4.png | Bin .../{figures => figure}/settings.png | Bin ...ns-version-requirement-3-0-4-or-later).png | Bin ...system-startup-and-program-execution-7.png | Bin ...l-system-startup-and-program-execution.png | Bin .../figure/\346\210\252\345\233\276.png" | Bin ...5\275\242\345\244\207\344\273\275-292.png" | Bin .../3516\346\255\243\351\235\242-17.png" | Bin 206035 -> 0 bytes .../figures/en-us_image_0000001128471042.png | Bin 97053 -> 0 bytes .../figures/en-us_image_0000001174350781.png | Bin 2418 -> 0 bytes ...etting-started-for-the-standard-system.png | Bin 32197 -> 0 bytes en/device-dev/quick-start/hi3516.md | 11 - en/device-dev/quick-start/hi3518.md | 9 - en/device-dev/quick-start/hi3861.md | 11 - en/device-dev/quick-start/how-to-develop.md | 9 - .../introduction-to-the-development-boards.md | 9 - en/device-dev/quick-start/introduction.md | 54 - .../quick-start/mini-and-small-systems.md | 11 - en/device-dev/quick-start/overview.md | 175 --- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes ...-1.md => quickstart-lite-env-setup-des.md} | 0 ...q.md => quickstart-lite-env-setup-faqs.md} | 0 ...nt.md => quickstart-lite-env-setup-lin.md} | 22 +- ...nt.md => quickstart-lite-env-setup-win.md} | 43 +- .../quick-start/quickstart-lite-env-setup.md | 11 + ...=> quickstart-lite-introduction-hi3516.md} | 2 +- ...=> quickstart-lite-introduction-hi3518.md} | 4 +- ...=> quickstart-lite-introduction-hi3861.md} | 6 +- .../quickstart-lite-introduction.md | 9 + ...rview-0.md => quickstart-lite-overview.md} | 0 ...> quickstart-lite-steps-board3516-faqs.md} | 32 +- ...uickstart-lite-steps-board3516-program.md} | 22 +- ...uickstart-lite-steps-board3516-running.md} | 40 +- ...uickstart-lite-steps-board3516-setting.md} | 6 +- .../quickstart-lite-steps-board3516.md | 11 + ...> quickstart-lite-steps-board3518-faqs.md} | 34 +- ...uickstart-lite-steps-board3518-running.md} | 40 +- ...uickstart-lite-steps-board3518-setting.md} | 6 +- .../quickstart-lite-steps-board3518.md | 9 + ...kstart-lite-steps-board3861-connection.md} | 36 +- ...> quickstart-lite-steps-board3861-faqs.md} | 14 +- ...uickstart-lite-steps-board3861-running.md} | 4 +- ...uickstart-lite-steps-board3861-setting.md} | 16 +- .../quickstart-lite-steps-board3861.md | 11 + .../quick-start/quickstart-lite-steps.md | 9 + en/device-dev/quick-start/quickstart-lite.md | 11 + ...-images.md => quickstart-standard-burn.md} | 24 +- ...quickstart-standard-docker-environment.md} | 8 +- .../{faqs-7.md => quickstart-standard-faq.md} | 0 ...uickstart-standard-package-environment.md} | 8 +- ...uickstart-standard-windows-environment.md} | 30 +- .../quick-start/quickstart-standard.md | 15 + en/device-dev/quick-start/quickstart.md | 7 + en/device-dev/quick-start/standard-system.md | 15 - en/device-dev/security/Readme-EN.md | 4 +- ...3\351\231\220\345\274\271\347\252\227.png" | Bin ...0\351\242\204\346\216\210\346\235\203.png" | Bin ...0\347\247\201\345\243\260\346\230\216.png" | Bin ...0\346\233\264\351\200\232\347\237\245.png" | Bin ...0\346\230\216\345\205\245\345\217\243.png" | Bin ...0\346\230\216\346\222\244\351\224\200.png" | Bin ...0\346\230\216\346\222\244\351\224\200.png" | Bin ...-device-establish-a-trust-relationship.png | Bin .../{figures => figure}/how-dac-works.png | Bin .../{figures => figure}/huks-functions.png | Bin .../security-assurance-framework.png | Bin ...-protection.md => oem_security_privacy.md} | 14 +- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes ...elines.md => safety-safeguide-security.md} | 44 +- en/device-dev/subsystems/Readme-EN.md | 169 ++- en/device-dev/subsystems/ai-framework.md | 13 - .../subsystems/application-framework.md | 11 - en/device-dev/subsystems/audio-video.md | 9 - ...g-guidelines-for-mini-and-small-systems.md | 9 - ...ding-guidelines-for-the-standard-system.md | 7 - en/device-dev/subsystems/camera.md | 11 - .../compilation-and-building-faq.md | 121 --- .../compilation-and-building-guidelines.md | 430 -------- .../compilation-and-building-overview-0.md | 60 -- .../compilation-and-building-overview.md | 132 --- .../subsystems/compilation-and-building.md | 7 - ...ines-on-trusted-device-group-management.md | 264 ----- .../subsystems/development-guidelines.md | 11 - en/device-dev/subsystems/dfx.md | 11 - .../20200721-223604(espace).gif | Bin .../{figures => figure}/animator-effect.gif | Bin .../application-startup-process.png | Bin ...re-of-the-ability-management-framework.png | Bin ...ure-of-the-bundle-management-framework.png | Bin .../subsystems/figure/build-process.jpg | Bin 0 -> 59879 bytes .../component-tree-structure.png | Bin ...f-adding-view-instances-to-a-viewgroup.png | Bin .../effect-of-clicking-a-uibutton.gif | Bin .../en-us_image_0000001051782526.png | Bin .../en-us_image_0000001052582522.png | Bin .../en-us_image_0000001052662559.png | Bin .../en-us_image_0000001052782555.png | Bin .../en-us_image_0000001052942531.png | Bin .../en-us_image_0000001053207924.gif | Bin .../en-us_image_0000001053247975.gif | Bin .../en-us_image_0000001054101094.png | Bin .../en-us_image_0000001054421113.png | Bin .../en-us_image_0000001059334449.png | Bin .../en-us_image_0000001060200050.png | Bin .../en-us_image_0000001061889268.png | Bin .../en-us_image_0000001062334618.png | Bin .../en-us_image_0000001062476933.png | Bin .../en-us_image_0000001062942690.png | Bin .../en-us_image_0000001063839940.png | Bin .../en-us_image_0000001077724150.png | Bin .../en-us_image_0000001077727032.png | Bin .../figure/en-us_image_0000001119924146.gif | Bin 0 -> 6570 bytes .../figure/en-us_image_0000001166643927.jpg | Bin 0 -> 9280 bytes .../image-auto-adaption-effect.png | Bin .../{figures => figure}/image-tile-effect.png | Bin ...command-for-the-liteos-cortex-a-kernel.png | Bin ...command-for-the-liteos-cortex-m-kernel.png | Bin .../platform-architecture.png | Bin ...-a-page-ability-and-its-ability-slices.png | Bin .../running-sequence-of-the-test-platform.png | Bin ...oth-horizontal-and-vertical-directions.gif | Bin ...id-and-adding-four-buttons-in-a-layout.png | Bin ...ger-service-and-bundle-manager-service.png | Bin ...ructure-of-common-container-components.png | Bin .../tree-structure-of-common-components.png | Bin .../{figures => figure}/unnaming.png | Bin .../figure/\345\233\276\347\211\2071.png" | Bin ...0\345\255\220\347\263\273\347\273\237.png" | Bin ...4\273\266\344\276\235\350\265\226-(2).jpg" | Bin .../subsystems/figures/build-process.jpg | Bin 63193 -> 0 bytes .../subsystems/figures/building-process.jpg | Bin 63193 -> 0 bytes .../subsystems/figures/ril-adapter.png | Bin 33317 -> 0 bytes .../figures/\345\216\273\347\224\265.png" | Bin 27820 -> 0 bytes .../figures/\346\235\245\347\224\265.png" | Bin 38191 -> 0 bytes en/device-dev/subsystems/graphics.md | 13 - en/device-dev/subsystems/hdc_std-faqs.md | 39 - ...s.md => oem_subsys_toolchain_hdc_guide.md} | 170 +-- ...ls-overview.md => oem_subsys_utils_des.md} | 0 .../{utils-faq.md => oem_subsys_utils_faq.md} | 0 ...uidelines.md => oem_subsys_utils_guide.md} | 6 +- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes en/device-dev/subsystems/r-d-tools.md | 9 - en/device-dev/subsystems/sensors.md | 9 - en/device-dev/subsystems/startup.md | 17 - ...ile.md => subsys-aiframework-demo-conf.md} | 0 ...n.md => subsys-aiframework-demo-plugin.md} | 0 ...-sdk.md => subsys-aiframework-demo-sdk.md} | 2 +- ...examples.md => subsys-aiframework-demo.md} | 6 +- ...md => subsys-aiframework-devguide-conf.md} | 0 ... => subsys-aiframework-devguide-plugin.md} | 0 ....md => subsys-aiframework-devguide-sdk.md} | 4 +- .../subsystems/subsys-aiframework-devguide.md | 11 + ...ment.md => subsys-aiframework-envbuild.md} | 2 +- ...amework.md => subsys-aiframework-guide.md} | 2 +- ... => subsys-aiframework-tech-codemanage.md} | 2 +- ...d => subsys-aiframework-tech-interface.md} | 0 ...ing.md => subsys-aiframework-tech-name.md} | 0 ...ications.md => subsys-aiframework-tech.md} | 6 +- .../subsystems/subsys-aiframework.md | 13 + ...> subsys-application-framework-builden.md} | 2 +- ...d => subsys-application-framework-demo.md} | 0 ... => subsys-application-framework-guide.md} | 6 +- ... subsys-application-framework-overview.md} | 12 +- .../subsys-application-framework.md | 11 + ...pawn-module.md => subsys-boot-appspawn.md} | 0 ...rap-module.md => subsys-boot-bootstrap.md} | 0 .../{faqs.md => subsys-boot-faqs.md} | 4 +- .../{init-module.md => subsys-boot-init.md} | 0 ...{startup-10.md => subsys-boot-overview.md} | 22 +- .../{reference.md => subsys-boot-ref.md} | 0 ...spara-module.md => subsys-boot-syspara.md} | 0 en/device-dev/subsystems/subsys-boot.md | 17 + .../subsystems/subsys-build-mini-lite.md | 998 ++++++++++++++++++ ...es-1.md => subsys-build-standard-large.md} | 95 +- en/device-dev/subsystems/subsys-build.md | 7 + ...usage-example.md => subsys-densor-demo.md} | 0 ...e-guidelines.md => subsys-densor-guide.md} | 4 +- ...-overview.md => subsys-densor-overview.md} | 2 +- en/device-dev/subsystems/subsys-densor.md | 9 + ...hilog_lite.md => subsys-dfx-hilog-lite.md} | 0 ...s-on-hilog.md => subsys-dfx-hilog-rich.md} | 0 ...hisysevent.md => subsys-dfx-hisysevent.md} | 0 .../subsystems/subsys-dfx-hisyseventread.md | 103 ++ .../{dfx-11.md => subsys-dfx-overview.md} | 2 +- en/device-dev/subsystems/subsys-dfx.md | 11 + ....md => subsys-graphics-animation-guide.md} | 2 +- ...ts.md => subsys-graphics-bundle-guide1.md} | 8 +- ...ts.md => subsys-graphics-bundle-guide2.md} | 6 +- ...ts.md => subsys-graphics-bundle-guide3.md} | 20 +- ...phics-2.md => subsys-graphics-overview.md} | 0 en/device-dev/subsystems/subsys-graphics.md | 13 + ...d => subsys-multimedia-camera-overview.md} | 6 +- ...> subsys-multimedia-camera-photo-guide.md} | 1 + ...subsys-multimedia-camera-preview-guide.md} | 0 ... subsys-multimedia-camera-record-guide.md} | 0 .../subsystems/subsys-multimedia-camera.md | 11 + ...md => subsys-multimedia-video-overview.md} | 0 ... => subsys-multimedia-video-play-guide.md} | 0 ...> subsys-multimedia-video-record-guide.md} | 2 +- .../subsystems/subsys-multimedia-video.md | 9 + .../{multimedia.md => subsys-multimedia.md} | 4 +- .../{ota-upgrade.md => subsys-ota-guide.md} | 8 +- ...mote-startup.md => subsys-remote-start.md} | 0 ...=> subsys-security-communicationverify.md} | 0 ...rview-9.md => subsys-security-overview.md} | 0 ....md => subsys-security-rightmanagement.md} | 2 +- ...cation.md => subsys-security-sigverify.md} | 2 +- .../{security.md => subsys-security.md} | 10 +- .../{testing.md => subsys-testguide-test.md} | 44 +- ...s.md => subsys-toolchain-bytrace-guide.md} | 12 +- en/device-dev/subsystems/subsys-toolchain.md | 6 + en/device-dev/subsystems/subsys-utils.md | 9 + .../{xts.md => subsys-xts-guide.md} | 74 +- en/device-dev/subsystems/subsys.md | 33 + en/device-dev/subsystems/utils.md | 9 - en/readme.md | 153 +-- 789 files changed, 9210 insertions(+), 7957 deletions(-) delete mode 100644 en/device-dev/bundles/bundle-composition.md delete mode 100644 en/device-dev/bundles/bundle-version.md rename en/device-dev/bundles/{development-example.md => bundles-demo-devsample.md} (95%) rename en/device-dev/bundles/{preparations-1.md => bundles-demo-environment.md} (91%) rename en/device-dev/bundles/{introduction.md => bundles-demo-hpmdescription.md} (100%) create mode 100644 en/device-dev/bundles/bundles-demo.md rename en/device-dev/bundles/{bundle-development.md => bundles-guide-develop.md} (96%) rename en/device-dev/bundles/{overview-0.md => bundles-guide-overview.md} (49%) rename en/device-dev/bundles/{preparations.md => bundles-guide-prepare.md} (93%) rename en/device-dev/bundles/{development-guidelines.md => bundles-guide.md} (30%) rename en/device-dev/bundles/{bundle-management.md => bundles-standard-rules.md} (42%) create mode 100644 en/device-dev/bundles/bundles.md delete mode 100644 en/device-dev/bundles/development-specifications.md delete mode 100644 en/device-dev/bundles/distribution.md delete mode 100644 en/device-dev/bundles/environment-variables.md rename en/device-dev/bundles/{figures => figure}/en-us_image_0000001051452177.png (100%) rename en/device-dev/bundles/{figures => figure}/en-us_image_0000001051770876.png (100%) create mode 100644 en/device-dev/bundles/figure/en-us_image_0000001173313501.png rename en/device-dev/bundles/{figures/hardware-connections.png => figure/hardware-connections-23.png} (100%) create mode 100644 en/device-dev/bundles/figure/hardware-connections-24.png rename en/device-dev/bundles/{figures/successful-installation-(scons-version-requirement-3-0-4-or-later).png => figure/successful-installation-(scons-version-requirement-3-0-4-or-later)-25.png} (100%) rename "en/device-dev/bundles/figures/\347\273\204\344\273\2660924.png" => "en/device-dev/bundles/figure/\347\273\204\344\273\2660924.png" (100%) delete mode 100644 en/device-dev/bundles/figures/bundle-dependencies.png delete mode 100644 en/device-dev/bundles/hpm-user-guide.md delete mode 100644 en/device-dev/bundles/overview.md rename en/device-dev/driver/{driver-development.md => drive-hdf-development.md} (93%) rename en/device-dev/driver/{driver-configuration-management.md => drive-hdf-manage.md} (99%) rename en/device-dev/driver/{driver-message-mechanism-management.md => drive-hdf-news.md} (99%) rename en/device-dev/driver/{hdfoverview.md => drive-hdf-overview.md} (100%) rename en/device-dev/driver/{hdfdevelopment-example.md => drive-hdf-sample.md} (99%) rename en/device-dev/driver/{driver-service-management.md => drive-hdf-servicemanage.md} (100%) create mode 100644 en/device-dev/driver/drive-hdf.md rename en/device-dev/driver/{wlanoverview.md => drive-peripherals-external-des.md} (56%) rename en/device-dev/driver/{lcddevelopment-example.md => drive-peripherals-lcd-des.md} (64%) rename en/device-dev/driver/{sensor-driver-overview.md => drive-peripherals-sensor-des.md} (43%) rename en/device-dev/driver/{touchscreendevelopment-example.md => drive-peripherals-touch-des.md} (57%) create mode 100644 en/device-dev/driver/drive-peripherals.md rename en/device-dev/driver/{gpiousage-guidelines.md => drive-platform-gpio-des.md} (57%) rename en/device-dev/driver/{i2c-usage-guidelines.md => drive-platform-i2c-des.md} (37%) create mode 100644 en/device-dev/driver/drive-platform-mipidsi-des.md rename en/device-dev/driver/{rtc-usage-guidelines.md => drive-platform-rtc-des.md} (61%) rename en/device-dev/driver/{sdiousage-guidelines.md => drive-platform-sdio-des.md} (61%) rename en/device-dev/driver/{spiusage-guidelines.md => drive-platform-spi-des.md} (51%) rename en/device-dev/driver/{uartusage-guidelines.md => drive-platform-uart-des.md} (58%) rename en/device-dev/driver/{watchdogusage-guidelines.md => drive-platform-watchdog-des.md} (55%) create mode 100644 en/device-dev/driver/drive-platform.md create mode 100644 en/device-dev/driver/drive.md delete mode 100644 en/device-dev/driver/driver-platform.md rename en/device-dev/driver/{figures => figure}/architecture-of-the-display-driver-model.png (100%) rename en/device-dev/driver/{figures => figure}/architecture-of-the-input-driver-model.png (100%) rename en/device-dev/driver/{figures => figure}/architecture-of-the-sensor-driver-model.png (100%) rename en/device-dev/driver/{figures => figure}/common-pins-of-the-touchscreen.png (100%) rename en/device-dev/driver/{figures => figure}/dsi-transmitting-and-receiving-interface.png (100%) rename en/device-dev/driver/{figures => figure}/en-us_image_0000001053405727.png (100%) rename en/device-dev/driver/{figures => figure}/en-us_image_0000001054280608.png (100%) rename en/device-dev/driver/{figures => figure}/en-us_image_0000001054564784.png (100%) rename en/device-dev/driver/{figures/en-us_image_0000001057902344.png => figure/en-us_image_0000001123509750.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001072553354.png => figure/en-us_image_0000001123514210.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001054440624.png => figure/en-us_image_0000001123540984.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001054007499.png => figure/en-us_image_0000001123582482.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001054728498.png => figure/en-us_image_0000001123675706.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001054726248.png => figure/en-us_image_0000001123703482.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001054142582.png => figure/en-us_image_0000001123742254.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001057342245.png => figure/en-us_image_0000001170187071.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001054006983.png => figure/en-us_image_0000001170227689.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001057622716.png => figure/en-us_image_0000001170229891.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001053926237.png => figure/en-us_image_0000001170262141.png} (100%) rename en/device-dev/driver/{figures/en-us_image_0000001055299108.png => figure/en-us_image_0000001170383063.png} (100%) rename en/device-dev/driver/{figures => figure}/mipi-dsi.png (100%) rename en/device-dev/driver/{figures => figure}/physical-connection-diagram-for-i2c.png (100%) rename en/device-dev/driver/{figures => figure}/ttl-interface.png (100%) rename "en/device-dev/driver/figures/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" => "en/device-dev/driver/figure/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" (100%) delete mode 100644 en/device-dev/driver/gpio.md delete mode 100644 en/device-dev/driver/gpiooverview.md delete mode 100644 en/device-dev/driver/gpiousage-example.md delete mode 100644 en/device-dev/driver/hdf.md delete mode 100644 en/device-dev/driver/i2c-overview.md delete mode 100644 en/device-dev/driver/i2c-usage-example.md delete mode 100644 en/device-dev/driver/i2c.md delete mode 100644 en/device-dev/driver/lcd.md delete mode 100644 en/device-dev/driver/lcddevelopment-guidelines.md delete mode 100644 en/device-dev/driver/lcdoverview.md delete mode 100644 en/device-dev/driver/mipi-dsi-overview.md delete mode 100644 en/device-dev/driver/mipi-dsi.md delete mode 100644 en/device-dev/driver/peripherals.md delete mode 100644 en/device-dev/driver/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/driver/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/driver/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/driver/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/driver/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/driver/public_sys-resources/icon-warning.gif delete mode 100644 en/device-dev/driver/rtc-overview.md delete mode 100644 en/device-dev/driver/rtc-usage-example.md delete mode 100644 en/device-dev/driver/rtc.md delete mode 100644 en/device-dev/driver/sdio.md delete mode 100644 en/device-dev/driver/sdiooverview.md delete mode 100644 en/device-dev/driver/sdiousage-example.md delete mode 100644 en/device-dev/driver/sensor-driver-development-example.md delete mode 100644 en/device-dev/driver/sensor-driver-development-guidelines.md delete mode 100644 en/device-dev/driver/sensor-driver-test-guidelines.md delete mode 100644 en/device-dev/driver/sensor.md delete mode 100644 en/device-dev/driver/spi.md delete mode 100644 en/device-dev/driver/spioverview.md delete mode 100644 en/device-dev/driver/spiusage-example.md delete mode 100644 en/device-dev/driver/touchscreen.md delete mode 100644 en/device-dev/driver/touchscreendevelopment-guidelines.md delete mode 100644 en/device-dev/driver/touchscreenoverview.md delete mode 100644 en/device-dev/driver/uart.md delete mode 100644 en/device-dev/driver/uartoverview.md delete mode 100644 en/device-dev/driver/uartusage-example.md delete mode 100644 en/device-dev/driver/usage-example.md delete mode 100644 en/device-dev/driver/usage-guidelines.md delete mode 100644 en/device-dev/driver/watchdog.md delete mode 100644 en/device-dev/driver/watchdogoverview.md delete mode 100644 en/device-dev/driver/watchdogusage-example.md delete mode 100644 en/device-dev/driver/wlan.md delete mode 100644 en/device-dev/driver/wlandevelopment-example.md delete mode 100644 en/device-dev/driver/wlandevelopment-guidelines.md rename en/device-dev/get-code/{figures/3.png => figure/3-22.png} (100%) rename en/device-dev/get-code/{figures => figure}/en-us_image_0000001101413884.png (100%) rename en/device-dev/get-code/{figures => figure}/en-us_image_0000001119755646.png (100%) rename en/device-dev/get-code/{figures => figure}/en-us_image_0000001119915556.png (100%) rename en/device-dev/get-code/{figures => figure}/en-us_image_0000001166715379.png (100%) rename en/device-dev/get-code/{docker-environment.md => gettools-acquire.md} (96%) rename en/device-dev/get-code/{ide.md => gettools-ide.md} (98%) rename en/device-dev/get-code/{tool-acquisition.md => gettools.md} (43%) delete mode 100644 en/device-dev/get-code/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/get-code/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/get-code/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/get-code/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/get-code/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/get-code/public_sys-resources/icon-warning.gif rename en/device-dev/get-code/{source-code-acquisition.md => sourcecode-acquire.md} (93%) create mode 100644 en/device-dev/get-code/sourcecode.md create mode 100644 en/device-dev/glossary/Readme-EN.md delete mode 100644 en/device-dev/guide/adapting-to-the-private-drivers-of-the-touchscreen.md delete mode 100644 en/device-dev/guide/building-and-burning-14.md delete mode 100644 en/device-dev/guide/building-and-burning.md delete mode 100644 en/device-dev/guide/camera-control.md delete mode 100644 en/device-dev/guide/configuring-device-driver-descriptions.md delete mode 100644 en/device-dev/guide/configuring-the-touchscreen.md delete mode 100644 en/device-dev/guide/debugging-and-verification.md delete mode 100644 en/device-dev/guide/developing-a-touchscreen-driver.md delete mode 100644 en/device-dev/guide/development-example-for-clock-apps.md delete mode 100644 en/device-dev/guide/development-example-for-peripheral-drivers.md delete mode 100644 en/device-dev/guide/development-example-for-platform-drivers.md delete mode 100644 en/device-dev/guide/development-guidelines-2.md rename en/device-dev/guide/{photographing-3.md => device-camera-control-demo-photoguide.md} (99%) rename en/device-dev/guide/{previewing.md => device-camera-control-demo-previewguide.md} (100%) rename en/device-dev/guide/{video-recording-4.md => device-camera-control-demo-videoguide.md} (100%) create mode 100644 en/device-dev/guide/device-camera-control-demo.md rename en/device-dev/guide/{use-case-5.md => device-camera-control-example.md} (78%) rename en/device-dev/guide/{overview-1.md => device-camera-control-overview.md} (62%) rename en/device-dev/guide/{screen-and-camera-control.md => device-camera-control.md} (30%) rename en/device-dev/guide/{adding-pages.md => device-camera-visual-addpage.md} (82%) rename en/device-dev/guide/{debugging-and-packaging.md => device-camera-visual-debug.md} (37%) rename en/device-dev/guide/{building-the-details-page.md => device-camera-visual-details.md} (97%) rename en/device-dev/guide/{faqs.md => device-camera-visual-faqs.md} (100%) rename en/device-dev/guide/{building-the-home-page.md => device-camera-visual-first-page.md} (98%) rename en/device-dev/guide/{overview-6.md => device-camera-visual-overview.md} (62%) rename en/device-dev/guide/{preparations.md => device-camera-visual-prepare.md} (96%) rename en/device-dev/guide/{running-on-the-device.md => device-camera-visual-run.md} (65%) create mode 100644 en/device-dev/guide/device-camera-visual.md rename en/device-dev/guide/{cameras-with-a-screen.md => device-camera.md} (34%) rename en/device-dev/guide/{development-12.md => device-drive-demo.md} (80%) rename en/device-dev/guide/{photographing.md => device-iotcamera-control-demo-photodevguide.md} (99%) rename en/device-dev/guide/{video-recording.md => device-iotcamera-control-demo-videodevguide.md} (100%) rename en/device-dev/guide/{development-guidelines.md => device-iotcamera-control-demo.md} (32%) rename en/device-dev/guide/{use-case.md => device-iotcamera-control-example.md} (71%) rename en/device-dev/guide/{overview-0.md => device-iotcamera-control-overview.md} (37%) create mode 100644 en/device-dev/guide/device-iotcamera-control.md rename en/device-dev/guide/{cameras-without-a-screen.md => device-iotcamera.md} (56%) create mode 100644 en/device-dev/guide/device-outerdrive-demo.md rename en/device-dev/guide/{development.md => device-wifi-led-outcontrol.md} (61%) rename en/device-dev/guide/{third-party-sdk-integration.md => device-wifi-sdk.md} (99%) rename en/device-dev/guide/{wlan-connected-products.md => device-wifi.md} (36%) create mode 100644 en/device-dev/guide/device.md delete mode 100644 en/device-dev/guide/faqs-10.md rename en/device-dev/guide/{figures => figure}/adding-a-page.png (100%) rename en/device-dev/guide/{figures => figure}/clock.png (100%) rename en/device-dev/guide/{figures => figure}/complete-project-directory.png (100%) rename en/device-dev/guide/{figures => figure}/en-us_image_0000001078563230.png (100%) rename en/device-dev/guide/{figures => figure}/en-us_image_0000001082434703.png (100%) rename en/device-dev/guide/{figures/en-us_image_0000001161922745.png => figure/en-us_image_0000001169991055.png} (100%) rename en/device-dev/guide/{figures => figure}/entering-the-page-name.png (100%) rename en/device-dev/guide/{figures => figure}/home-screen.png (100%) rename en/device-dev/guide/{figures => figure}/indicator-bar.png (100%) rename en/device-dev/guide/{figures => figure}/led-blinking.gif (100%) rename en/device-dev/guide/{figures => figure}/preview-effect.jpg (100%) rename en/device-dev/guide/{figures => figure}/project-directory.png (100%) rename en/device-dev/guide/{figures => figure}/saved-files.png (100%) rename en/device-dev/guide/{figures => figure}/serial-port-logs-displayed-after-the-exit-command-is-executed.png (100%) rename en/device-dev/guide/{figures => figure}/serial-port-logs-displayed-after-the-photographing-command-is-executed.png (100%) rename en/device-dev/guide/{figures => figure}/serial-port-logs-displayed-after-the-preview-command-is-executed.png (100%) rename en/device-dev/guide/{figures => figure}/serial-port-logs-displayed-after-the-recording-command-is-executed.png (100%) rename en/device-dev/guide/{figures => figure}/starting-camera_sample.png (100%) rename en/device-dev/guide/{figures => figure}/title-bar-and-information-bar.png (100%) rename en/device-dev/guide/{figures => figure}/title-bar.png (100%) rename en/device-dev/guide/{figures => figure}/video_2020-07-25_173141.gif (100%) rename "en/device-dev/guide/figures/\347\273\230\345\233\2761.png" => "en/device-dev/guide/figure/\347\273\230\345\233\2761.png" (100%) delete mode 100644 en/device-dev/guide/function-invocation-logic.md delete mode 100644 en/device-dev/guide/hardware-resources.md delete mode 100644 en/device-dev/guide/initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md delete mode 100644 en/device-dev/guide/initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md delete mode 100644 en/device-dev/guide/initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md delete mode 100644 en/device-dev/guide/input-driver-model-workflow-analysis.md delete mode 100644 en/device-dev/guide/input-driver-model.md delete mode 100644 en/device-dev/guide/led-peripheral-control.md rename en/device-dev/guide/{how-to-develop.md => oem_device_clockapp_des.md} (34%) delete mode 100644 en/device-dev/guide/overview-10.md delete mode 100644 en/device-dev/guide/overview-13.md delete mode 100644 en/device-dev/guide/overview-7.md delete mode 100644 en/device-dev/guide/overview.md delete mode 100644 en/device-dev/guide/parsing-private-configuration-data.md delete mode 100644 en/device-dev/guide/preparations-11.md delete mode 100644 en/device-dev/guide/preparations-8.md delete mode 100644 en/device-dev/guide/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/guide/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/guide/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/guide/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/guide/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/guide/public_sys-resources/icon-warning.gif delete mode 100644 en/device-dev/guide/running-on-the-device-9.md delete mode 100644 en/device-dev/guide/setting-up-the-environment.md delete mode 100644 en/device-dev/guide/signing-and-packaging.md delete mode 100644 en/device-dev/guide/startup-log-analysis.md delete mode 100644 en/device-dev/guide/verification.md delete mode 100644 en/device-dev/guide/visual-application-development.md delete mode 100644 en/device-dev/kernel/commissioning.md rename en/device-dev/kernel/{figures => figure}/changing-the-group-of-the-hello-harmony-txt-file-to-100.png (100%) rename en/device-dev/kernel/{figures => figure}/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png (100%) rename en/device-dev/kernel/{figures => figure}/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png (100%) rename en/device-dev/kernel/{figures/command-output-0.png => figure/command-output-19.png} (100%) rename en/device-dev/kernel/{figures => figure}/command-output.png (100%) rename en/device-dev/kernel/{figures => figure}/cpu-usage.png (100%) rename en/device-dev/kernel/{figures => figure}/creating-file-c.png (100%) rename en/device-dev/kernel/{figures => figure}/creating-the-share-directory.png (100%) rename en/device-dev/kernel/{figures => figure}/deleting-directory-dir.png (100%) rename en/device-dev/kernel/{figures => figure}/deleting-the-log1-txt-file.png (100%) rename en/device-dev/kernel/{figures => figure}/deleting-the-sd-directory.png (100%) rename en/device-dev/kernel/{figures => figure}/directory-switching-result.png (100%) rename en/device-dev/kernel/{figures => figure}/displaying-the-memory-usage-in-three-units.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001051690323.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001052370303.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001052370305.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001052370307.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001052530298.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001052810300.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001052810304.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001053224218.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001053710680.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001053826366.png (100%) rename en/device-dev/kernel/{figures => figure}/en-us_image_0000001054624363.png (100%) rename en/device-dev/kernel/{figures => figure}/file-copying-result.png (100%) rename en/device-dev/kernel/{figures => figure}/no-out-of-bounds-memory-access.png (100%) rename en/device-dev/kernel/{figures => figure}/out-of-bounds-memory-access.png (100%) rename en/device-dev/kernel/{figures => figure}/output-of-telnet-on.png (100%) rename en/device-dev/kernel/{figures => figure}/output-of-the-statfs-command.png (100%) rename en/device-dev/kernel/{figures => figure}/posix-framework.png (100%) rename en/device-dev/kernel/{figures => figure}/querying-information-about-a-specified-software-timer.png (100%) rename en/device-dev/kernel/{figures => figure}/querying-information-about-all-semaphores-in-use.png (100%) rename en/device-dev/kernel/{figures => figure}/querying-information-about-all-software-timers.png (100%) rename en/device-dev/kernel/{figures => figure}/querying-partial-task-information.png (100%) rename en/device-dev/kernel/{figures => figure}/querying-pids.png (100%) rename en/device-dev/kernel/{figures => figure}/querying-the-current-path.png (100%) rename en/device-dev/kernel/{figures => figure}/relationship-between-the-vfs-and-file-systems.png (100%) rename en/device-dev/kernel/{figures => figure}/sending-a-signal-to-a-specified-process.png (100%) rename en/device-dev/kernel/{figures => figure}/signal-sending-failure.png (100%) rename en/device-dev/kernel/{figures/snipaste_2021-01-26_10-38-58-1.png => figure/snipaste_2021-01-26_10-38-58-20.png} (100%) rename en/device-dev/kernel/{figures/snipaste_2021-01-26_10-38-58-2.png => figure/snipaste_2021-01-26_10-38-58-21.png} (100%) rename en/device-dev/kernel/{figures => figure}/snipaste_2021-01-26_10-38-58.png (100%) rename en/device-dev/kernel/{figures => figure}/state-transition-of-a-process.png (100%) rename en/device-dev/kernel/{figures => figure}/state-transition-of-a-thread.png (100%) rename en/device-dev/kernel/{figures => figure}/switching-to-the-user-whose-uid-and-gid-are-both-1000.png (100%) rename en/device-dev/kernel/{figures => figure}/system-date-printed-based-on-the-specified-format.png (100%) rename en/device-dev/kernel/{figures => figure}/task-command-monitoring-result.png (100%) rename en/device-dev/kernel/{figures => figure}/tree-structure-of-the-file-system.png (100%) rename en/device-dev/kernel/{figures => figure}/unmounting-result.png (100%) rename en/device-dev/kernel/{figures => figure}/usage-of-system-resources.png (100%) rename en/device-dev/kernel/{figures => figure}/viewing-content-of-the-current-directory.png (100%) rename en/device-dev/kernel/{figures => figure}/viewing-content-of-the-hello-harmony-txt-file.png (100%) rename en/device-dev/kernel/{figures => figure}/viewing-the-usage-of-physical-pages.png (100%) rename en/device-dev/kernel/{figures => figure}/virtual-memory-usage-of-the-process-with-pid-3.png (100%) rename en/device-dev/kernel/{figures => figure}/writing-dmesg-content-to-a-file.png (100%) delete mode 100644 en/device-dev/kernel/file-commands.md create mode 100644 en/device-dev/kernel/kernel-lite-mini.md create mode 100644 en/device-dev/kernel/kernel-lite-small-basic.md rename en/device-dev/kernel/{fat.md => kernel-lite-small-file-fat.md} (100%) rename en/device-dev/kernel/{jffs2.md => kernel-lite-small-file-jffs.md} (100%) rename en/device-dev/kernel/{nfs.md => kernel-lite-small-file-nfs.md} (99%) rename en/device-dev/kernel/{ramfs.md => kernel-lite-small-file-ramfs.md} (100%) rename en/device-dev/kernel/{vfs.md => kernel-lite-small-file-vfs.md} (97%) rename en/device-dev/kernel/{openharmony-lite-kernel-file-system.md => kernel-lite-small-file.md} (92%) rename en/device-dev/kernel/{differences-from-the-linux-standard-library.md => kernel-lite-small-lib-differ.md} (100%) rename en/device-dev/kernel/{standard-library-0.md => kernel-lite-small-lib-standard.md} (95%) create mode 100644 en/device-dev/kernel/kernel-lite-small-lib.md rename en/device-dev/kernel/{memory.md => kernel-lite-small-memory.md} (99%) rename en/device-dev/kernel/{network.md => kernel-lite-small-net.md} (99%) rename en/device-dev/kernel/{process.md => kernel-lite-small-process.md} (99%) rename en/device-dev/kernel/{user-space-exception-information.md => kernel-lite-small-shell-cmd-abn.md} (100%) rename en/device-dev/kernel/{cat.md => kernel-lite-small-shell-cmd-file-cat.md} (95%) rename en/device-dev/kernel/{cd.md => kernel-lite-small-shell-cmd-file-cd.md} (97%) rename en/device-dev/kernel/{chgrp.md => kernel-lite-small-shell-cmd-file-chgrp.md} (95%) rename en/device-dev/kernel/{chmod.md => kernel-lite-small-shell-cmd-file-chmod.md} (96%) rename en/device-dev/kernel/{chown.md => kernel-lite-small-shell-cmd-file-chown.md} (95%) rename en/device-dev/kernel/{cp.md => kernel-lite-small-shell-cmd-file-cp.md} (98%) rename en/device-dev/kernel/{format.md => kernel-lite-small-shell-cmd-file-format.md} (99%) rename en/device-dev/kernel/{ls.md => kernel-lite-small-shell-cmd-file-is.md} (97%) rename en/device-dev/kernel/{lsfd.md => kernel-lite-small-shell-cmd-file-isfd.md} (93%) rename en/device-dev/kernel/{mkdir.md => kernel-lite-small-shell-cmd-file-mkdir.md} (97%) rename en/device-dev/kernel/{mount.md => kernel-lite-small-shell-cmd-file-mount.md} (99%) rename en/device-dev/kernel/{partinfo.md => kernel-lite-small-shell-cmd-file-part.md} (98%) rename en/device-dev/kernel/{partition.md => kernel-lite-small-shell-cmd-file-partion.md} (98%) rename en/device-dev/kernel/{pwd.md => kernel-lite-small-shell-cmd-file-pwd.md} (93%) rename en/device-dev/kernel/{rm.md => kernel-lite-small-shell-cmd-file-rm.md} (95%) rename en/device-dev/kernel/{rmdir.md => kernel-lite-small-shell-cmd-file-rmdir.md} (97%) rename en/device-dev/kernel/{statfs.md => kernel-lite-small-shell-cmd-file-sta.md} (97%) rename en/device-dev/kernel/{sync.md => kernel-lite-small-shell-cmd-file-sync.md} (100%) rename en/device-dev/kernel/{touch.md => kernel-lite-small-shell-cmd-file-touch.md} (96%) rename en/device-dev/kernel/{umount.md => kernel-lite-small-shell-cmd-file-umount.md} (97%) rename en/device-dev/kernel/{writeproc.md => kernel-lite-small-shell-cmd-file-write.md} (97%) create mode 100644 en/device-dev/kernel/kernel-lite-small-shell-cmd-file.md rename en/device-dev/kernel/{magic-key-usage.md => kernel-lite-small-shell-cmd-mag.md} (95%) rename en/device-dev/kernel/{arp.md => kernel-lite-small-shell-cmd-net-arp.md} (99%) rename en/device-dev/kernel/{dhclient.md => kernel-lite-small-shell-cmd-net-dh.md} (99%) rename en/device-dev/kernel/{dns.md => kernel-lite-small-shell-cmd-net-dns.md} (100%) rename en/device-dev/kernel/{ifconfig.md => kernel-lite-small-shell-cmd-net-ipc.md} (100%) rename en/device-dev/kernel/{ipdebug.md => kernel-lite-small-shell-cmd-net-ipd.md} (100%) rename en/device-dev/kernel/{netstat.md => kernel-lite-small-shell-cmd-net-net.md} (97%) rename en/device-dev/kernel/{ntpdate.md => kernel-lite-small-shell-cmd-net-ntp.md} (100%) rename en/device-dev/kernel/{ping.md => kernel-lite-small-shell-cmd-net-ping.md} (99%) rename en/device-dev/kernel/{ping6.md => kernel-lite-small-shell-cmd-net-ping6.md} (100%) rename en/device-dev/kernel/{telnet.md => kernel-lite-small-shell-cmd-net-tel.md} (96%) rename en/device-dev/kernel/{tftp.md => kernel-lite-small-shell-cmd-net-tftp.md} (98%) create mode 100644 en/device-dev/kernel/kernel-lite-small-shell-cmd-net.md rename en/device-dev/kernel/{cpup.md => kernel-lite-small-shell-cmd-sys-cpup.md} (98%) rename en/device-dev/kernel/{date.md => kernel-lite-small-shell-cmd-sys-date.md} (97%) rename en/device-dev/kernel/{dmesg.md => kernel-lite-small-shell-cmd-sys-demsg.md} (98%) rename en/device-dev/kernel/{exec.md => kernel-lite-small-shell-cmd-sys-exec.md} (98%) rename en/device-dev/kernel/{free.md => kernel-lite-small-shell-cmd-sys-free.md} (98%) rename en/device-dev/kernel/{help.md => kernel-lite-small-shell-cmd-sys-help.md} (100%) rename en/device-dev/kernel/{hwi.md => kernel-lite-small-shell-cmd-sys-hwi.md} (98%) rename en/device-dev/kernel/{kill.md => kernel-lite-small-shell-cmd-sys-kill.md} (92%) rename en/device-dev/kernel/{log.md => kernel-lite-small-shell-cmd-sys-log.md} (98%) rename en/device-dev/kernel/{memcheck.md => kernel-lite-small-shell-cmd-sys-mem.md} (88%) rename en/device-dev/kernel/{oom.md => kernel-lite-small-shell-cmd-sys-oom.md} (99%) rename en/device-dev/kernel/{pmm.md => kernel-lite-small-shell-cmd-sys-pmm.md} (98%) rename en/device-dev/kernel/{reset.md => kernel-lite-small-shell-cmd-sys-reset.md} (100%) rename en/device-dev/kernel/{sem.md => kernel-lite-small-shell-cmd-sys-sem.md} (97%) rename en/device-dev/kernel/{stack.md => kernel-lite-small-shell-cmd-sys-stack.md} (98%) rename en/device-dev/kernel/{su.md => kernel-lite-small-shell-cmd-sys-su.md} (96%) rename en/device-dev/kernel/{swtmr.md => kernel-lite-small-shell-cmd-sys-swymr.md} (95%) rename en/device-dev/kernel/{systeminfo.md => kernel-lite-small-shell-cmd-sys-sys.md} (98%) rename en/device-dev/kernel/{task.md => kernel-lite-small-shell-cmd-sys-task.md} (98%) rename en/device-dev/kernel/{uname.md => kernel-lite-small-shell-cmd-sys-uname.md} (98%) rename en/device-dev/kernel/{vmm.md => kernel-lite-small-shell-cmd-sys-vmm.md} (98%) rename en/device-dev/kernel/{watch.md => kernel-lite-small-shell-cmd-sys-watch.md} (97%) create mode 100644 en/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md rename en/device-dev/kernel/{shell-command-reference.md => kernel-lite-small-shell-cmd.md} (39%) rename en/device-dev/kernel/{introduction-to-the-shell.md => kernel-lite-small-shell-des.md} (93%) rename en/device-dev/kernel/{shell-command-development-guidelines.md => kernel-lite-small-shell-guide.md} (99%) rename en/device-dev/kernel/{shell-command-programming-example.md => kernel-lite-small-shell-sample.md} (100%) create mode 100644 en/device-dev/kernel/kernel-lite-small-shell.md rename en/device-dev/kernel/{thread.md => kernel-lite-small-thread.md} (99%) create mode 100644 en/device-dev/kernel/kernel-lite-small.md create mode 100644 en/device-dev/kernel/kernel-lite.md rename en/device-dev/kernel/{guidelines-for-compiling-and-building-the-linux-kernel.md => kernel-standard-build.md} (71%) rename en/device-dev/kernel/{linux-kernel-overview.md => kernel-standard-des.md} (100%) rename en/device-dev/kernel/{guidelines-for-using-patches-on-openharmony-development-boards.md => kernel-standard-patch.md} (94%) create mode 100644 en/device-dev/kernel/kernel-standard.md create mode 100644 en/device-dev/kernel/kernel.md delete mode 100644 en/device-dev/kernel/linux-kernel.md delete mode 100644 en/device-dev/kernel/lite-kernel.md delete mode 100644 en/device-dev/kernel/network-commands.md delete mode 100644 en/device-dev/kernel/openharmony-lite-kernel-basic-functions.md delete mode 100644 en/device-dev/kernel/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/kernel/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/kernel/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/kernel/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/kernel/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/kernel/public_sys-resources/icon-warning.gif delete mode 100644 en/device-dev/kernel/standard-library.md delete mode 100644 en/device-dev/kernel/system-commands.md delete mode 100644 en/device-dev/porting/board-level-os-porting.md rename en/device-dev/porting/{figures => figure}/en-us_image_0000001072304191.png (100%) rename en/device-dev/porting/{figures => figure}/en-us_image_0000001073943511.png (100%) create mode 100644 en/device-dev/porting/figure/en-us_image_0000001126198996.png create mode 100644 en/device-dev/porting/figure/en-us_image_0000001126354076.png create mode 100644 en/device-dev/porting/figure/en-us_image_0000001126358814.png create mode 100644 en/device-dev/porting/figure/en-us_image_0000001172273945.jpg create mode 100644 en/device-dev/porting/figure/en-us_image_0000001172393865.jpg create mode 100644 en/device-dev/porting/figure/hdf_wifi.png create mode 100644 en/device-dev/porting/figure/kernel-startup-framework.jpg rename en/device-dev/porting/{figures => figure}/key-steps-for-soc-porting.png (100%) rename en/device-dev/porting/{figures => figure}/process-for-board-level-driver-adaptation.png (100%) rename en/device-dev/porting/{figures => figure}/successful-startup-of-openharmony.png (100%) create mode 100644 "en/device-dev/porting/figure/\345\210\206\347\261\273.png" delete mode 100644 en/device-dev/porting/kernel-porting.md delete mode 100644 en/device-dev/porting/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/porting/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/porting/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/porting/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/porting/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/porting/public_sys-resources/icon-warning.gif delete mode 100644 en/device-dev/porting/third-party-library-porting-guide.md delete mode 100644 en/device-dev/porting/third-party-soc-porting-guide.md create mode 100644 en/device-dev/porting/transplant-chip-board-bundle.md rename en/device-dev/porting/{system-modules.md => transplant-chip-board-component.md} (87%) rename en/device-dev/porting/{board-level-driver-adaptation.md => transplant-chip-board-drive.md} (100%) rename en/device-dev/porting/{implementation-of-apis-at-the-hal.md => transplant-chip-board-hal.md} (100%) rename en/device-dev/porting/{overview-1.md => transplant-chip-board-overview.md} (90%) rename en/device-dev/porting/{xts.md => transplant-chip-board-xts.md} (95%) create mode 100644 en/device-dev/porting/transplant-chip-board.md rename en/device-dev/porting/{faq.md => transplant-chip-faqs.md} (100%) rename en/device-dev/porting/{basic-kernel-adaptation.md => transplant-chip-kernel-adjustment.md} (99%) rename en/device-dev/porting/{overview-0.md => transplant-chip-kernel-overview.md} (98%) rename en/device-dev/porting/{kernel-porting-verification.md => transplant-chip-kernel-verify.md} (98%) create mode 100644 en/device-dev/porting/transplant-chip-kernel.md rename en/device-dev/porting/{before-you-start.md => transplant-chip-prepare-knows.md} (94%) rename en/device-dev/porting/{building-adaptation-process.md => transplant-chip-prepare-process.md} (100%) rename en/device-dev/porting/{porting-preparations.md => transplant-chip-prepare.md} (33%) create mode 100644 en/device-dev/porting/transplant-minichip.md create mode 100644 en/device-dev/porting/transplant-smallchip-drive-des.md create mode 100644 en/device-dev/porting/transplant-smallchip-drive-oom.md create mode 100644 en/device-dev/porting/transplant-smallchip-drive-plat.md create mode 100644 en/device-dev/porting/transplant-smallchip-drive.md create mode 100644 en/device-dev/porting/transplant-smallchip-kernel-a.md create mode 100644 en/device-dev/porting/transplant-smallchip-kernel-linux.md create mode 100644 en/device-dev/porting/transplant-smallchip-kernel.md create mode 100644 en/device-dev/porting/transplant-smallchip-prepare-building.md create mode 100644 en/device-dev/porting/transplant-smallchip-prepare-needs.md create mode 100644 en/device-dev/porting/transplant-smallchip-prepare.md create mode 100644 en/device-dev/porting/transplant-smallchip.md rename en/device-dev/porting/{porting-a-library-built-using-cmake.md => transplant-thirdparty-cmake.md} (98%) rename en/device-dev/porting/{porting-a-library-built-using-makefile.md => transplant-thirdparty-makefile.md} (98%) rename en/device-dev/porting/{overview.md => transplant-thirdparty-overview.md} (100%) create mode 100644 en/device-dev/porting/transplant-thirdparty.md create mode 100644 en/device-dev/porting/transplant.md rename en/device-dev/{bundles => }/public_sys-resources/icon-caution.gif (100%) rename en/device-dev/{bundles => }/public_sys-resources/icon-danger.gif (100%) rename en/device-dev/{bundles => }/public_sys-resources/icon-note.gif (100%) rename en/device-dev/{bundles => }/public_sys-resources/icon-notice.gif (100%) rename en/device-dev/{bundles => }/public_sys-resources/icon-tip.gif (100%) rename en/device-dev/{bundles => }/public_sys-resources/icon-warning.gif (100%) delete mode 100644 en/device-dev/quick-start/environment-setup.md rename en/device-dev/quick-start/{figures => figure}/1.png (100%) rename en/device-dev/quick-start/{figures => figure}/10.png (100%) rename en/device-dev/quick-start/{figures => figure}/2.png (100%) rename en/device-dev/quick-start/{figures/2021-01-27_170334-18.png => figure/2021-01-27_170334-17.png} (100%) rename en/device-dev/quick-start/{figures/2021-01-27_170334-19.png => figure/2021-01-27_170334-18.png} (100%) rename en/device-dev/quick-start/{figures => figure}/2021-01-27_170334-2.png (100%) rename en/device-dev/quick-start/{figures => figure}/2021-01-27_170334-5.png (100%) rename en/device-dev/quick-start/{figures => figure}/2021-01-27_170334.png (100%) rename en/device-dev/quick-start/{figures => figure}/3-0.png (100%) rename en/device-dev/quick-start/{figures => figure}/3.png (100%) rename "en/device-dev/quick-start/figures/3516\346\255\243\351\235\242.png" => "en/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" (100%) rename "en/device-dev/quick-start/figures/3861\346\255\243\351\235\242.png" => "en/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" (100%) rename en/device-dev/quick-start/{figures => figure}/4.png (100%) rename en/device-dev/quick-start/{figures => figure}/5-1.png (100%) rename en/device-dev/quick-start/{figures => figure}/5.png (100%) rename en/device-dev/quick-start/{figures => figure}/6.png (100%) rename en/device-dev/quick-start/{figures => figure}/allowing-the-visual-studio-code-application-to-access-the-network-16.png (100%) rename en/device-dev/quick-start/{figures => figure}/allowing-the-visual-studio-code-application-to-access-the-network.png (100%) rename en/device-dev/quick-start/{figures => figure}/changjian1-11.png (100%) rename en/device-dev/quick-start/{figures => figure}/changjian1.png (100%) rename en/device-dev/quick-start/{figures => figure}/checking-whether-the-serial-port-is-used-9.png (100%) rename en/device-dev/quick-start/{figures => figure}/checking-whether-the-serial-port-is-used.png (100%) rename en/device-dev/quick-start/{figures => figure}/chuankou1-6.png (100%) rename en/device-dev/quick-start/{figures => figure}/chuankou1.png (100%) rename en/device-dev/quick-start/{figures => figure}/disabling-the-terminal-using-the-serial-port-10.png (100%) rename en/device-dev/quick-start/{figures => figure}/disabling-the-terminal-using-the-serial-port.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001056814287.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001057335403.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001072468991.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001072757874.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001073840162.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001096154076.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001100641602.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001113969542.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001114129428.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001114129432.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001117463460.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001117621400.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311066.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311070.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311072.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311090.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311092.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311094.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311096.png (100%) mode change 100755 => 100644 rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311098.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311100.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311104.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311116.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128311118.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470864.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470880.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470900.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470902.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470904.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470906.png (100%) create mode 100644 en/device-dev/quick-start/figure/en-us_image_0000001128470908.png rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001128470922.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001142794291.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001142802505.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001143154485.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001160527611.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001163045527.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270699.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270713.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270715.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270727.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270729.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270731.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270733.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270735.png (100%) mode change 100755 => 100644 rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270737.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270739.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270743.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270749.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174270751.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350615.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350623.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350633.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350641.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350643.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350647.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350649.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350651.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350653.png (100%) create mode 100644 en/device-dev/quick-start/figure/en-us_image_0000001174350655.png rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350659.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350661.png (100%) rename en/device-dev/quick-start/{figures => figure}/en-us_image_0000001174350669.png (100%) rename en/device-dev/quick-start/{figures => figure}/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png (100%) rename en/device-dev/quick-start/{figures => figure}/failed-to-obtain-the-image-file-due-to-unavailable-connection.png (100%) rename en/device-dev/quick-start/{figures => figure}/failed-to-open-the-serial-port-8.png (100%) rename en/device-dev/quick-start/{figures => figure}/failed-to-open-the-serial-port.png (100%) rename en/device-dev/quick-start/{figures => figure}/firewall-and-network-protection-14.png (100%) rename en/device-dev/quick-start/{figures => figure}/firewall-and-network-protection.png (100%) rename en/device-dev/quick-start/{figures => figure}/front-view-of-the-hi3518e-v300-board.png (100%) rename en/device-dev/quick-start/{figures => figure}/hardware-connections-3.png (100%) rename en/device-dev/quick-start/{figures => figure}/hardware-connections.png (100%) rename "en/device-dev/quick-start/figures/hi3518\346\255\243\350\203\214\351\235\242.png" => "en/device-dev/quick-start/figure/hi3518\346\255\243\350\203\214\351\235\242.png" (100%) rename en/device-dev/quick-start/{figures => figure}/network-and-firewall-setting-13.png (100%) rename en/device-dev/quick-start/{figures => figure}/network-and-firewall-setting.png (100%) rename en/device-dev/quick-start/{figures => figure}/qi1.png (100%) rename en/device-dev/quick-start/{figures => figure}/selecting-the-visual-studio-code-application-15.png (100%) rename en/device-dev/quick-start/{figures => figure}/selecting-the-visual-studio-code-application.png (100%) rename en/device-dev/quick-start/{figures => figure}/serial-port-displayed-after-the-u-boot-is-burnt.png (100%) rename en/device-dev/quick-start/{figures => figure}/settings-4.png (100%) rename en/device-dev/quick-start/{figures => figure}/settings.png (100%) rename en/device-dev/quick-start/{figures => figure}/successful-installation-(scons-version-requirement-3-0-4-or-later).png (100%) rename en/device-dev/quick-start/{figures => figure}/successful-system-startup-and-program-execution-7.png (100%) rename en/device-dev/quick-start/{figures => figure}/successful-system-startup-and-program-execution.png (100%) rename "en/device-dev/quick-start/figures/\346\210\252\345\233\276.png" => "en/device-dev/quick-start/figure/\346\210\252\345\233\276.png" (100%) rename "en/device-dev/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" => "en/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" (100%) delete mode 100644 "en/device-dev/quick-start/figures/3516\346\255\243\351\235\242-17.png" delete mode 100755 en/device-dev/quick-start/figures/en-us_image_0000001128471042.png delete mode 100755 en/device-dev/quick-start/figures/en-us_image_0000001174350781.png delete mode 100644 en/device-dev/quick-start/figures/getting-started-for-the-standard-system.png delete mode 100644 en/device-dev/quick-start/hi3516.md delete mode 100644 en/device-dev/quick-start/hi3518.md delete mode 100644 en/device-dev/quick-start/hi3861.md delete mode 100644 en/device-dev/quick-start/how-to-develop.md delete mode 100644 en/device-dev/quick-start/introduction-to-the-development-boards.md delete mode 100644 en/device-dev/quick-start/introduction.md delete mode 100644 en/device-dev/quick-start/mini-and-small-systems.md delete mode 100644 en/device-dev/quick-start/overview.md delete mode 100644 en/device-dev/quick-start/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/quick-start/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/quick-start/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/quick-start/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/quick-start/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/quick-start/public_sys-resources/icon-warning.gif rename en/device-dev/quick-start/{overview-1.md => quickstart-lite-env-setup-des.md} (100%) rename en/device-dev/quick-start/{faq.md => quickstart-lite-env-setup-faqs.md} (100%) rename en/device-dev/quick-start/{ubuntu-build-environment.md => quickstart-lite-env-setup-lin.md} (95%) rename en/device-dev/quick-start/{windows-development-environment.md => quickstart-lite-env-setup-win.md} (88%) create mode 100644 en/device-dev/quick-start/quickstart-lite-env-setup.md rename en/device-dev/quick-start/{hi3516-development-board.md => quickstart-lite-introduction-hi3516.md} (99%) rename en/device-dev/quick-start/{hi3518-development-board.md => quickstart-lite-introduction-hi3518.md} (97%) rename en/device-dev/quick-start/{hi3861-development-board.md => quickstart-lite-introduction-hi3861.md} (99%) create mode 100644 en/device-dev/quick-start/quickstart-lite-introduction.md rename en/device-dev/quick-start/{overview-0.md => quickstart-lite-overview.md} (100%) rename en/device-dev/quick-start/{faqs-3.md => quickstart-lite-steps-board3516-faqs.md} (79%) rename en/device-dev/quick-start/{developing-a-driver.md => quickstart-lite-steps-board3516-program.md} (95%) rename en/device-dev/quick-start/{running-a-hello-ohos-program.md => quickstart-lite-steps-board3516-running.md} (90%) rename en/device-dev/quick-start/{setting-up-the-environment-2.md => quickstart-lite-steps-board3516-setting.md} (97%) create mode 100644 en/device-dev/quick-start/quickstart-lite-steps-board3516.md rename en/device-dev/quick-start/{faqs-6.md => quickstart-lite-steps-board3518-faqs.md} (80%) rename en/device-dev/quick-start/{running-a-hello-ohos-program-5.md => quickstart-lite-steps-board3518-running.md} (90%) rename en/device-dev/quick-start/{setting-up-the-environment-4.md => quickstart-lite-steps-board3518-setting.md} (96%) create mode 100644 en/device-dev/quick-start/quickstart-lite-steps-board3518.md rename en/device-dev/quick-start/{wlan-connection.md => quickstart-lite-steps-board3861-connection.md} (87%) rename en/device-dev/quick-start/{faqs.md => quickstart-lite-steps-board3861-faqs.md} (95%) rename en/device-dev/quick-start/{running-a-hello-world-program.md => quickstart-lite-steps-board3861-running.md} (98%) rename en/device-dev/quick-start/{setting-up-the-environment.md => quickstart-lite-steps-board3861-setting.md} (97%) create mode 100644 en/device-dev/quick-start/quickstart-lite-steps-board3861.md create mode 100644 en/device-dev/quick-start/quickstart-lite-steps.md create mode 100644 en/device-dev/quick-start/quickstart-lite.md rename en/device-dev/quick-start/{burning-images.md => quickstart-standard-burn.md} (97%) rename en/device-dev/quick-start/{setting-up-ubuntu-development-environment-in-docker-mode-and-building-source-code.md => quickstart-standard-docker-environment.md} (91%) rename en/device-dev/quick-start/{faqs-7.md => quickstart-standard-faq.md} (100%) rename en/device-dev/quick-start/{setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md => quickstart-standard-package-environment.md} (91%) rename en/device-dev/quick-start/{setting-up-windows-development-environment.md => quickstart-standard-windows-environment.md} (93%) create mode 100644 en/device-dev/quick-start/quickstart-standard.md create mode 100644 en/device-dev/quick-start/quickstart.md delete mode 100644 en/device-dev/quick-start/standard-system.md rename "en/device-dev/security/figures/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" => "en/device-dev/security/figure/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" (100%) rename "en/device-dev/security/figures/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" => "en/device-dev/security/figure/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" (100%) rename "en/device-dev/security/figures/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" => "en/device-dev/security/figure/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" (100%) rename "en/device-dev/security/figures/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" => "en/device-dev/security/figure/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" (100%) rename "en/device-dev/security/figures/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" => "en/device-dev/security/figure/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" (100%) rename "en/device-dev/security/figures/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" => "en/device-dev/security/figure/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" (100%) rename "en/device-dev/security/figures/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" => "en/device-dev/security/figure/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" (100%) rename en/device-dev/security/{figures => figure}/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png (100%) rename en/device-dev/security/{figures => figure}/how-dac-works.png (100%) rename en/device-dev/security/{figures => figure}/huks-functions.png (100%) rename en/device-dev/security/{figures => figure}/security-assurance-framework.png (100%) rename en/device-dev/security/{privacy-protection.md => oem_security_privacy.md} (98%) delete mode 100644 en/device-dev/security/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/security/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/security/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/security/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/security/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/security/public_sys-resources/icon-warning.gif rename en/device-dev/security/{security-guidelines.md => safety-safeguide-security.md} (96%) delete mode 100644 en/device-dev/subsystems/ai-framework.md delete mode 100644 en/device-dev/subsystems/application-framework.md delete mode 100644 en/device-dev/subsystems/audio-video.md delete mode 100644 en/device-dev/subsystems/building-guidelines-for-mini-and-small-systems.md delete mode 100644 en/device-dev/subsystems/building-guidelines-for-the-standard-system.md delete mode 100644 en/device-dev/subsystems/camera.md delete mode 100644 en/device-dev/subsystems/compilation-and-building-faq.md delete mode 100644 en/device-dev/subsystems/compilation-and-building-guidelines.md delete mode 100644 en/device-dev/subsystems/compilation-and-building-overview-0.md delete mode 100644 en/device-dev/subsystems/compilation-and-building-overview.md delete mode 100644 en/device-dev/subsystems/compilation-and-building.md delete mode 100644 en/device-dev/subsystems/development-guidelines-on-trusted-device-group-management.md delete mode 100644 en/device-dev/subsystems/development-guidelines.md delete mode 100644 en/device-dev/subsystems/dfx.md rename en/device-dev/subsystems/{figures => figure}/20200721-223604(espace).gif (100%) rename en/device-dev/subsystems/{figures => figure}/animator-effect.gif (100%) rename en/device-dev/subsystems/{figures => figure}/application-startup-process.png (100%) rename en/device-dev/subsystems/{figures => figure}/architecture-of-the-ability-management-framework.png (100%) rename en/device-dev/subsystems/{figures => figure}/architecture-of-the-bundle-management-framework.png (100%) create mode 100644 en/device-dev/subsystems/figure/build-process.jpg rename en/device-dev/subsystems/{figures => figure}/component-tree-structure.png (100%) rename en/device-dev/subsystems/{figures => figure}/effect-of-adding-view-instances-to-a-viewgroup.png (100%) rename en/device-dev/subsystems/{figures => figure}/effect-of-clicking-a-uibutton.gif (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001051782526.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001052582522.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001052662559.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001052782555.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001052942531.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001053207924.gif (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001053247975.gif (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001054101094.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001054421113.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001059334449.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001060200050.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001061889268.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001062334618.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001062476933.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001062942690.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001063839940.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001077724150.png (100%) rename en/device-dev/subsystems/{figures => figure}/en-us_image_0000001077727032.png (100%) create mode 100644 en/device-dev/subsystems/figure/en-us_image_0000001119924146.gif create mode 100644 en/device-dev/subsystems/figure/en-us_image_0000001166643927.jpg rename en/device-dev/subsystems/{figures => figure}/image-auto-adaption-effect.png (100%) rename en/device-dev/subsystems/{figures => figure}/image-tile-effect.png (100%) rename en/device-dev/subsystems/{figures => figure}/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png (100%) rename en/device-dev/subsystems/{figures => figure}/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png (100%) rename en/device-dev/subsystems/{figures => figure}/platform-architecture.png (100%) rename en/device-dev/subsystems/{figures => figure}/relationship-between-a-page-ability-and-its-ability-slices.png (100%) rename en/device-dev/subsystems/{figures => figure}/running-sequence-of-the-test-platform.png (100%) rename en/device-dev/subsystems/{figures => figure}/scrolling-effect-in-both-horizontal-and-vertical-directions.gif (100%) rename en/device-dev/subsystems/{figures => figure}/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png (100%) rename en/device-dev/subsystems/{figures => figure}/startup-of-the-ability-manager-service-and-bundle-manager-service.png (100%) rename en/device-dev/subsystems/{figures => figure}/structure-of-common-container-components.png (100%) rename en/device-dev/subsystems/{figures => figure}/tree-structure-of-common-components.png (100%) rename en/device-dev/subsystems/{figures => figure}/unnaming.png (100%) rename "en/device-dev/subsystems/figures/\345\233\276\347\211\2071.png" => "en/device-dev/subsystems/figure/\345\233\276\347\211\2071.png" (100%) rename "en/device-dev/subsystems/figures/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" => "en/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" (100%) rename "en/device-dev/subsystems/figures/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" => "en/device-dev/subsystems/figure/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" (100%) delete mode 100644 en/device-dev/subsystems/figures/build-process.jpg delete mode 100644 en/device-dev/subsystems/figures/building-process.jpg delete mode 100644 en/device-dev/subsystems/figures/ril-adapter.png delete mode 100644 "en/device-dev/subsystems/figures/\345\216\273\347\224\265.png" delete mode 100644 "en/device-dev/subsystems/figures/\346\235\245\347\224\265.png" delete mode 100644 en/device-dev/subsystems/graphics.md delete mode 100644 en/device-dev/subsystems/hdc_std-faqs.md rename en/device-dev/subsystems/{hdc_std-usage-guidelines.md => oem_subsys_toolchain_hdc_guide.md} (84%) rename en/device-dev/subsystems/{utils-overview.md => oem_subsys_utils_des.md} (100%) rename en/device-dev/subsystems/{utils-faq.md => oem_subsys_utils_faq.md} (100%) rename en/device-dev/subsystems/{utils-development-guidelines.md => oem_subsys_utils_guide.md} (97%) delete mode 100644 en/device-dev/subsystems/public_sys-resources/icon-caution.gif delete mode 100644 en/device-dev/subsystems/public_sys-resources/icon-danger.gif delete mode 100644 en/device-dev/subsystems/public_sys-resources/icon-note.gif delete mode 100644 en/device-dev/subsystems/public_sys-resources/icon-notice.gif delete mode 100644 en/device-dev/subsystems/public_sys-resources/icon-tip.gif delete mode 100644 en/device-dev/subsystems/public_sys-resources/icon-warning.gif delete mode 100644 en/device-dev/subsystems/r-d-tools.md delete mode 100644 en/device-dev/subsystems/sensors.md delete mode 100644 en/device-dev/subsystems/startup.md rename en/device-dev/subsystems/{kws-configuration-file.md => subsys-aiframework-demo-conf.md} (100%) rename en/device-dev/subsystems/{kws-plug-in.md => subsys-aiframework-demo-plugin.md} (100%) rename en/device-dev/subsystems/{kws-sdk.md => subsys-aiframework-demo-sdk.md} (98%) rename en/device-dev/subsystems/{development-examples.md => subsys-aiframework-demo.md} (82%) rename en/device-dev/subsystems/{configuration-file.md => subsys-aiframework-devguide-conf.md} (100%) rename en/device-dev/subsystems/{plug-in.md => subsys-aiframework-devguide-plugin.md} (100%) rename en/device-dev/subsystems/{sdk.md => subsys-aiframework-devguide-sdk.md} (98%) create mode 100644 en/device-dev/subsystems/subsys-aiframework-devguide.md rename en/device-dev/subsystems/{development-environment.md => subsys-aiframework-envbuild.md} (43%) rename en/device-dev/subsystems/{ai-engine-framework.md => subsys-aiframework-guide.md} (96%) rename en/device-dev/subsystems/{code-management.md => subsys-aiframework-tech-codemanage.md} (98%) rename en/device-dev/subsystems/{api-development.md => subsys-aiframework-tech-interface.md} (100%) rename en/device-dev/subsystems/{naming.md => subsys-aiframework-tech-name.md} (100%) rename en/device-dev/subsystems/{technical-specifications.md => subsys-aiframework-tech.md} (51%) create mode 100644 en/device-dev/subsystems/subsys-aiframework.md rename en/device-dev/subsystems/{setting-up-a-development-environment.md => subsys-application-framework-builden.md} (77%) rename en/device-dev/subsystems/{development-example.md => subsys-application-framework-demo.md} (100%) rename en/device-dev/subsystems/{development-guidelines-5.md => subsys-application-framework-guide.md} (99%) rename en/device-dev/subsystems/{overview-4.md => subsys-application-framework-overview.md} (94%) create mode 100644 en/device-dev/subsystems/subsys-application-framework.md rename en/device-dev/subsystems/{appspawn-module.md => subsys-boot-appspawn.md} (100%) rename en/device-dev/subsystems/{bootstrap-module.md => subsys-boot-bootstrap.md} (100%) rename en/device-dev/subsystems/{faqs.md => subsys-boot-faqs.md} (95%) rename en/device-dev/subsystems/{init-module.md => subsys-boot-init.md} (100%) rename en/device-dev/subsystems/{startup-10.md => subsys-boot-overview.md} (75%) rename en/device-dev/subsystems/{reference.md => subsys-boot-ref.md} (100%) rename en/device-dev/subsystems/{syspara-module.md => subsys-boot-syspara.md} (100%) create mode 100644 en/device-dev/subsystems/subsys-boot.md create mode 100644 en/device-dev/subsystems/subsys-build-mini-lite.md rename en/device-dev/subsystems/{compilation-and-building-guidelines-1.md => subsys-build-standard-large.md} (58%) create mode 100644 en/device-dev/subsystems/subsys-build.md rename en/device-dev/subsystems/{sensors-usage-example.md => subsys-densor-demo.md} (100%) rename en/device-dev/subsystems/{sensors-usage-guidelines.md => subsys-densor-guide.md} (92%) rename en/device-dev/subsystems/{sensors-overview.md => subsys-densor-overview.md} (99%) create mode 100644 en/device-dev/subsystems/subsys-densor.md rename en/device-dev/subsystems/{development-guidelines-on-hilog_lite.md => subsys-dfx-hilog-lite.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-hilog.md => subsys-dfx-hilog-rich.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-hisysevent.md => subsys-dfx-hisysevent.md} (100%) create mode 100644 en/device-dev/subsystems/subsys-dfx-hisyseventread.md rename en/device-dev/subsystems/{dfx-11.md => subsys-dfx-overview.md} (92%) create mode 100644 en/device-dev/subsystems/subsys-dfx.md rename en/device-dev/subsystems/{development-guidelines-on-animators.md => subsys-graphics-animation-guide.md} (99%) rename en/device-dev/subsystems/{development-guidelines-on-container-components.md => subsys-graphics-bundle-guide1.md} (97%) rename en/device-dev/subsystems/{development-guidelines-on-layout-container-components.md => subsys-graphics-bundle-guide2.md} (97%) rename en/device-dev/subsystems/{development-guidelines-on-common-components.md => subsys-graphics-bundle-guide3.md} (97%) rename en/device-dev/subsystems/{graphics-2.md => subsys-graphics-overview.md} (100%) create mode 100644 en/device-dev/subsystems/subsys-graphics.md rename en/device-dev/subsystems/{overview.md => subsys-multimedia-camera-overview.md} (98%) rename en/device-dev/subsystems/{development-guidelines-on-photographing.md => subsys-multimedia-camera-photo-guide.md} (99%) rename en/device-dev/subsystems/{development-guidelines-on-previewing.md => subsys-multimedia-camera-preview-guide.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-video-recording.md => subsys-multimedia-camera-record-guide.md} (100%) create mode 100644 en/device-dev/subsystems/subsys-multimedia-camera.md rename en/device-dev/subsystems/{overview-3.md => subsys-multimedia-video-overview.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-media-playback.md => subsys-multimedia-video-play-guide.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-media-recording.md => subsys-multimedia-video-record-guide.md} (99%) create mode 100644 en/device-dev/subsystems/subsys-multimedia-video.md rename en/device-dev/subsystems/{multimedia.md => subsys-multimedia.md} (37%) rename en/device-dev/subsystems/{ota-upgrade.md => subsys-ota-guide.md} (98%) rename en/device-dev/subsystems/{distributed-remote-startup.md => subsys-remote-start.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-ipc-authentication.md => subsys-security-communicationverify.md} (100%) rename en/device-dev/subsystems/{overview-9.md => subsys-security-overview.md} (100%) rename en/device-dev/subsystems/{development-guidelines-on-application-permission-management.md => subsys-security-rightmanagement.md} (99%) rename en/device-dev/subsystems/{development-guidelines-on-application-signature-verification.md => subsys-security-sigverify.md} (99%) rename en/device-dev/subsystems/{security.md => subsys-security.md} (30%) rename en/device-dev/subsystems/{testing.md => subsys-testguide-test.md} (98%) rename en/device-dev/subsystems/{bytrace-usage-guidelines.md => subsys-toolchain-bytrace-guide.md} (96%) create mode 100644 en/device-dev/subsystems/subsys-toolchain.md create mode 100644 en/device-dev/subsystems/subsys-utils.md rename en/device-dev/subsystems/{xts.md => subsys-xts-guide.md} (93%) create mode 100644 en/device-dev/subsystems/subsys.md delete mode 100644 en/device-dev/subsystems/utils.md diff --git a/en/device-dev/bundles/Readme-EN.md b/en/device-dev/bundles/Readme-EN.md index 2ae8dc847c7..b95e0adea8e 100644 --- a/en/device-dev/bundles/Readme-EN.md +++ b/en/device-dev/bundles/Readme-EN.md @@ -1,20 +1,11 @@ -# Bundle Development - -- [Development Specifications](development-specifications.md) - - [Overview](overview.md) - - [Bundle Composition](bundle-composition.md) - - [Bundle Management](bundle-management.md) - - [Bundle Version](bundle-version.md) - - [Distribution](distribution.md) - - [Environment Variables](environment-variables.md) - -- [Development Guidelines](development-guidelines.md) - - [Overview](overview-0.md) - - [Preparations](preparations.md) - - [Bundle Development](bundle-development.md) - -- [HPM User Guide](hpm-user-guide.md) - - [Introduction](introduction.md) - - [Preparations](preparations-1.md) - - [Development Example](development-example.md) - +# Bundle Development + +- [Development Specifications](bundles-standard-rules.md) +- [Development Guidelines](bundles-guide.md) + - [Bundle Development](bundles-guide-overview.md) + - [Preparations](bundles-guide-prepare.md) + - [Bundle Development](bundles-guide-develop.md) +- [HPM User Guide](bundles-demo.md) + - [Introduction](bundles-demo-hpmdescription.md) + - [Preparations](bundles-demo-environment.md) + - [Development Example](bundles-demo-devsample.md) \ No newline at end of file diff --git a/en/device-dev/bundles/bundle-composition.md b/en/device-dev/bundles/bundle-composition.md deleted file mode 100644 index 754f38a7c42..00000000000 --- a/en/device-dev/bundles/bundle-composition.md +++ /dev/null @@ -1,99 +0,0 @@ -# Bundle Composition - -- [Code files](#section101483489110) -- [README File](#section10519101221211) -- [Metadata Description File](#section45511827111211) - -A bundle contains the following contents: - -- **src** directory for storing code files or code library -- **ohos\_bundles** folder for storing dependent bundles \(It is automatically generated during bundle installation, without the need to submit to the code library.\) -- **README.md** file for describing the bundle -- **bundle.json** file for declaring metadata of the bundle -- **LICENSE** file for open-source code - - ``` - my-bundle - |_ohos_bundles - |_src - |_bundle.json - |_README.md - |_LICENSE - ``` - - -## Code files - -Bundle code files are the same as those in a common code directory. The only difference lies in the open APIs \(declared in header files\) of a bundle, which are likely to be referenced by other bundles and need to be declared in the **dirs** of **bundle.json**. - -## README File - -**README.md** is a bundle self-description file using the markdown syntax. For details, see [Syntax Reference](https://www.markdownguide.org/getting-started/). - -To help you easily find and use the desired bundle on the HarmonyOS Package Manager \(HPM\) platform, a **README** file is provided in the root directory of each bundle. - -The **README** file may include instructions on how to install, configure, and use the instance code in the bundle, as well as any other information helpful to you. - -The **README** file is available in the bundle details page of the HPM platform. - -## Metadata Description File - -A **bundle.json** file describes the metadata of a bundle. Each bundle has its own **bundle.json** file. - -``` -{ - "name": "@myorg/demo-bundle", - "version": "1.0.0", - "license": "MIT", - "description": "bundle description", - "keywords": ["hos"], - "tags": ["applications", "drivers"], - "author": {"name":"","email":"","url":""}, - "contributors":[{"name":"","email":"","url":""},{"name":"","email":"","url":""}], - "homepage": "http://www.foo.bar.com", - "repository": "https://git@gitee.com:foo/bar.git", - "publishAs": "source", - "dirs": { - "src": ["src/**/*.c"], - "headers": ["headers/**/*.h"], - "bin": ["bin/**/*.o"] - }, - "scripts": { - "build": "make" - }, - "envs": {}, - "ohos": { - "os": "2.0.0", - "board": "hi3516", - "kernel": "liteos-a" - }, - "rom": "10240", - "ram": "1024", - "dependencies": { - "@myorg/net":"1.0.0" - } -} -``` - -Each **bundle.json** file has the following fields: - -- **name**: a bundle name, which starts with @ and is separated by /, for example, **@myorg/mybundle** - -- **version**: a bundle version number, for example, 1.0.0. The version number must comply with the Semantic Versioning Specification \(SemVer\) standards. - -- **description**: a brief description of a bundle -- **dependencies**: bundles that a bundle depends on - -- **envs**: parameters required for bundle compilation, including global parameters and dependency parameters. - -- **scripts**: commands executable to a bundle, such as those for compiling, building, testing, and burning - -- **publishAs**: bundle publishing type, which can be **source**, **binary**, **distribution**, or **code-segment** - -- **dirs**: directory structure \(such as the header file\) generated for publishing - -- **ram&rom**: statistical information about the estimated read-only memory \(ROM\) and random access memory \(RAM\) usage -- **ohos**: mappings among OpenHarmony versions, development boards, and kernels, separated by commas \(,\). -- Extended information: author, home page, code repository, license, tags, and keywords -- **base** \(only for a distribution\): a base distribution which others inherit from. - diff --git a/en/device-dev/bundles/bundle-version.md b/en/device-dev/bundles/bundle-version.md deleted file mode 100644 index d07118d86a3..00000000000 --- a/en/device-dev/bundles/bundle-version.md +++ /dev/null @@ -1,23 +0,0 @@ -# Bundle Version - -- [Version Number Naming Specifications](#section16893854141310) -- [Version Publishing](#section43401320171420) - -## Version Number Naming Specifications - -Each version name allows only lowercase letters, which can be separated by hyphens \(-\) or underscores \(\_\). For example, **bundle** and **my\_bundle** are allowed. - -A bundle version number is in the format of _major version number_._minor version number_._revision version number_ or _major version number_._minor version number_._revision version number_-_pre-release version number_, for example, **1.0.0** and **1.0.0-beta**. For details, see [https://semver.org](https://semver.org/). - -## Version Publishing - -You should upload bundles to the remote repository so that your peers have an option to use them. You can run the following command to upload the bundles: - -``` -hpm publish -``` - -After this command is executed, the system checks the bundle dependencies and downloads the missing dependencies. If the bundles you uploaded are in binary, the system compiles the entire bundle, generates a binary file, packs the file, and uploads it. If the bundles you uploaded are in another format, the system packs the bundle file in compliance with the defined packing rules and then uploads the file. - -Note: To publish a bundle, you need an HPM account for login. After logging in to the HPM platform, register with an organization and apply for authentication. After successful authentication, you will have the permission to publish the bundle. - diff --git a/en/device-dev/bundles/development-example.md b/en/device-dev/bundles/bundles-demo-devsample.md similarity index 95% rename from en/device-dev/bundles/development-example.md rename to en/device-dev/bundles/bundles-demo-devsample.md index 159de560311..4b896d48114 100644 --- a/en/device-dev/bundles/development-example.md +++ b/en/device-dev/bundles/bundles-demo-devsample.md @@ -28,7 +28,7 @@ This following uses the Hi3861 platform as an example to describe how to install Installed. ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >Run the following command for the Hi3516 platform: >``` >hpm install @ohos/ip_camera_hi3516dv300 diff --git a/en/device-dev/bundles/preparations-1.md b/en/device-dev/bundles/bundles-demo-environment.md similarity index 91% rename from en/device-dev/bundles/preparations-1.md rename to en/device-dev/bundles/bundles-demo-environment.md index 6a0981f81bc..6780aa705ee 100644 --- a/en/device-dev/bundles/preparations-1.md +++ b/en/device-dev/bundles/bundles-demo-environment.md @@ -25,7 +25,7 @@ ln -s bash /bin/sh ## Node.js ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If the Node.js version of the source is outdated, run the following command before running **apt-get install**: >``` >curl -L https://deb.nodesource.com/setup_12.x | bash @@ -68,7 +68,7 @@ http_proxy = http://your-proxy-server:port # Configure the HTTP proxy. https_proxy = http://your-proxy-server:port # Configure the HTTPS proxy. ``` -For details about **hpm-cli** commands, see [HPM Commands](bundle-management.md). +For details about **hpm-cli** commands, see [HPM Commands](bundles-standard-rules.md). ## Python Environment @@ -81,7 +81,7 @@ sudo pip3 install setuptools sudo pip3 install kconfiglib # Install kconfiglib 13.2.0 or later. ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The preceding method is applicable to Hi3518 and Hi3516 platforms. For Hi3861, run the following commands to install the Python environment: >``` >sudo apt-get install python3.8 @@ -112,7 +112,7 @@ which mcopy # If mcopy is not found, run the following command: sudo apt-get install mtools ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Both Hi3518 and Hi3516 platforms require the file packaging tool. For Hi3861, the tool is not required. ## SCons @@ -131,9 +131,9 @@ sudo apt-get install mtools ``` **Figure 1** Successful installation \(SCons version requirement: 3.0.4 or later\) - ![](figures/successful-installation-(scons-version-requirement-3-0-4-or-later).png "successful-installation-(scons-version-requirement-3-0-4-or-later)") + ![](figure/successful-installation-(scons-version-requirement-3-0-4-or-later)-25.png "successful-installation-(scons-version-requirement-3-0-4-or-later)-25") ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >SCons is required for the Hi3861 platform, but not for the Hi3518 or Hi3516 platform. diff --git a/en/device-dev/bundles/introduction.md b/en/device-dev/bundles/bundles-demo-hpmdescription.md similarity index 100% rename from en/device-dev/bundles/introduction.md rename to en/device-dev/bundles/bundles-demo-hpmdescription.md diff --git a/en/device-dev/bundles/bundles-demo.md b/en/device-dev/bundles/bundles-demo.md new file mode 100644 index 00000000000..846d6b1bde0 --- /dev/null +++ b/en/device-dev/bundles/bundles-demo.md @@ -0,0 +1,9 @@ +# HPM User Guide + +- **[Introduction](bundles-demo-hpmdescription.md)** + +- **[Preparations](bundles-demo-environment.md)** + +- **[Development Example](bundles-demo-devsample.md)** + + diff --git a/en/device-dev/bundles/bundle-development.md b/en/device-dev/bundles/bundles-guide-develop.md similarity index 96% rename from en/device-dev/bundles/bundle-development.md rename to en/device-dev/bundles/bundles-guide-develop.md index 09330f69915..d7f0fdad1f6 100644 --- a/en/device-dev/bundles/bundle-development.md +++ b/en/device-dev/bundles/bundles-guide-develop.md @@ -1,6 +1,6 @@ # Bundle Development -- [Developing a OpenHarmony Bundle](#section1976410130540) +- [Developing OpenHarmony Bundles](#section1976410130540) - [Creating a Bundle](#section717481119145) - [Modifying a Bundle](#section102861955201410) - [Using HPM-provided Template to Create a Bundle](#section15882846181510) @@ -13,13 +13,12 @@ - [Burning](#section1746331545413) - [Debugging](#section6742131615549) -## Developing a OpenHarmony Bundle +## Developing OpenHarmony Bundles -You have an option to use any of the following methods to develop an OpenHarmony bundle: +You have an option to use any of the following methods to develop OpenHarmony bundles: - Develop a brand new bundle from scratch. - Rewrite code of an existing non-bundle to develop a bundle. - - Use HPM-provided bundle templates to quickly develop a bundle. ## Creating a Bundle @@ -109,7 +108,7 @@ The HPM provides **default** and **simple** templates as well as other templ You can run the **hpm search -t template** command to search for a template stored on the server. -![](figures/en-us_image_0000001051452177.png) +![](figure/en-us_image_0000001051452177.png) Then, select your desired template based on the information below **description**, use the selected template to quickly create the bundle scaffold, and run the following command with the **-t** and **-d** parameters specified: @@ -159,7 +158,7 @@ executable("hello_world") { } ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >- **executable** is a built-in template of **gn**. You can run the **gn help executable** command to view how to use this template. >- **sources** represents the source code path, and **include\_dirs** represents the header file path. @@ -173,7 +172,7 @@ hpm build After all building operations are complete, the message "build succeed" is displayed. You need to check the building result. -![](figures/en-us_image_0000001051770876.png) +![](figure/en-us_image_0000001051770876.png) ## Defining a Distribution diff --git a/en/device-dev/bundles/overview-0.md b/en/device-dev/bundles/bundles-guide-overview.md similarity index 49% rename from en/device-dev/bundles/overview-0.md rename to en/device-dev/bundles/bundles-guide-overview.md index 44fc41de4b4..a6d16e00da5 100644 --- a/en/device-dev/bundles/overview-0.md +++ b/en/device-dev/bundles/bundles-guide-overview.md @@ -1,4 +1,16 @@ -# Overview +# Bundle Development + +- [Overview](#section112136415486) +- [Preparations](#section12731192104816) + - [Hardware Requirements](#section71851750144814) + - [Installing Node.js and the hpm-cli Tool](#section675199493) + - [\(Optional\) Modifying HPM Configurations](#section1940205015499) + - [Downloading OpenHarmony Code](#section42591118155217) + - [Installing Dependent Bundles](#section644212530524) + +- [Bundle Development](#section15640113715318) + +## Overview This document describes how to develop OpenHarmony bundles and distributions, and how to create, develop, and build code, as well as burn and debug devices by using a command line tool. @@ -50,5 +62,85 @@ This document describes how to develop OpenHarmony bundles and distributions, an **Figure 1** Composition of bundles and distributions -![](figures/组件0924.png) +![](figure/组件0924.png) + +## Preparations + +### Hardware Requirements + +- Development boards \(examples: Hi3861, Hi3516D V300, and Hi3518E V300\) +- Host computer \(Windows workstation\) +- Linux server + +**Figure 2** Hardware connections +![](figure/hardware-connections-23.png "hardware-connections-23") + +### Installing **Node.js** and the **hpm-cli** Tool + +1. Install **Node.js**. + + Download **Node.js** from its official website and install it on your local PC. + + You are advised to install [Node.js](https://nodejs.org/) 12.x \(including npm 6.14.4\) or a later version \(12.13.0 or later is recommended\). + +2. Install the **hpm-cli** tool using **npm** delivered with **Node.js**. Run the following command: + + ``` + npm install -g @ohos/hpm-cli + ``` + +3. Run the following command to check whether the installation is successful. If an HPM version is displayed, the installation is successful. + + ``` + hpm -V or hpm --version + ``` + +4. \(Optional\) Run the following command to upgrade the HPM version if needed: + + ``` + npm update -g @ohos/hpm-cli + ``` + + +### \(Optional\) Modifying HPM Configurations + +After the **hpm-cli** tool is installed, run the following command to view HPM configurations: + +``` +hpm config +``` + +Default HPM configurations are displayed upon the command execution. You can modify the default configurations as required. The following lists common HPM configurations: + +``` +registry = https://hpm.harmonyos.com/hpm/registry/api # Configure the address of the HPM registry (mandatory for downloading bundles). +login = https://hpm.harmonyos.com/hpm/auth/pk # Configure the address for HPM login (mandatory for publishing bundles). +loginUser = {your-account} # Configure the account for HPM login (mandatory for publishing bundles). +shellPath = C:\WINDOWS\System32\cmd.exe # Configure the shell for running HPM commands. +globalRepo = C:\Users\yourname\.global # Configure the path for storing bundles that are installed globally. +http_proxy = http://your-proxy-server:port # Configure the HTTP proxy. +https_proxy = http://your-proxy-server:port # Configure the HTTPS proxy. +``` + +For details about **hpm-cli** commands, see [HPM Commands](bundles-guide-overview.md). + +### Downloading OpenHarmony Code + +For details, see [Source Code Acquisition](../get-code/sourcecode-acquire.md). + +### Installing Dependent Bundles + +The HPM publishes commonly used development tools \(such as those for burning, compiling, and compression\) as bundles. You can run the following command to install these tools. After the command is executed, the system automatically downloads and installs the tools, which need to be installed globally only once. + +``` +hpm i -g @ohos/llvm +hpm i -g @ohos/ninja +hpm i -g @ohos/gn +hpm i -g @ohos/hc_gen +hpm i -g @ohos/sysroot +``` + +These are a set of development tools \(such as **gn** and **ninja**\). With these tools, you can start your general bundle development based on source code. + +## Bundle Development diff --git a/en/device-dev/bundles/preparations.md b/en/device-dev/bundles/bundles-guide-prepare.md similarity index 93% rename from en/device-dev/bundles/preparations.md rename to en/device-dev/bundles/bundles-guide-prepare.md index dedd9b41f76..f706e2c2f8e 100644 --- a/en/device-dev/bundles/preparations.md +++ b/en/device-dev/bundles/bundles-guide-prepare.md @@ -8,12 +8,12 @@ ## Hardware Requirements -- Development boards \(examples: Hi3861, Hi3516DV300, and Hi3518EV300\) +- Development boards \(examples: Hi3861, Hi3516D V300, and Hi3518E V300\) - Host computer \(Windows workstation\) - Linux server **Figure 1** Hardware connections -![](figures/hardware-connections.png "hardware-connections") +![](figure/hardware-connections-24.png "hardware-connections-24") ## Installing **Node.js** and the **hpm-cli** Tool @@ -62,11 +62,11 @@ http_proxy = http://your-proxy-server:port # Configure t https_proxy = http://your-proxy-server:port # Configure the HTTPS proxy. ``` -For details about **hpm-cli** commands, see [HPM Commands](bundle-management.md). +For details about **hpm-cli** commands, see [HPM Commands](bundles-guide-overview.md). ## Downloading OpenHarmony Code -For details, see [Source Code Acquisition](../get-code/source-code-acquisition.md). +For details, see [Source Code Acquisition](../get-code/sourcecode-acquire.md). ## Installing Dependent Bundles diff --git a/en/device-dev/bundles/development-guidelines.md b/en/device-dev/bundles/bundles-guide.md similarity index 30% rename from en/device-dev/bundles/development-guidelines.md rename to en/device-dev/bundles/bundles-guide.md index 6ae82a8f668..162b7be93ab 100644 --- a/en/device-dev/bundles/development-guidelines.md +++ b/en/device-dev/bundles/bundles-guide.md @@ -1,9 +1,9 @@ # Development Guidelines -- **[Overview](overview-0.md)** +- **[Bundle Development](bundles-guide-overview.md)** -- **[Preparations](preparations.md)** +- **[Preparations](bundles-guide-prepare.md)** -- **[Bundle Development](bundle-development.md)** +- **[Bundle Development](bundles-guide-develop.md)** diff --git a/en/device-dev/bundles/bundle-management.md b/en/device-dev/bundles/bundles-standard-rules.md similarity index 42% rename from en/device-dev/bundles/bundle-management.md rename to en/device-dev/bundles/bundles-standard-rules.md index 4511f3427ca..8adaac0e618 100644 --- a/en/device-dev/bundles/bundle-management.md +++ b/en/device-dev/bundles/bundles-standard-rules.md @@ -1,9 +1,162 @@ -# Bundle Management +# Development Specifications -- [Dependency](#section12657593129) -- [HPM Command Reference](#section1258849181312) +- [Overview](#section1725818533344) + - [Definition](#section4821219183514) + - [Bundle Division Principles](#section1089794263513) + - [Bundle Dependency](#section25701647163710) -## Dependency +- [Bundle Composition](#section185538333914) + - [Code Files](#section8431268393) + - [README File](#section168121548173914) + - [Metadata Description File](#section7107181819406) + +- [Bundle Management](#section32061634104110) + - [Dependency](#section791115242423) + - [HPM Command Reference](#section1183205411429) + +- [Bundle Version](#section12612142864316) + - [Version Number Naming Specifications](#section1487612416432) + - [Version Publishing](#section1548171014440) + +- [Distribution](#section1264139114413) +- [Environment Variables](#section15352105174512) + +## Overview + +This document describes the basic concepts of a bundle and how to define it in compliance with specifications. + +### Definition + +OpenHarmony software is developed on a per-bundle basis. In terms of the operating system, all software running on OpenHarmony are bundles. Generally, bundles are classified into the following types based on their application scopes: + +- Board-level bundles: device hardware-specific bundles, such as **board**, **arch**, and **mcu** +- System-level bundles: a set of bundles with independent features, such as the kernel, file system, and framework +- Application-level bundles: applications that provide services to users, such as **wifi\_iot** and **ip\_camera** + +Bundles are designed for reuse purposes. Any reusable modules can be defined as bundles. They are classified into the following types based on their forms: + +- Source code +- Binary system +- Code snippet +- Distribution + +### Bundle Division Principles + +In principle, bundles should be grouped at a fine-grained granularity as much as possible to achieve maximum reuse. The following factors are taken into account regarding bundle division: + +- Independence: Bundles provide relatively independent features and can be independently built. Each bundle is capable of providing its own APIs and services for external systems. +- Coupling: If a bundle must depend on another bundle to provide services, they can be coupled to one bundle. +- Correlation: If a group of bundles jointly implement a feature, and if other bundles never depend on them, the group of bundles can be combined into one bundle. + +### Bundle Dependency + +A bundle dependency can be mandatory or optional. + +- Mandatory dependency: If bundle A must depend on bundle B to implement a feature \(the APIs or services specific to bundle B must be invoked\), bundle B is a mandatory dependency of bundle A. +- Optional dependency: If bundle C or bundle D is required for bundle A to implement a feature and bundle C and bundle D are interchangeable, bundle C and bundle D are optional dependencies of bundle A. + +## Bundle Composition + +A bundle contains the following: + +- **src** directory for storing code files or code library +- **ohos\_bundles** folder for storing dependent bundles \(It is automatically generated during bundle installation, without the need to submit to the code library.\) +- **README.md** file for describing the bundle +- **bundle.json** file for declaring metadata of the bundle +- **LICENSE** file for open-source code + + ``` + my-bundle + |_ohos_bundles + |_src + |_bundle.json + |_README.md + |_LICENSE + ``` + + +### Code Files + +Bundle code files are the same as those in a common code directory. The only difference lies in the open APIs \(declared in header files\) of a bundle, which are likely to be referenced by other bundles and need to be declared in **dirs** of **bundle.json**. + +### README File + +**README.md** is a bundle self-description file using the markdown syntax. For details, see [Syntax Reference](https://www.markdownguide.org/getting-started/). + +To help you easily find and use the desired bundle on the HarmonyOS Package Manager \(HPM\) platform, a **README** file is provided in the root directory of each bundle. + +The **README** file may include instructions on how to install, configure, and use the instance code in the bundle, as well as any other information helpful to you. + +The **README** file is available in the bundle details page of the HPM platform. + +### Metadata Description File + +The **bundle.json** file describes the metadata of a bundle. Each bundle has its own **bundle.json** file. + +``` +{ + "name": "@myorg/demo-bundle", + "version": "1.0.0", + "license": "MIT", + "description": "bundle description", + "keywords": ["hos"], + "tags": ["applications", "drivers"], + "author": {"name":"","email":"","url":""}, + "contributors":[{"name":"","email":"","url":""},{"name":"","email":"","url":""}], + "homepage": "http://www.foo.bar.com", + "repository": "https://git@gitee.com:foo/bar.git", + "publishAs": "code-segment", + "segment":{ + "destPath":"/the/dest/path" + }, + "dirs": { + "src": ["src/**/*.c"], + "headers": ["headers/**/*.h"], + "bin": ["bin/**/*.o"] + }, + "scripts": { + "build": "make" + }, + "envs": {}, + "ohos": { + "os": "2.0.0", + "board": "hi3516", + "kernel": "liteos-a" + }, + "rom": "10240", + "ram": "1024", + "dependencies": { + "@myorg/net":"1.0.0" + } +} +``` + +Each **bundle.json** file has the following fields: + +- **name**: a bundle name, which starts with @ and is separated by /, for example, **@myorg/mybundle** + +- **version**: a bundle version number, for example, 1.0.0. The version number must comply with the Semantic Versioning Specification \(SemVer\) standards. + +- **description**: a brief description of a bundle +- **dependencies**: bundles that a bundle depends on + +- **envs**: parameters required for bundle compilation, including global parameters and dependency parameters. + +- **scripts**: commands executable to a bundle, such as commands for compiling, building, testing, and burning + +- **publishAs**: bundle publishing type, which can be **source**, **binary**, **distribution**, or **code-segment** + +- **segment**: destination path of the code-segment bundle. That is, the destination path of the files contained in the bundle package after the bundle is installed. +- **dirs**: directory structure \(such as the header file\) generated for publishing + +- **ram&rom**: statistical information about the estimated read-only memory \(ROM\) and random access memory \(RAM\) usage +- **ohos**: mappings among OpenHarmony versions, development boards, and kernels, separated by commas \(,\). +- Extended information: author, home page, code repository, license, tags, and keywords +- **base** \(only for a distribution\): a base distribution which others inherit from. + +## Bundle Management + +### Dependency A basic **bundle.json** file needs to be enriched by bundle dependencies to implement more complex features. Bundle names and version numbers should be defined in the **dependencies** field of **bundle.json**. @@ -41,20 +194,20 @@ $ hpm list | | +--@demo/dist_tools@4.0.0 ``` -Alternatively, you can view the dependencies of the current bundle in a graph by running the following command: +Alternatively, you can run the following command to view the dependencies of the current bundle in a visualized way: ``` -hpm dependencies +hpm ui ``` -A **deps\_visual** folder is generated in the current directory. The folder contains the **deps.html** and **deps-data.js** files. After you open the **deps.html** file via a browser, you can view bundle dependencies illustrated by a graph, as shown in the following figure. - -Each dependency type is indicated by a different color at the corresponding node. You can move the mouse pointer to a node to view the implied information. +A web service is started on the local host \(by default, the browser is open and the project page is displayed\). Click the project dependency icon on the sidebar. The list of dependent bundles is displayed. Click the button on the right to switch to the tree view. The bundle dependencies are displayed as shown in the following figure. **Figure 1** Bundle dependencies -![](figures/bundle-dependencies.png "bundle-dependencies") -## HPM Command Reference + +![](figure/en-us_image_0000001173313501.png) + +### HPM Command Reference You can use the hpm-cli tool to manage the lifecycle of a bundle. The following table describes available HPM commands. \(You can run the **hpm -h** command to get the command details\). @@ -63,7 +216,7 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following - @@ -71,21 +224,21 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following - - - - - - - - - - @@ -130,21 +283,21 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following - - - - - - + + + + + + + + + + + + + + + + + + + + - -

    Function

    Command

    +

    Command Line

    Description

    Querying version information

    hpm -V or hpm --version

    +

    hpm -V or hpm --version

    Queries the hpm-cli version number.

    +

    Displays the hpm-cli version number.

    Querying help information

    hpm -h or hpm --version

    +

    hpm -h or hpm --version

    Queries the command list and help information.

    +

    Displays the command list and help information.

    hpm -h

    Queries command reference.

    +

    Displays command help information.

    Creating a project

    @@ -98,15 +251,15 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following

    hpm init -t template

    Creates a scaffolding project based on the template.

    +

    Creates a scaffolding project from a template.

    Installing bundles

    hpm install or hpm i

    +

    hpm install or hpm i

    Installs dependent bundles in the bundle.json file.

    +

    Installs dependent bundles in the bundle.json file.

    hpm install bundle@version

    @@ -119,10 +272,10 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following

    hpm uninstall bundle

    Removes dependent bundles.

    +

    Uninstalls dependent bundles.

    hpm remove or hpm rm bundlename

    +

    hpm remove or hpm rm bundlename

    Removes dependent bundles.

    Viewing information

    hpm list or hpm ls

    +

    hpm list or hpm ls

    Displays the bundle tree of available bundles and distributions.

    hpm dependencies

    Generates the dependency diagram (in HTML format) of available bundles and distributions.

    +

    Generates the dependency relationship data of a bundle or distribution. (This command is also integrated in the HPM UI to display the bundle dependencies intuitively.)

    Searching for bundles

    hpm search name

    Searches for bundles. --json is used to specify the search result in JSON format, and -type is used to set the target type, which can be bundle, distribution, or code-segment.

    +

    Searches for bundles. --json is used to specify the search result in JSON format, and -type is used to set the target type, which can be bundle, distribution, or code-segment.

    Setting HPM configuration items

    @@ -182,7 +335,7 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following

    hpm dist

    Packs a distribution, depending on the dist script in scripts of bundle.json.

    +

    Builds a distribution. The build depends on the dist script in scripts of bundle.json.

    Packing

    @@ -196,7 +349,7 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following

    hpm run flash

    Burns the firmware, depending on the flash script in scripts of bundle.json.

    +

    Burns the firmware. The firmware burning depends on the flash script in scripts of bundle.json.

    Publishing

    @@ -210,23 +363,187 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following

    hpm run

    Runs the commands in scripts defined in bundle.json. Multiple commands can be executed in batches by using &&.

    +

    Runs the commands in scripts defined in bundle.json. Multiple commands can be executed at a time by using &&.

    +

    Decompressing

    +

    hpm extract

    +

    Decompresses files in zip, tar, tgz, or .tar.gz format.

    +

    Restarting GUI

    +

    hpm ui

    +

    Starts the HPM UI locally. You can use the -p parameter to specify a port. On the Windows platform, the default browser is used to open the HPM UI.

    +

    Changing language

    +

    hpm lang

    +

    Alternates between Chinese and English on the CLI and UI.

    +

    Converting to HPM format

    +

    hpm x2h

    +

    Converts a Maven or NPM package to an HPM package and publishes it to the HPM.

    +

    Code segment restoration or cleanup

    +

    hpm code clean|restore

    +

    Clears or restores the dependent code segment (code-segment). That is, copy or delete the code segment based on segment.destPath.

    Generating a key

    hpm gen-keys

    Generates a public-private key pair and configures the public key on the HPM server, achieving password-free hpm-cli login for bundle publishing.

    +

    Generates a public-private key pair and configures the public key on the HPM server, which enables password-free hpm-cli login for bundle publishing.

    Generating third-party open source notice

    hpm gen-notice

    Generates a joint file describing the notice on third-party open source based on the description of each bundle.

    +

    Generates a file providing the notice on third-party open source by combining the description of each bundle.

    +## Bundle Version + +### Version Number Naming Specifications + +Each version name allows only lowercase letters, which can be separated by hyphens \(-\) or underscores \(\_\). For example, **bundle** and **my\_bundle** are allowed. + +A bundle version number is in the format of _major version number_._minor version number_._revision version number_ or _major version number_._minor version number_._revision version number_-_pre-release version number_, for example, **1.0.0** and **1.0.0-beta**. For details, see [https://semver.org](https://semver.org/). + +### Version Publishing + +You should upload bundles to the remote repository so that your peers have an option to use them. You can run the following command to upload the bundles: + +``` +hpm publish +``` + +After this command is executed, the system checks the bundle dependencies and downloads the missing dependencies. If the bundles you uploaded are in binary, the system compiles the entire bundle, generates a binary file, packs the file, and uploads it. If the bundles you uploaded are in another format, the system packs the bundle file in compliance with the defined packing rules and then uploads the file. + +Note: To publish a bundle, you need an HPM account for login. After logging in to the HPM platform, register with an organization and apply for authentication. After successful authentication, you will have the permission to publish the bundle. + +## Distribution + +A distribution refers to an image file of an executable OpenHarmony solution composed of a group of bundles. It contains many dependent bundles and provides scripts to illustrate how to compile and link these bundles. + +Generally, a distribution does not require code but contains only the **bundle.json** description \(**publishAs** set to **distribution**\) and some compilation scripts. + +As system-provided environment variables are required during distribution compiling, run the **dist** command in **scripts**. + +``` +{ + "publishAs":"distribution", + "scripts": { + "dist": "script compile command" + } +} +``` + +Run the following command: + +``` +hpm dist +``` + +As it is rather complex to redefine the functionality of a distribution, OpenHarmony allows inheritance from a distribution so that you can make a tailored distribution based on the existing functionality. To inherit from a distribution, you need to define the **base** field in **bundle.json**. + +``` +{ + "base": { + "name": "dist_wifi_iot", + "version": "1.0.0" + } +} +``` + +In this example, the current bundle inherits from the **dist-wifi-iot 1.0.0** bundle of the distribution. + +Each distribution consists of many dependent bundles, which are represented by the **dependencies** field in **bundle.json**. Some dependencies are mandatory, and others can be added or removed required. In the **bundle.json** file, bundle names prefixed with a question mark \(?\) represent optional dependent bundles. If you want to inherit from a distribution involving such bundles, you can remove them and then add other bundles. + +``` +{ + "dependencies": { + "?my_bundle": "1.0.0" + } +} +``` + +In this example, **my\_bundle** is an optional dependent bundle that can be removed by using the keyword **excludes**. + +``` +{ + "excludes": [ "my_bundle" ] +} +``` + +The removed **my-bundle** will not be involved in the build process. If you forcibly remove mandatory dependent bundles, an error message will be displayed. + +## Environment Variables + +During bundle compilation, system-provided environment variables are required to define the output and link the required binary files. These variables are injected into the context for executing scripts based on service requirements. Therefore, their values can be directly obtained from the scripts. The following environment variables are available: + +Global variables are defined by the **envs** attribute in **bundle.json**. All dependent bundles can obtain the values of global variables. + +``` +{ + "envs": { + "compileEnv": "arm" + } +} +``` + +Different parameters can be passed to bundles when introducing dependencies so that the compilation of dependent bundles can meet the requirements of the current bundle. The parameters defined in the dependencies can be obtained from the context for executing the corresponding scripts. + +``` +{ + "dependencies": { + "my-bundle": { + "version": "1.0.0", + "mode": "debug" + } + } +} +``` + +When linking to a binary file, the bundle needs to know the file path regarding the dependencies. Therefore, the path \(as an environment variable\) is passed to the bundle for compiling. + +The passed environment variable is in **DEP\__BundleName_** format, where **BundleName** indicates the name of the dependent bundle, for example, **DEP\_first\_bundle**. + +Tags can be defined to group dependent bundles. You can obtain the path of a group of dependent bundles based on their tag. A tag starts with a number sign \(\#\) and is defined as follows: + +``` +{ + "dependencies": { + "#tool": { + "first-bundle": "1.0.0", + "second-bundle": "1.0.0" + }, + "#drivers": { + "xx-bundle": "1.0.0", + "yy-bundle": "1.0.0" + } + } +} +``` + +There are two fixed environment variables: + +- **DEP\_OHOS\_BUNDLES**: path of the **ohos\_bundles** folder +- **DEP\_BUNDLE\_BASE**: path of the outermost bundle + diff --git a/en/device-dev/bundles/bundles.md b/en/device-dev/bundles/bundles.md new file mode 100644 index 00000000000..21586387bbd --- /dev/null +++ b/en/device-dev/bundles/bundles.md @@ -0,0 +1,9 @@ +# Bundle Development + +- **[Development Specifications](bundles-standard-rules.md)** + +- **[Development Guidelines](bundles-guide.md)** + +- **[HPM User Guide](bundles-demo.md)** + + diff --git a/en/device-dev/bundles/development-specifications.md b/en/device-dev/bundles/development-specifications.md deleted file mode 100644 index 6f583016aba..00000000000 --- a/en/device-dev/bundles/development-specifications.md +++ /dev/null @@ -1,15 +0,0 @@ -# Development Specifications - -- **[Overview](overview.md)** - -- **[Bundle Composition](bundle-composition.md)** - -- **[Bundle Management](bundle-management.md)** - -- **[Bundle Version](bundle-version.md)** - -- **[Distribution](distribution.md)** - -- **[Environment Variables](environment-variables.md)** - - diff --git a/en/device-dev/bundles/distribution.md b/en/device-dev/bundles/distribution.md deleted file mode 100644 index 42690586250..00000000000 --- a/en/device-dev/bundles/distribution.md +++ /dev/null @@ -1,56 +0,0 @@ -# Distribution - -A distribution refers to an image file of an executable OpenHarmony solution composed of a group of bundles. It contains many dependent bundles and provides scripts to illustrate how to compile and link these bundles. - -Generally, a distribution does not require code but contains only the **bundle.json** description \(**publishAs** set to **distribution**\) and some compilation scripts. - -As system-provided environment variables are required during distribution compiling, run the **dist** command in **scripts**. - -``` -{ - "publishAs":"distribution", - "scripts": { - "dist": "script compile command" - } -} -``` - -Run the following command: - -``` -hpm dist -``` - -As it is rather complex to redefine the functionality of a distribution, OpenHarmony allows inheritance from a distribution so that you can make a tailored distribution based on the existing functionality. To inherit from a distribution, you need to define the **base** field in **bundle.json**. - -``` -{ - "base": { - "name": "dist_wifi_iot", - "version": "1.0.0" - } -} -``` - -In this example, the current bundle inherits from the **dist-wifi-iot 1.0.0** bundle of the distribution. - -Each distribution consists of many dependent bundles, which are represented by the **dependencies** field in **bundle.json**. Some dependencies are mandatory, and others can be added or removed required. In the **bundle.json** file, bundle names prefixed with a question mark \(?\) represent optional dependent bundles. If you want to inherit from a distribution involving such bundles, you can remove them and then add other bundles. - -``` -{ - "dependencies": { - "?my_bundle": "1.0.0" - } -} -``` - -In this example, **my\_bundle** is an optional dependent bundle that can be removed by using the keyword "excludes". - -``` -{ - "excludes": [ "my_bundle" ] -} -``` - -After **my-bundle** is removed, it will not be involved in the building process. If you forcibly remove mandatory dependent bundles, an error message will be displayed. - diff --git a/en/device-dev/bundles/environment-variables.md b/en/device-dev/bundles/environment-variables.md deleted file mode 100644 index 933994a6818..00000000000 --- a/en/device-dev/bundles/environment-variables.md +++ /dev/null @@ -1,53 +0,0 @@ -# Environment Variables - -During bundle compilation, system-provided environment variables are required to define the output and link the required binary files. These variables are injected into the context for executing scripts based on service requirements. Therefore, their values can be directly obtained from the scripts. Currently, there are global and fixed environment variables in the system. - -Global variables are defined by the **envs** attribute in **bundle.json**. All dependent bundles can obtain the values of global variables. - -``` -{ - "envs": { - "compileEnv": "arm" - } -} -``` - -Different parameters can be passed to bundles when introducing dependencies so that the compilation of dependent bundles can meet the requirements of the current bundle. The parameters defined in the dependencies can be obtained from the context for executing the corresponding scripts. - -``` -{ - "dependencies": { - "my-bundle": { - "version": "1.0.0", - "mode": "debug" - } - } -} -``` - -When linking to a binary file, the bundle needs to know the file path regarding the dependencies. Therefore, the path \(as an environment variable\) is passed to the bundle for compiling. - -The passed environment variable is in **DEP\__BundleName_** format, where **BundleName** indicates the name of the dependent bundle, for example, **DEP\_first-bundle**. - -Tags can be defined to group dependent bundles. You can obtain the path of a group of dependent bundles based on their tag. A tag starts with a number sign \(\#\) and is defined as follows: - -``` -{ - "dependencies": { - "#tool": { - "first-bundle": "1.0.0", - "second-bundle": "1.0.0" - }, - "#drivers": { - "xx-bundle": "1.0.0", - "yy-bundle": "1.0.0" - } - } -} -``` - -There are two fixed environment variables: - -- **DEP\_OHOS\_BUNDLES**: path of the **ohos\_bundles** folder -- **DEP\_BUNDLE\_BASE**: path of the outermost bundle - diff --git a/en/device-dev/bundles/figures/en-us_image_0000001051452177.png b/en/device-dev/bundles/figure/en-us_image_0000001051452177.png similarity index 100% rename from en/device-dev/bundles/figures/en-us_image_0000001051452177.png rename to en/device-dev/bundles/figure/en-us_image_0000001051452177.png diff --git a/en/device-dev/bundles/figures/en-us_image_0000001051770876.png b/en/device-dev/bundles/figure/en-us_image_0000001051770876.png similarity index 100% rename from en/device-dev/bundles/figures/en-us_image_0000001051770876.png rename to en/device-dev/bundles/figure/en-us_image_0000001051770876.png diff --git a/en/device-dev/bundles/figure/en-us_image_0000001173313501.png b/en/device-dev/bundles/figure/en-us_image_0000001173313501.png new file mode 100644 index 0000000000000000000000000000000000000000..52f943be7f91caa887bff689f6c37040858fa8ce GIT binary patch literal 329058 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

    ( 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

    void WifiModuleDelete(struct WifiModule *module);

    Deletes and releases data of a WifiModule.

    +

    Deletes a WifiModule and releases its data.

    int32_t DelFeature(struct WifiModule *module, uint16_t featureType);

    @@ -118,7 +123,7 @@ The WLAN driver module provides APIs that can be directly called by driver devel
    -The WLAN driver module provides APIs for driver developers, such as initializing/deregistering, opening/stopping a **NetDevice**, and obtaining the state of a **NetDevice**. [Table 2](#table74613501475) provides some APIs. +The WLAN driver module provides APIs for driver developers, such as initializing/deregistering, opening/stopping a **NetDevice**, and obtaining the state of a **NetDevice**. [Table 2](#table74613501475) describes some APIs. **Table 2** APIs for driver developers of WLAN vendors to implement @@ -166,7 +171,7 @@ The WLAN driver module provides APIs for driver developers, such as initializing
    -The WLAN driver provides the HDI layer with the APIs for creating and destroying an **IWiFi** object and setting the MAC address. [Table 3](#table141076311618) provides some APIs. +The WLAN driver provides the HDI layer with the APIs for creating and destroying an **IWiFi** object and setting the MAC address. [Table 3](#table141076311618) describes some APIs. **Table 3** APIs provided by the WLAN HAL module @@ -227,3 +232,391 @@ The WLAN driver provides the HDI layer with the APIs for creating and destroying
    +## Development Guidelines + +The WLAN driver is developed based on the HDF and PLATFORM. It provides a unified driver model for WLAN modules of different vendors regardless of the operating system \(OS\) and system on a chip \(SoC\). + +### How to Develop + +1. Set hardware parameters such as **module** \(different features\) and **chip** in the **wifi\_config.hcs** file. +2. Parse the **wifi\_config.hcs** file and generate a structure with the configured parameters. +3. Initialize and create a module. +4. Mount and initialize the chip. +5. Initialize the bus. +6. Mount the upper-layer WPA service. + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>Some of the above adaptation steps have been provided. For details, see [Development Example](#section1395253612512). The steps waiting to be performed by developers include setting configuration parameters based on hardware attributes, adapting and mounting a chip, and performing tests and verification. + +## Development Example + +This example describes how to initialize a WLAN module. The following uses the Hi3881 WLAN chip as an example: + +1. Set parameters for the WLAN module based on hardware attributes. + +``` +/* Set parameters in the wlan_platform.hcs file based on hardware attributes. The following is an example of the WLAN platform configuration. */ +hisi :& deviceList { + device0 :: deviceInst { + deviceInstId = 0; + powers { + power0 { + powerSeqDelay = 0; /* Power supply sequencing delay */ + powerType = 1; /* Power supply type. Value 0 indicates that the power supply is always on, and value 1 indicates power supply through general-purpose input/output (GPIO). */ + gpioId = 1; /* GPIO pin ID */ + activeLevel=1; /* Active level. Value 0 indicates a low level, and value 1 indicates a high level. */ + } + power1 { + powerSeqDelay = 0; /* Power supply sequencing delay */ + powerType = 0; /* Power supply type. Value 0 indicates that the power supply is always on, and value 1 indicates power supply through GPIO. */ + } + } + reset { + resetType = 0; /* Reset type. Value 0 indicates that reset is not supported, and value 1 indicates reset through GPIO. */ + gpioId = 2; /* GPIO pin ID */ + activeLevel=1; /* Active level. Value 0 indicates a low level, and value 1 indicates a high level. */ + resetHoldTime = 30; /* Hold time (ms) for a reset */ + } + bootUpTimeout = 30; /* Boot timeout duration (ms) */ + bus { + busType = 0; /* Bus type. Value 0 indicates secure digital input/output (SDIO). */ + busId = 2; /* Bus ID */ + funcNum = [1]; /* SDIO function number */ + timeout = 1000; /* Timeout duration for data read/write */ + blockSize = 512; /* Size of the data block to read or write */ + } + } +} +/* Add the configuration file wlan_chip_.hcs (for example, wlan_chip_hi3881.hcs) for each chip and set parameters. The following uses the Hi3881 chip as an example. */ +root { + wlan_config { + hi3881 :& chipList { + chipHi3881 :: chipInst { + match_attr = "hdf_wlan_chips_hi3881"; /* Match attribute */ + chipName = "hi3881"; /* WLAN chip name */ + sdio { + vendorId = 0x0296; /* Vendor ID */ + deviceId = [0x5347]; /* Device ID */ + } + } + } + } +} +``` + +2. Mount the **init** and **deinit** functions of the WLAN chip and WLAN chip driver. + +``` +/* WLAN module initialization and mount process */ +#include "hdf_device_desc.h" +#include "hdf_wifi_product.h" +#include "hdf_log.h" +#include "osal_mem.h" +#include "hdf_wlan_chipdriver_manager.h" +#include "securec.h" +#include "wifi_module.h" +#include "hi_wifi_api.h" +#include "hi_types_base.h" + +#define HDF_LOG_TAG Hi3881Driver + +/* Functions for initializing and deinitializing the WLAN chip */ +int32_t InitHi3881Chip(struct HdfWlanDevice *device); +int32_t DeinitHi3881Chip(struct HdfWlanDevice *device); +/* Functions for initializing and deinitializing the WLAN chip driver */ +int32_t Hi3881Deinit(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); +int32_t Hi3881Init(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); + +/* Initialize mac80211 and mount functions of the chip. */ +hi_void HiMac80211Init(struct HdfChipDriver *chipDriver); + +static const char* const HI3881_DRIVER_NAME = "hisi"; + +/* Mount the WLAN chip driver and the functions of mac80211 and the chip. */ +static struct HdfChipDriver *BuildHi3881Driver(struct HdfWlanDevice *device, uint8_t ifIndex) +{ + struct HdfChipDriver *specificDriver = NULL; + if (device == NULL) { + HDF_LOGE("%s fail : channel is NULL", __func__); + return NULL; + } + (void)device; + (void)ifIndex; + specificDriver = (struct HdfChipDriver *)OsalMemCalloc(sizeof(struct HdfChipDriver)); + if (specificDriver == NULL) { + HDF_LOGE("%s fail: OsalMemCalloc fail!", __func__); + return NULL; + } + if (memset_s(specificDriver, sizeof(struct HdfChipDriver), 0, sizeof(struct HdfChipDriver)) != EOK) { + HDF_LOGE("%s fail: memset_s fail!", __func__); + OsalMemFree(specificDriver); + return NULL; + } + + if (strcpy_s(specificDriver->name, MAX_WIFI_COMPONENT_NAME_LEN, HI3881_DRIVER_NAME) != EOK) { + HDF_LOGE("%s fail : strcpy_s fail", __func__); + OsalMemFree(specificDriver); + return NULL; + } + specificDriver->init = Hi3881Init; + specificDriver->deinit = Hi3881Deinit; + + HiMac80211Init(specificDriver); + + return specificDriver; +} + +/* Release the WLAN chip driver. */ +static void ReleaseHi3881Driver(struct HdfChipDriver *chipDriver) +{ + if (chipDriver == NULL) { + return; + } + if (strcmp(chipDriver->name, HI3881_DRIVER_NAME) != 0) { + HDF_LOGE("%s:Not my driver!", __func__); + return; + } + OsalMemFree(chipDriver); +} + +static uint8_t GetHi3881GetMaxIFCount(struct HdfChipDriverFactory *factory) { + (void)factory; + return 1; +} + +/* Register functions related to the WLAN chip. */ +static int32_t HDFWlanRegHisiDriverFactory(void) +{ + static struct HdfChipDriverFactory tmpFactory = { 0 }; + struct HdfChipDriverManager *driverMgr = NULL; + driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr == NULL && driverMgr->RegChipDriver != NULL) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + tmpFactory.driverName = HI3881_DRIVER_NAME; + tmpFactory.GetMaxIFCount = GetHi3881GetMaxIFCount; + tmpFactory.InitChip = InitHi3881Chip; + tmpFactory.DeinitChip = DeinitHi3881Chip; + tmpFactory.Build = BuildHi3881Driver; + tmpFactory.Release = ReleaseHi3881Driver; + tmpFactory.ReleaseFactory = NULL; + if (driverMgr->RegChipDriver(&tmpFactory) != HDF_SUCCESS) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; +} + +static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) +{ + (void)device; + return HDFWlanRegHisiDriverFactory(); +} + +struct HdfDriverEntry g_hdfHisiChipEntry = { + .moduleVersion = 1, + .Init = HdfWlanHisiChipDriverInit, + .moduleName = "HDF_WLAN_CHIPS" +}; + +HDF_INIT(g_hdfHisiChipEntry); +``` + +``` +#include "hdf_wifi_product.h" +#include "hi_wifi_api.h" +#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) +#include "oal_thread.h" +#include "osal_time.h" +#endif +#include "wifi_mac80211_ops.h" +#include "wal_cfg80211.h" +#include "net_adpater.h" +#include "hdf_wlan_utils.h" + +#define HDF_LOG_TAG Hi3881Driver + +/* Initialize the WLAN chip. */ +int32_t InitHi3881Chip(struct HdfWlanDevice *device) +{ + uint8_t maxPortCount = 1; + int32_t ret = HI_SUCCESS; + uint8_t maxRetryCount = 2; + if (device == NULL) { + HDF_LOGE("%s:NULL ptr!", __func__); + return HI_FAIL; + } + + do { + if (ret != HI_SUCCESS) { + if (device->reset != NULL && device->reset->Reset != NULL) { + device->reset->Reset(device->reset); + } + HDF_LOGE("%s:Retry init hi3881!last ret=%d", __func__, ret); + } + ret = hi_wifi_init(maxPortCount); + } while (ret != 0 && --maxRetryCount > 0); + + if (ret != 0) { + HDF_LOGE("%s:Init hi3881 driver failed!", __func__); + return ret; + } + return HI_SUCCESS; +} + +/* Deinitialize the WLAN chip. */ +int32_t DeinitHi3881Chip(struct HdfWlanDevice *device) +{ + (void)device; + int32_t ret = hi_wifi_deinit(); + if (ret != 0) { + HDF_LOGE("%s:Deinit failed!ret=%d", __func__, ret); + } + return ret; +} + +/* Initialize the WLAN chip driver. */ +int32_t Hi3881Init(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) +{ + HDF_LOGI("%s: start...", __func__); + hi_u16 mode = wal_get_vap_mode(); + int32_t ret; + nl80211_iftype_uint8 type; + (void)chipDriver; + + if (mode >= WAL_WIFI_MODE_BUTT) { + oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); + return HI_FAIL; + } + + if (mode == WAL_WIFI_MODE_STA) { + type = NL80211_IFTYPE_STATION; + } else if (mode == WAL_WIFI_MODE_AP) { + type = NL80211_IFTYPE_AP; + } else { + oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); + return HI_FAIL; + } + + ret = wal_init_drv_wlan_netdev(type, WAL_PHY_MODE_11N, netDevice); + if (ret != HI_SUCCESS) { + oam_error_log2(0, OAM_SF_ANY, "wal_init_drv_netdev %s failed.l_return:%d\n", netDevice->name, ret); + } + return ret; +} + +/* Deinitialize the WLAN chip driver. */ +int32_t Hi3881Deinit(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) +{ + (void)chipDriver; + int32_t ret = wal_deinit_drv_wlan_netdev(netDevice); + if (ret != HDF_SUCCESS) { + return ret; + } + return ReleasePlatformNetDevice(netDevice); +} +``` + +3. During the chip initialization, call the **NetDeviceInit\(\)** function to initialize a network device, call the **NetDeviceAdd\(\)** function to add the network device to a protocol stack, and implement some function pointers of **netdev**. + +``` +hi_s32 wal_init_drv_wlan_netdev(nl80211_iftype_uint8 type, wal_phy_mode mode, hi_char* ifname, hi_u32* len) +{ + oal_net_device_stru *netdev = HI_NULL; + + ...... + /* Initialize the network device and obtain the initialized instance. */ + netdev = NetDeviceInit(ifname, *len, LITE_OS); + oal_wireless_dev *wdev = (oal_wireless_dev *)oal_mem_alloc(OAL_MEM_POOL_ID_LOCAL, sizeof(oal_wireless_dev)); + ret = wal_init_netif(type, netdev, wdev); + + ...... + + return HI_SUCCESS; +} +/* Mount some function pointers of NetDeviceInterFace. */ +oal_net_device_ops_stru g_wal_net_dev_ops = +{ + .getStats = wal_netdev_get_stats, + .open = wal_netdev_open, + .stop = wal_netdev_stop, + .xmit = hmac_bridge_vap_xmit, + .ioctl = wal_net_device_ioctl, + .changeMtu = oal_net_device_change_mtu, + .init = oal_net_device_init, + .deInit = oal_net_free_netdev, +#if (defined(_PRE_WLAN_FEATURE_FLOWCTL) || defined(_PRE_WLAN_FEATURE_OFFLOAD_FLOWCTL)) + .selectQueue = wal_netdev_select_queue, +#endif + .setMacAddr = wal_netdev_set_mac_addr, +#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) + .netifNotify = HI_NULL, +#endif + .specialEtherTypeProcess = SpecialEtherTypeProcess, +}; + +hi_s32 wal_init_netif(nl80211_iftype_uint8 type, oal_net_device_stru *netdev, const oal_wireless_dev *wdev) +{ + /* Add the network device to a protocol stack. */ + hi_u32 ret = NetDeviceAdd(netdev, (Protocol80211IfType)type); + + ...... + + return HI_SUCCESS; +} +``` + +4. Implement functions of **WifiMac80211Ops**. + +``` +/* Mount some function pointers of mac80211. */ + +/* MAC-layer APIs for basic capabilities that need to be implemented by the driver */ +static struct HdfMac80211BaseOps g_baseOps = { + .SetMode = WalSetMode, + .AddKey = WalAddKey, + .DelKey = WalDelKey, + .SetDefaultKey = WalSetDefaultKey, + .GetDeviceMacAddr = WalGetDeviceMacAddr, + .SetMacAddr = WalSetMacAddr, + .SetTxPower = WalSetTxPower, + .GetValidFreqsWithBand = WalGetValidFreqsWithBand, + .GetHwCapability = WalGetHwCapability +}; + +/* MAC-layer APIs for station capabilities that need to be implemented by the driver */ +static struct HdfMac80211STAOps g_staOps = { + .Connect = WalConnect, + .Disconnect = WalDisconnect, + .StartScan = WalStartScan, + .AbortScan = WalAbortScan, + .SetScanningMacAddress = WalSetScanningMacAddress, +}; + +/* MAC-layer APIs for AP capabilities that need to be implemented by the driver */ +static struct HdfMac80211APOps g_apOps = { + .ConfigAp = WalConfigAp, + .StartAp = WalStartAp, + .StopAp = WalStopAp, + .ConfigBeacon = WalChangeBeacon, + .DelStation = WalDelStation, + .SetCountryCode = WalSetCountryCode, + .GetAssociatedStasCount = WalGetAssociatedStasCount, + .GetAssociatedStasInfo = WalGetAssociatedStasInfo +}; + +/* Initialize mac80211 and mount functions of the chip. */ +hi_void HiMac80211Init(struct HdfChipDriver *chipDriver) +{ + if (chipDriver == NULL) { + oam_error_log(0, OAM_SF_ANY, "%s:input is NULL!", __func__); + return; + } + chipDriver->ops = &g_baseOps; + chipDriver->staOps = &g_staOps; + chipDriver->apOps = &g_apOps; +} +``` + diff --git a/en/device-dev/driver/lcddevelopment-example.md b/en/device-dev/driver/drive-peripherals-lcd-des.md similarity index 64% rename from en/device-dev/driver/lcddevelopment-example.md rename to en/device-dev/driver/drive-peripherals-lcd-des.md index 35122ca4fa6..2b8dd1543a5 100644 --- a/en/device-dev/driver/lcddevelopment-example.md +++ b/en/device-dev/driver/drive-peripherals-lcd-des.md @@ -1,4 +1,76 @@ -# LCD Development Example +# LCD + +- [Overview](#section141575391542) + - [API Description](#section14711163785519) + +- [Development Guidelines](#section12394223125615) + - [How to Develop](#section515923045814) + +- [Development Example](#section7441155155813) + +## Overview + +The Liquid Crystal Display \(LCD\) driver powers on the LCD and initializes internal LCD registers through APIs to enable the LCD to work properly. The display driver is developed based on the hardware driver foundation \([HDF](drive-hdf-overview.md)\). It provides power-on, power-off, and sending of the initialization sequence for LCD hardware across OSs and platforms. The display driver model is shown in [Figure 1](#fig69138814229). + +**Figure 1** Architecture of the display driver model +![](figure/architecture-of-the-display-driver-model.png "architecture-of-the-display-driver-model") + +- **Display driver model** + + The display driver model consists of the display common driver layer, SoC adapter layer, and third-party chip driver layer. The display driver model is developed based on the HDF and hides the differences between kernel forms through platform and OSAL APIs so the LCD driver can be migrated between different OSs and chip platforms. The display driver connects to the display common HAL, supports the implementation of Hardware Driver Interfaces \(HDIs\), and provides various driver interfaces for the graphics service through the display HDI. + + - Display common driver layer: connects to the display common HAL through the IOService data channel provided by the HDF to receive and process upper-layer calls in a centralized manner. + + - SoC adapter layer: decouples the display driver from the SoC driver, configures parameters related to the chip platform, and passes calls from the platform driver layer to the LCD driver layer. + + - Third-party chip driver layer: provides LCD-related APIs for sending the LCD initialization sequence, powering on or off the LCD device, and setting the backlight. + + The display driver model, capabilities, and APIs help you simplify the display driver development and improve the efficiency. + + +### API Description + +The LCD interfaces are classified into the Mobile Industry Processor Interface \(MIPI\) Display Serial Interface \(DSI\), Transistor-Transistor Logic \(TTL\) interfaces, and Low Voltage Differential Signaling \(LVDS\) interfaces. The MIPI DSI and TTL interfaces are commonly used. Here is a brief introduction to them. + +- MIPI DSI + + **Figure 2** MIPI DSI + ![](figure/mipi-dsi.png "mipi-dsi") + + The MIPI DSI is defined by MIPI Alliance. It is mainly used for mobile terminal display. The MIPI DSI is used to transmit image data, in compliance with the MIPI protocol. Generally, control information of the MIPI DSI is sent to the peer IC in the form of MIPI packets through the MIPI DSI. No additional interface is required. + +- TTL interface + + **Figure 3** TTL interface + ![](figure/ttl-interface.png "ttl-interface") + + TTL level signals are generated by TTL devices, which are a major type of digital integrated circuits. They are manufactured using the bipolar process and feature high speed, low power consumption, and multiple types. + + The TTL interface is used to transmit data in parallel mode under the control of control signals. It transmits data signals, clock signals, and control signals \(such as line synchronization signals, frame synchronization signals, and data validity signals\). Generally, the LCD of the TTL interface and the read/write of internal registers require additional peripheral interfaces, such as the Serial Peripheral Interface \(SPI\) and Inter-Integrated Circuit \(I2C\). + + +## Development Guidelines + +The display driver model is developed based on the HDF, platform APIs, and APIs at the OS abstraction layer \(OSAL\), and provides a unified driver model for the LCD regardless of the OS \(LiteOS or Linux OS\) and chip platforms \(such as Hi35xx, Hi38xx, and V3S\). + +### How to Develop + +1. Add the LCD driver-related hardware descriptions. +2. Add a driver that adapts to the chip at the SoC adapter layer. +3. Add the LCD panel driver and register the panel driver functions in the driver entry function **Init**. The functions provide capabilities for: + - Powering on/off the LCD device + + Based on the LCD hardware connection, use the GPIO interfaces provided by the platform to perform operations on the LCD pins, such as the reset pin and IOVCC pin. For details about the power-on sequence, see the SPEC provided by the LCD supplier. + + - Sending the initialization sequence + + Based on the LCD hardware interfaces, use the I2C, SPI, and MIPI interfaces provided by the platform to download the LCD initialization sequence. For details, see the SPEC provided by the LCD supplier. + + +4. Implement other HDF interfaces as required, for example, the **Release** interface. +5. Use the HDF to create other device nodes for implementing service logic or debugging as required. + +## Development Example Add the device description. @@ -106,7 +178,7 @@ The following example shows code for developing an LCD driver: #define VERTIACL_SYNC_WIDTH 2 #define FRAME_RATE 60 -/* Panel information structure */ +/* PanelInfo structure */ struct PanelInfo { uint32_t width; uint32_t height; diff --git a/en/device-dev/driver/sensor-driver-overview.md b/en/device-dev/driver/drive-peripherals-sensor-des.md similarity index 43% rename from en/device-dev/driver/sensor-driver-overview.md rename to en/device-dev/driver/drive-peripherals-sensor-des.md index b3d5e86797f..a787e632d8c 100644 --- a/en/device-dev/driver/sensor-driver-overview.md +++ b/en/device-dev/driver/drive-peripherals-sensor-des.md @@ -1,22 +1,28 @@ -# Sensor Driver Overview +# Sensor -- [Introduction](#section667413271505) -- [Available APIs](#section7255104114110) +- [Overview](#section3634112111) + - [Available APIs](#section188213414114) -## Introduction +- [Development Guidelines](#section1140943382) + - [How to Develop](#section7893102915819) + +- [Development Example](#section257750691) +- [Test Guidelines](#section106021256121219) + +## Overview The sensor driver module provides APIs for upper-layer sensor services to implement basic sensor capabilities, including querying the sensor list, enabling or disabling a sensor, subscribing to or unsubscribing from sensor data, and setting sensor options. The sensor driver model is developed based on the Hardware Driver Foundation \(HDF\) and supports functions such as cross-OS migration and differentiated device configuration. The following figure shows the architecture of the sensor driver model. **Figure 1** Architecture of the sensor driver model -![](figures/architecture-of-the-sensor-driver-model.png "architecture-of-the-sensor-driver-model") +![](figure/architecture-of-the-sensor-driver-model.png "architecture-of-the-sensor-driver-model") The sensor driver model offers the following APIs: -- Hardware Driver Interfaces \(HDIs\) for sensors: Facilitate service development. -- APIs for implementing sensor driver model capabilities: Implement the capabilities of registering, loading, and unregistering sensor drivers as well as detecting sensor devices depending on the HDF, normalize APIs for sensor devices of the same type, and offer APIs for parsing register configurations, abstract APIs for bus access, and abstract platform APIs. -- APIs to be implemented by developers: Based on the HDF Configuration Source \(HCS\), implement differentiated configuration for sensors of the same type and serialized configuration of sensor device parameters, and offer APIs for some sensor device operations to simplify sensor driver development. +- Hardware Driver Interfaces \(HDIs\) for sensors: These HDIs facilitate service development. +- APIs for implementing sensor driver model capabilities: These APIs implement the capabilities of registering, loading, and unregistering sensor drivers as well as detecting sensor devices depending on the HDF. The APIs include normalized APIs for sensor devices of the same type, APIs for parsing register configurations, abstract APIs for bus access, and abstract platform APIs. +- APIs to be implemented by developers: Based on the HDF Configuration Source \(HCS\), developers can implement differentiated configuration for sensors of the same type and serialized configuration of sensor device parameters. Some sensor device operations can be abstracted as APIs to simplify sensor driver development. -## Available APIs +### Available APIs The following table lists the APIs provided by the sensor driver model. @@ -199,7 +205,7 @@ The following table lists the APIs that need to be implemented by driver develop

    int32_t init(void)

    Initializes the configuration of a sensor device after it is detected successfully.

    +

    Initializes the configuration of a sensor device after it is detected.

    int32_t GetInfo(struct SensorBasicInfo *info)

    @@ -240,5 +246,684 @@ The following table lists the APIs that need to be implemented by driver develop
    -For details about the API implementation, see the [sensor driver development example](sensor-driver-development-example.md). +For details about the API implementation, see [Development Example](#section257750691). + +## Development Guidelines + +Regardless of the OS and system on a chip \(SoC\), the sensor driver is developed based on the HDF, platform, and OSAL APIs to provide a unified driver model for sensor devices. This section uses the acceleration sensor as an example to describe how to develop a sensor driver. + +### How to Develop + +1. Register the acceleration sensor driver. The HDF provides a unified driver management model. The HDF identifies and loads the target module driver based on the configuration of the acceleration sensor module. +2. Initialize and deinitialize the acceleration sensor driver. Using the **init** function, the HDF starts loading the sensor device driver and allocating configuration resources for sensor device data, respectively. Using the **release** function, the HDF releases the resources and configurations loaded by the driver. +3. Parse the configurations of the acceleration sensor register group. For different types of sensors, you must configure their respective HCS configuration files in the HCS, check whether the sensor device is in position during the device driver startup, and then load the corresponding configuration file to generate the configuration structure object. +4. Implement APIs for acceleration sensor driver operations. The driver APIs for various types of sensors, such as **init**, **GetInfo**, **Enable**, **Disable**, **SetBatch**, **SetMode**, **SetOption**, and **ReadSensorData**, are normalized to deliver sensor driver configurations and report sensor data. + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>The sensor driver model provides a collection of APIs to implement sensor driver capabilities, including the driver device management, abstract bus and platform operation, general configuration, and configuration parsing capabilities. For details about the APIs, see [Table 2](#table1156812588320). You need to implement the following APIs: some operations to perform on sensors \([Table 3](#table1083014911336)\), differentiated data configuration of the sensor HCS, and verification of basic driver functions. + +## Development Example + +This section uses a code example to demonstrate how to load and start the acceleration sensor driver based on the HDF driver model. For details about the mechanism, see [Driver Development](drive-hdf-development.md). This example uses the Bosch BMI160 acceleration sensor that communicates over I2C. + +1. Register the driver entry of the acceleration sensor. + +- Implementation of the entry function + +``` +/* Register the entry structure object of the acceleration sensor. */ +struct HdfDriverEntry g_sensorAccelDevEntry = { + .moduleVersion = 1, /* Version of the acceleration sensor module */ + .moduleName = "HDF_SENSOR_ACCEL", /* Name of the acceleration sensor module. The value must be the same as that of moduleName in the device_info.hcs file. */ + .Bind = BindAccelDriver, /* Binding function of the acceleration sensor */ + .Init = InitAccelDriver, /* Initialization function of the acceleration sensor */ + .Release = ReleaseAccelDriver, /* Resource release function of the acceleration sensor */ +}; + +/* Call HDF_INIT to register the driver entry with the HDF. When loading the driver, the HDF calls the Bind function first and then the Init function. If the Init function fails to be called, the HDF will call Release to release the driver resource and exit. +HDF_INIT(g_sensorAccelDevEntry); +``` + +- Acceleration sensor configuration + +The acceleration sensor model uses the HCS as the configuration source code. For details about the HCS configuration fields, see [Driver Configuration Management](drive-hdf-manage.md). + +``` +/* HCS configuration of the acceleration sensor device */ +device_sensor_accel :: device { + device0 :: deviceNode { + policy = 1; /* Policy for providing the driver service */ + priority = 105; /* Driver startup priority (0–200). A larger value indicates a lower priority. The default value 100 is recommended. The sequence for loading devices with the same priority is random. */ + preload = 2; /* Field for specifying whether to load the driver. The value 0 means to load the driver, and 2 means the opposite. */ + permission = 0664; /* Permission for the driver to create device nodes */ + moduleName = "HDF_SENSOR_ACCEL"; /* Driver name. The value must be the same as that of moduleName in the driver entry structure. */ + serviceName = "sensor_accel"; /* Name of the service provided by the driver. The name must be unique. */ + deviceMatchAttr = "hdf_sensor_accel_driver"; /* Keyword matching the private data of the driver. The value must be the same as that of match_attr in the private data configuration table of the driver. */ + } +} +``` + +1. Initialize and deinitialize the acceleration sensor driver. + +- Initialization entry function **init** + +``` +/* Bind the service provided by the acceleration sensor driver to the HDF. */ +int32_t BindAccelDriver(struct HdfDeviceObject *device) +{ + CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); + + static struct IDeviceIoService service = { + .object = {0}, + .Dispatch = DispatchAccel, + }; + device->service = &service; + + return HDF_SUCCESS; +} +/* After detecting that the device is in position, call RegisterAccelChipOps to register the differentiation adaptation function. */ +int32_t RegisterAccelChipOps(struct AccelOpsCall *ops) +{ + struct AccelDrvData *drvData = NULL; + + CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); + + drvData = AccelGetDrvData(); + drvData->ops.Init = ops->Init; + drvData->ops.ReadData = ops->ReadData; + return HDF_SUCCESS; +} +/* Hook the acceleration sensor driver normalization function. */ +static int32_t InitAccelOps(struct SensorDeviceInfo *deviceInfo) +{ + struct AccelDrvData *drvData = AccelGetDrvData(); + + (void)memset_s((void *)deviceInfo, sizeof(*deviceInfo), 0, sizeof(*deviceInfo)); + deviceInfo->ops.GetInfo = SetAccelInfo; + deviceInfo->ops.Enable = SetAccelEnable; + deviceInfo->ops.Disable = SetAccelDisable; + deviceInfo->ops.SetBatch = SetAccelBatch; + deviceInfo->ops.SetMode = SetAccelMode; + deviceInfo->ops.SetOption = SetAccelOption; + + if (memcpy_s(&deviceInfo->sensorInfo, sizeof(deviceInfo->sensorInfo), + &drvData->accelCfg->sensorInfo, sizeof(drvData->accelCfg->sensorInfo)) != EOK) { + HDF_LOGE("%s: copy sensor info failed", __func__); + return HDF_FAILURE; + } + /* The sensor type ID can be configured in the HCS configuration file or here. */ + drvData->accelCfg->sensorInfo.sensorTypeId = SENSOR_TAG_ACCELEROMETER; + drvData->accelCfg->sensorInfo.sensorId = SENSOR_TAG_ACCELEROMETER; + + return HDF_SUCCESS; +} +/* Initialize the sensor register. */ +static int32_t InitAccelAfterConfig(void) +{ + struct SensorDeviceInfo deviceInfo; + + if (InitAccelConfig() != HDF_SUCCESS) { + HDF_LOGE("%s: init accel config failed", __func__); + return HDF_FAILURE; + } + + if (InitAccelOps(&deviceInfo) != HDF_SUCCESS) { + HDF_LOGE("%s: init accel ops failed", __func__); + return HDF_FAILURE; + } + + if (AddSensorDevice(&deviceInfo) != HDF_SUCCESS) { + HDF_LOGE("%s: add accel device failed", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; +} +/* Call the device detection function to hook the differentiated device function. */ +static int32_t DetectAccelChip(void) +{ + int32_t num; + int32_t ret; + int32_t loop; + struct AccelDrvData *drvData = AccelGetDrvData(); + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + + num = sizeof(g_accelDetectIfList) / sizeof(g_accelDetectIfList[0]); + for (loop = 0; loop < num; ++loop) { + if (g_accelDetectIfList[loop].DetectChip != NULL) { + ret = g_accelDetectIfList[loop].DetectChip(drvData->accelCfg); + if (ret == HDF_SUCCESS) { + drvData->detectFlag = true; + break; + } + } + } + + if (loop == num) { + HDF_LOGE("%s: detect accel device failed", __func__); + drvData->detectFlag = false; + return HDF_FAILURE; + } + return HDF_SUCCESS; +} +/* The entry function of the acceleration sensor driver is used to initialize the structure object of the sensor private data, allocate space for the HCS data configuration object of the sensor, invoke the entry function for initializing the sensor HCS data configuration, detect whether the sensor device is in position, create the sensor data reporting timer, implement the sensor normalization API, and register the sensor device. */ +int32_t InitAccelDriver(struct HdfDeviceObject *device) +{ + /* Obtain the private data structure object of the sensor. */ + struct AccelDrvData *drvData = AccelGetDrvData(); + + /* When detecting sensors of the same type from different vendors, the function checks whether this type of sensors is in position. If yes, it no longer detects the other sensors of this type and directly returns the result. */ + if (drvData->detectFlag) { + HDF_LOGE("%s: accel sensor have detected", __func__); + return HDF_SUCCESS; + } + + CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); + /* Allocate space for the private data structure objects for storing sensor data configurations. The allocated space needs to be released when the driver is released. */ + drvData->accelCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*cfg)); + if (drvData->accelCfg == NULL) { + HDF_LOGE("%s: malloc sensor config data failed", __func__); + return HDF_FAILURE; + } + + drvData->accelCfg->regCfgGroup = &g_regCfgGroup[0]; + /* Initializing the sensor configuration data aims to parse the configuration information of the sensor communication bus, basic sensor information, sensor attributes, whether the sensor is in position, and register group information. */ + if (GetSensorBaseConfigData(device->property, drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: get sensor base config failed", __func__); + goto Base_CONFIG_EXIT; + } + + if (DetectAccelChip() != HDF_SUCCESS) { + HDF_LOGE("%s: accel sensor detect device no exist", __func__); + goto DETECT_CHIP_EXIT; + } + drvData->detectFlag = true; + if (ParseSensorRegConfig(drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: detect sensor device failed", __func__); + goto REG_CONFIG_EXIT; + } + + if (InitAccelAfterConfig() != HDF_SUCCESS) { + HDF_LOGE("%s: init accel after config failed", __func__); + goto INIT_EXIT; + } + + HDF_LOGI("%s: init accel driver success", __func__); + return HDF_SUCCESS; + +INIT_EXIT: + DestroySensorThread(&drvData->thread, &drvData->threadStatus); + (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); +REG_CONFIG_EXIT: + ReleaseSensorAllRegConfig(drvData->accelCfg); + (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); +DETECT_CHIP_EXIT: + drvData->detectFlag = false; +BASE_CONFIG_EXIT: + drvData->accelCfg->root = NULL; + drvData->accelCfg->regCfgGroup = NULL; + OsalMemFree(drvData->accelCfg); + drvData->accelCfg = NULL; + return HDF_FAILURE; +} + +/* Release the resources allocated during driver initialization. */ +void ReleaseAccelDriver(struct HdfDeviceObject *device) +{ + (void)device; + struct AccelDrvData *drvData = NULL; + + drvData = AccelGetDrvData(); + (void)DestroySensorThread(&drvData->thread, &drvData->threadStatus); + (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); + drvData->detectFlag = false; + + if (drvData->accelCfg != NULL) { + drvData->accelCfg->root = NULL; + drvData->accelCfg->regCfgGroup = NULL; + ReleaseSensorAllRegConfig(drvData->accelCfg); + (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); + OsalMemFree(drvData->accelCfg); + drvData->accelCfg = NULL; + } + + drvData->initStatus = false; +} +``` + +1. Configure the acceleration sensor register group. + +You only need to configure the acceleration sensor data according to the template. Template configuration parsing has been implemented via the **InitSensorConfigData** function and only needs to be called during initialization. If new configuration items are added, you need to modify this function accordingly. + +``` +Acceleration sensor data configuration template (accel_config.hcs) +root { + sensorAccelConfig { + accelChipConfig { + /* Sensor information template */ + template sensorInfo { + sensorName = "accelerometer"; /* Acceleration sensor name. The value contains a maximum of 16 bytes. */ + vendorName = "borsh_bmi160"; /* Sensor vendor name. The value contains a maximum of 16 bytes. */ + firmwareVersion = "1.0"; /* Sensor firmware version. The default value is 1.0. The value contains a maximum of 16 bytes. */ + hardwareVersion = "1.0"; /* Sensor hardware version. The default value is 1.0. The value contains a maximum of 16 bytes. */ + sensorTypeId = 1; /* Sensor type ID. For details, see SensorTypeTag. */ + sensorId = 1; /* Sensor ID, which is defined by the sensor driver developer. The SensorTypeTag enums are recommended. */ + maxRange = 8; /* Maximum measurement range of the sensor. Set this parameter based on your business requirements. */ + precision = 0; /* Sensor accuracy, which is used together with sensor data reporting. For details, see SensorEvents. */ + power = 230; /* Power consumption of the sensor */ + } + /* Template of the bus type and configuration information used by the sensor */ + template sensorBusConfig { + busType = 0; /* 0:i2c 1:spi */ + busNum = 6; /* Device ID allocated to the sensor on the chip */ + busAddr = 0; /* Address allocated to the sensor on the chip */ + regWidth = 1; /* Width of the sensor register address */ + regBigEndian = 0; /* Endian mode of the sensor register */ + } + /* Sensor attribute template */ + template sensorAttr { + chipName = ""; /* Sensor chip name */ + chipIdRegister = 0xf; /* Address of the register detecting whether the sensor is in position */ + chipIdValue = 0xd1; /* Value of the register detecting whether the sensor is in position */ + } + } + } +} + +/* You can modify the template configuration based on the differences of sensor devices. If no modification is made, the default template configuration is used. */ +root { + sensorAccelConfig { + accel_bmi160_chip_config : accelChipConfig { + match_attr = "hdf_sensor_accel_driver"; /* The value must be the same as the match_attr field configured for the acceleration sensor. */ + accelInfo :: sensorInfo { + vendorName = "borsh_bmi160"; + sensorTypeId = 1; + sensorId = 1; + } + accelBusConfig :: sensorBusConfig { + busType = 0; /* I2C communication mode */ + busNum = 6; + busAddr = 0x68; + regWidth = 1; /* 1-byte bit width */ + } + accelAttr :: sensorAttr { + chipName = "bmi160"; + chipIdRegister = 0x00; + chipIdValue = 0xd1; + } + accelRegConfig { + /* regAddr: Register address + value: Register value + mask: Mask of the register value + len: Length (in bytes) of the register value + delay: Register delay (in milliseconds) + opsType: Operation type. The options can be 0 (no operation), 1 (read), 2 (write), 3 (read and check), and 4 (bit update). + calType: Calculation type. The options can be 0 (none), 1 (write), 2 (negate), 3 (XOR) 4, (left shift), and 5 (right shift). + shiftNum: Number of shifts + debug: Debugging switch. The value can be 0 (disabled) or 1 (enabled). + save: Data saving switch. The value can be 0 (not save data) or 1 (save data). + */ + /* Groups of sensor register operations. Registers can be configured in sequence based on the groups. */ + /* Register address, register value, mask of the register value, data length of the register value, register delay, operation type, calculation type, number of shifts, debugging switch, data saving switch */ + /* Initialize the register groups. */ + initSeqConfig = [ + 0x7e, 0xb6, 0xff, 1, 5, 2, 0, 0, 0, 0, + 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 + ]; + /* Enable the register groups. */ + enableSeqConfig = [ + 0x7e, 0x11, 0xff, 1, 5, 2, 0, 0, 0, 0, + 0x41, 0x03, 0xff, 1, 0, 2, 0, 0, 0, 0, + 0x40, 0x08, 0xff, 1, 0, 2, 0, 0, 0, 0 + ]; + /* Disable the register groups. */ + disableSeqConfig = [ + 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 + ]; + } + } + } +} +``` + +1. Implement APIs for acceleration sensor driver operations. + +You need to implement normalized APIs based on sensor types. + +``` +/* Leave a function empty if it is not used. */ +static int32_t SetAccelInfo(struct SensorBasicInfo *info) +{ + (void)info; + + return HDF_ERR_NOT_SUPPORT; +} +/* Deliver the configuration of enabling the register groups. */ +static int32_t SetAccelEnable(void) +{ + int32_t ret; + struct AccelDrvData *drvData = AccelGetDrvData(); + + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel sensor disable config failed", __func__); + return HDF_FAILURE; + } + + drvData->threadStatus = SENSOR_THREAD_RUNNING; + + return HDF_SUCCESS; +} +/* Deliver the configuration of disabling the register groups. */ +static int32_t SetAccelDisable(void) +{ + int32_t ret; + struct AccelDrvData *drvData = AccelGetDrvData(); + + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + + ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel sensor disable config failed", __func__); + return HDF_FAILURE; + } + + drvData->threadStatus = SENSOR_THREAD_STOPPED; + + return HDF_SUCCESS; +} +/* Set the sampling interval and data reporting interval of the sensor. */ +static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) +{ + (void)interval; + + struct AccelDrvData *drvData = AccelGetDrvData(); + drvData->interval = samplingInterval; + + return HDF_SUCCESS; +} +/* Set the data reporting mode of the sensor. Currently, the real-time mode is supported. */ +static int32_t SetAccelMode(int32_t mode) +{ + return (mode == SENSOR_WORK_MODE_REALTIME) ? HDF_SUCCESS : HDF_FAILURE; +} +/* Set the sensor options. */ +static int32_t SetAccelOption(uint32_t option) +{ + (void)option; + return HDF_ERR_NOT_SUPPORT; +} +``` + +- Differentiated processing APIs + + ``` + /* If a device is detected, register the differentiated processing function to the accel driver model. */ + int32_t DetectAccelBim160Chip(struct SensorCfgData *data) + { + int32_t ret; + struct AccelOpsCall ops; + CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); + + if (strcmp(ACCEL_CHIP_NAME_BMI160, data->sensorAttr.chipName) != 0) { + return HDF_SUCCESS; + } + ret = InitAccelPreConfig(); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: init BMI160 bus mux config", __func__); + return HDF_FAILURE; + } + if (DetectSensorDevice(data) != HDF_SUCCESS) { + return HDF_FAILURE; + } + + /* Differentiated processing function */ + ops.Init = InitBmi160; + ops.ReadData = ReadBmi160Data; + ret = RegisterAccelChipOps(&ops); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: register BMI160 accel failed", __func__); + (void)ReleaseSensorBusHandle(&data->busCfg); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + /* Initialization processing function */ + static int32_t InitBmi160(struct SensorCfgData *data) + { + int32_t ret; + + CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); + ret = SetSensorRegCfgArray(&data->busCfg, data->regCfgGroup[SENSOR_INIT_GROUP]); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: bmi160 sensor init config failed", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + /* Data processing function */ + int32_t ReadBmi160Data(struct SensorCfgData *data) + { + int32_t ret; + struct AccelData rawData = { 0, 0, 0 }; + int32_t tmp[ACCEL_AXIS_NUM]; + struct SensorReportEvent event; + + (void)memset_s(&event, sizeof(event), 0, sizeof(event)); + + ret = ReadBmi160RawData(data, &rawData, &event.timestamp); + if (ret != HDF_SUCCESS) { + return HDF_FAILURE; + } + + event.sensorId = SENSOR_TAG_ACCELEROMETER; + event.option = 0; + event.mode = SENSOR_WORK_MODE_REALTIME; + + rawData.x = rawData.x * BMI160_ACC_SENSITIVITY_2G; + rawData.y = rawData.y * BMI160_ACC_SENSITIVITY_2G; + rawData.z = rawData.z * BMI160_ACC_SENSITIVITY_2G; + + tmp[ACCEL_X_AXIS] = (rawData.x * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; + tmp[ACCEL_Y_AXIS] = (rawData.y * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; + tmp[ACCEL_Z_AXIS] = (rawData.z * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; + + event.dataLen = sizeof(tmp); + event.data = (uint8_t *)&tmp; + ret = ReportSensorEvent(&event); + return ret; + } + ``` + +- Data processing function + +Create a sensor timer to periodically sample data based on the configured sampling interval and report the data to the data subscriber. + +``` +/* Scheduled working thread of the sensor */ +static int32_t ReadAccelDataThreadWorker(void *arg) +{ + (void)arg; + int64_t interval; + struct AccelDrvData *drvData = AccelGetDrvData(); + + drvData->threadStatus = SENSOR_THREAD_START; + while (true) { + if (drvData->threadStatus == SENSOR_THREAD_RUNNING) { + if (drvData->ops.ReadData != NULL) { + (void)drvData->ops.ReadData(drvData->accelCfg); + } + interval = OsalDivS64(drvData->interval, (SENSOR_CONVERT_UNIT * SENSOR_CONVERT_UNIT)); + OsalMSleep(interval); + } else if (drvData->threadStatus == SENSOR_THREAD_DESTROY) { + break; + } else { + OsalMSleep(ACC_DEFAULT_SAMPLING_200_MS / SENSOR_CONVERT_UNIT / SENSOR_CONVERT_UNIT); + } + + if ((!drvData->initStatus) || (drvData->interval < 0) || drvData->threadStatus != SENSOR_THREAD_RUNNING) { + continue; + } + } + + return HDF_SUCCESS; +} +/* Create a sensor timer and initialize the sensor device. */ +static int32_t InitAccelConfig(void) +{ + int32_t ret; + struct AccelDrvData *drvData = AccelGetDrvData(); + + if (drvData->threadStatus != SENSOR_THREAD_NONE && drvData->threadStatus != SENSOR_THREAD_DESTROY) { + HDF_LOGE("%s: accel thread have created", __func__); + return HDF_SUCCESS; + } + + ret = CreateSensorThread(&drvData->thread, ReadAccelDataThreadWorker, "hdf_sensor_accel", drvData); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel create thread failed", __func__); + drvData->threadStatus = SENSOR_THREAD_NONE; + return HDF_FAILURE; + } + + CHECK_NULL_PTR_RETURN_VALUE(drvData->ops.Init, HDF_ERR_INVALID_PARAM); + + ret = drvData->ops.Init(drvData->accelCfg); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: accel create thread failed", __func__); + drvData->threadStatus = SENSOR_THREAD_NONE; + return HDF_FAILURE; + } + drvData->initStatus = true; + return HDF_SUCCESS; +} +``` + +- Major data structures + +``` +/* Sensor conversion units */ +#define SENSOR_CONVERT_UNIT 1000 +#define SENSOR_1K_UNIT 1024 +/* Sensitivity conversion value of the sensor with a 2g measurement range */ +#define BMI160_ACC_SENSITIVITY_2G 61 +/* Address of the sensor data sampling register */ +#define BMI160_ACCEL_X_LSB_ADDR 0X12 +#define BMI160_ACCEL_X_MSB_ADDR 0X13 +#define BMI160_ACCEL_Y_LSB_ADDR 0X14 +#define BMI160_ACCEL_Y_MSB_ADDR 0X15 +#define BMI160_ACCEL_Z_LSB_ADDR 0X16 +#define BMI160_ACCEL_Z_MSB_ADDR 0X17 +/* Data dimension of the sensor */ +enum AccelAxisNum { + ACCEL_X_AXIS = 0, + ACCEL_Y_AXIS = 1, + ACCEL_Z_AXIS = 2, + ACCEL_AXIS_NUM = 3, +}; +/* Each dimension of the sensor */ +struct AccelData { + int32_t x; + int32_t y; + int32_t z; +}; +/* Private data structure of the sensor */ +struct AccelDrvData { + bool detectFlag; + uint8_t threadStatus; + uint8_t initStatus; + int64_t interval; + struct SensorCfgData *accelCfg; + struct OsalThread thread; + struct AccelOpsCall ops; +}; +/* Differentiation adaptation function */ +struct AccelOpsCall { + int32_t (*Init)(struct SensorCfgData *data); + int32_t (*ReadData)(struct SensorCfgData *data); +}; +``` + +## Test Guidelines + +After the driver is developed, you can develop self-test cases in the sensor unit test to verify the basic functions of the driver. The developer self-test platform is used as the test environment. + +``` +/* Specify whether to report sensor data. */ +static int32_t g_sensorDataFlag = 0; +/* Retain the address of the sensor interface instance. */ +static const struct SensorInterface *g_sensorDev = nullptr; + +/* Register the data reporting function. */ +static int SensorTestDataCallback(struct SensorEvents *event) +{ + if (event == nullptr) { + return -1; + } + float *data = (float*)event->data; + printf("time [%lld] sensor id [%d] x-[%f] y-[%f] z-[%f]\n\r", event->timestamp, + event->sensorId, (*data), *(data + 1), *(data + g_axisZ)); + if (*data > 1e-5) { + g_sensorDataFlag = 1; + } + return 0; +} +/* Initialize the sensor interface instance before executing the test cases. */ +void HdfSensorTest::SetUpTestCase() +{ + g_sensorDev = NewSensorInterfaceInstance(); + if (g_sensorDev == nullptr) { + printf("test sensorHdi get Module instace failed\n\r"); + } +} +/* Release case resources. */ +void HdfSensorTest::TearDownTestCase() +{ + if (g_sensorDev != nullptr) { + FreeSensorInterfaceInstance(); + g_sensorDev = nullptr; + } +} +/* Verify the sensor driver. */ +HWTEST_F(HdfSensorTest,TestAccelDriver_001, TestSize.Level0) +{ + int32_t sensorInterval = 1000000000; /* Data sampling interval, in nanoseconds */ + int32_t pollTime = 5; /* Data sampling duration, in seconds */ + int32_t accelSensorId = 1; /* Acceleration sensor type ID, which is 1 */ + int32_t count = 0; + int ret; + struct SensorInformation *sensorInfo = nullptr; + + ret = g_sensorDev->Register(SensorTestDataCallback) + EXPECT_EQ(SENSOR_NULL_PTR, ret); + + ret = g_sensorDev->GetAllSensors(&sensorInfo, &count); + EXPECT_EQ(0, ret); + if (sensorInfo == nullptr) { + EXPECT_NE(nullptr, sensorInfo); + return; + } + /* Print the obtained sensor list. */ + for (int i = 0; i < count; i++) { + printf("get sensoriId[%d], info name[%s]\n\r", sensorInfo[i]->sensorId, sensorInfo[i]->sensorName); + } + ret = g_sensorDev->Enable(accelSensorId); + EXPECT_EQ(0, ret); + g_sensorDataFlag = 0; + + ret = g_sensorDev->SetBatch(accelSensorId, sensorInterval, pollTime); + EXPECT_EQ(0, ret); + /* Observe the printed data within the period specified by pollTime. */ + OsalSleep(pollTime); + EXPECT_EQ(1, g_sensorDataFlag); + + ret = g_sensorDev->Disable(accelSensorId); + g_sensorDataFlag = 0; + EXPECT_EQ(0, ret); + + ret = g_sensorDev->Unregister(); + EXPECT_EQ(0, ret); +} +``` diff --git a/en/device-dev/driver/touchscreendevelopment-example.md b/en/device-dev/driver/drive-peripherals-touch-des.md similarity index 57% rename from en/device-dev/driver/touchscreendevelopment-example.md rename to en/device-dev/driver/drive-peripherals-touch-des.md index 8d49343af5e..274355990ed 100644 --- a/en/device-dev/driver/touchscreendevelopment-example.md +++ b/en/device-dev/driver/drive-peripherals-touch-des.md @@ -1,14 +1,124 @@ -# Touchscreen Development Example +# TOUCHSCREEN -- [Device Description Configuration](#section85281142102317) -- [Board-level Hardware Configuration and Private Data Configuration](#section189081946192410) -- [Adding the Touchscreen Driver](#section19856687253) +- [Overview](#section175431838101617) + - [Available APIs](#section17667171301711) + +- [Development Guidelines](#section65745222184) + - [How to Develop](#section865734181916) + +- [Development Example](#section263714411191) + - [Add the touchscreen driver-related descriptions.](#section18249155619195) + - [Board-level Hardware Configuration and Private Data Configuration](#section3571192072014) + - [Adding the Touchscreen Driver](#section6356758162015) + + +## Overview + +- **Functions of the Touchscreen driver** + + The Touchscreen driver is used to power on its integrated circuit \(IC\), configure and initialize hardware pins, register interrupts, configure Inter-Integrated Circuit \(I2C\) or SPI APIs, set input-related configurations, and download and update firmware. + + +- **Layers of the Touchscreen driver** + + This section describes how to develop the touchscreen driver based on the input driver model. [Figure 1](#fig6251184817261) shows an overall architecture of the touchscreen driver. + + The input driver is developed based on the hardware driver foundation \(HDF\), platform APIs, and operating system abstraction layer \(OSAL\) APIs. It provides hardware driver capabilities through the input Hardware Driver Interfaces \(HDIs\) for upper-layer input services to control the touchscreen. + + +**Figure 1** Architecture of the input driver model +![](figure/architecture-of-the-input-driver-model.png "architecture-of-the-input-driver-model") + +- **Input driver model** + + The input driver model mainly consists of the device manager, common drivers, and chip drivers. The platform data channel provides capabilities for sending data generated by the touchscreen from the kernel to the user space. The driver model adapts to different touchscreen devices and hardware platforms via the configuration file, improving the efficiency of the touchscreen development. The description for each part of the input driver model is as follows: + + - Input device manager: provides input device drivers with the APIs for registering or unregistering input devices and manages the input device list. + + - Input common driver: provides common abstract drivers \(such as the touchscreen common driver\) of various input devices for initializing the board-level hardware, processing hardware interrupts, and registering input devices with the input device manager. + + - Input chip driver: provides different chip drivers of each vendor. You can minimize the workload for the input chip driver development by calling differentiated APIs reserved by the input platform driver. + + - Event hub: provides a unified data reporting channel, which enables input devices to report input events. + + - HDF input config: parses and manages the board-level configuration as well as the private configuration of input devices. + + +- **Advantages of developing drivers based on the HDF** + + The touchscreen driver is developed based on the [HDF](drive-hdf-development.md) and is implemented via calls to the OSAL and platform APIs, including bus APIs and OS native APIs \(such as memory, lock, thread, and timer\). The OSAL and platform APIs hide the differences of underlying hardware, so that the touchscreen driver can be migrated across platforms and OSs. In this regard, you can develop the touchscreen driver only once but deploy it on multiple devices. + + +### Available APIs + +Based on the attributes of the pins, interfaces on the touchscreens can be classified into the following types: + +- Power interfaces +- I/O control interfaces +- Communications interfaces + +**Figure 2** Common pins of the touchscreen +![](figure/common-pins-of-the-touchscreen.png "common-pins-of-the-touchscreen") + +The interfaces shown in the figure are described as follows: + +1. **Power interfaces** + - LDO\_1P8: 1.8 V digital circuits + - LDO\_3P3: 3.3 V analog circuits + + Generally, the touchscreen driver IC is separated from the LCD driver IC. In this case, the touchscreen driver IC requires both 1.8 V and 3.3 V power supplies. Nowadays, the touchscreen driver IC and LCD driver IC can be integrated. Therefore, the touchscreen, requires only the 1.8 V power supply, and the 3.3 V power required internally is supplied by the LCD VSP power \(typical value: 5.5 V\) in the driver IC. + + +2. **I/O control interfaces** + - RESET: reset pin, which is used to reset the driver IC on the host when suspending or resuming the system. + - INT: interrupt pin, which needs to be set to the input direction and pull-up status during driver initialization. After detecting an external touch signal, the driver triggers the interrupt by operating the interrupt pin. The driver reads the touch reporting data in the ISR function. + +3. **Communications interfaces** + - I2C: Since only a small amount of touch data is reported by the touchscreen, I2C is used to transmit the reported data. For details about the I2C protocol and interfaces, see [I2C](drive-platform-i2c-des.md#section1695201514281). + - SPI: In addition to touch reporting data coordinates, some vendors need to obtain basic capacitance data. Therefore, Serial Peripheral Interface \(SPI\) is used to transmit such huge amount of data. For details about the SPI protocol and interfaces, see [SPI](drive-platform-spi-des.md#section71363452477). + + +## Development Guidelines + +Regardless of the OS and system on a chip \(SoC\), the input driver is developed based on the HDF, platform, and OSAL APIs to provide a unified driver model for touchscreen devices. + +- The following uses the touchscreen driver as an example to describe the loading process of the input driver model: + + \(1\) Complete the device description configuration, such as the loading priority, board-level hardware information, and private data, by referring to the existing template. + + \(2\) Load the input device management driver. The input management driver is loaded automatically by the HDF to create and initialize the device manager. + + \(3\) Load the platform driver. The platform driver is loaded automatically by the HDF to parse the board-level configuration, initialize the hardware, and provide the API for registering the touchscreen. + + \(4\) Load the touchscreen driver. The touchscreen driver is loaded automatically by the HDF to instantiate the touchscreen device, parse the private data, and implement differentiated APIs provided by the platform. + + \(5\) Register the instantiated touchscreen device with the platform driver. Then bind this device to the platform driver, and complete touchscreen initialization such as interrupt registration and power-on and power-off. + + \(6\) Instantiate the input device and register it with the input manager after the touchscreen is initialized. + + +### How to Develop + +1. Add the touchscreen driver-related descriptions. + + Currently, the input driver is developed based on the HDF and is loaded and started by the HDF. Register the driver information, such as whether to load the driver and the loading priority in the configuration file. Then, the HDF starts the registered driver modules one by one. For details about the driver configuration, see [Driver Development](drive-hdf-development.md#section1969312275533). + +2. Complete the board-level configuration and private data configuration of the touchscreen. + + Configure the required I/O pins. For example, configure a register for the I2C pin reserved for the touchscreen to use I2C for transmitting data. + +3. Implement differentiated adaptation APIs of the touchscreen. + + Use the platform APIs to perform operations for the reset pins, interrupt pins, and power based on the communications interfaces designed for boards. For details about the GPIO-related operations, see [GPIO](drive-platform-gpio-des.md#section259614242196). + + +## Development Example This example describes how to develop the touchscreen driver. -## Device Description Configuration +### Add the touchscreen driver-related descriptions. -The information about modules of the input driver model is shown as follows and enables the HDF to load the modules in sequence. For details, see [Driver Development](driver-development.md). +The information about modules of the input driver model is shown as follows and enables the HDF to load the modules in sequence. For details, see [Driver Development](drive-hdf-development.md). ``` input :: host { @@ -51,9 +161,9 @@ input :: host { } ``` -## Board-level Hardware Configuration and Private Data Configuration +### Board-level Hardware Configuration and Private Data Configuration -The following describes the configuration of the board-level hardware and private data of the touchscreen. You can modify the configuration based on the service requirements. +The following describes the configuration of the board-level hardware and private data of the touchscreen. You can modify the configuration based on service requirements. ``` root { @@ -140,7 +250,7 @@ root { } ``` -## Adding the Touchscreen Driver +### Adding the Touchscreen Driver The following example shows how to implement the differentiated APIs provided by the platform driver to obtain and parse the touchscreen data. You can adjust the development process based on the board and touchscreen in use. diff --git a/en/device-dev/driver/drive-peripherals.md b/en/device-dev/driver/drive-peripherals.md new file mode 100644 index 00000000000..074c08226b9 --- /dev/null +++ b/en/device-dev/driver/drive-peripherals.md @@ -0,0 +1,11 @@ +# Peripherals + +- **[LCD](drive-peripherals-lcd-des.md)** + +- **[TOUCHSCREEN](drive-peripherals-touch-des.md)** + +- **[Sensor](drive-peripherals-sensor-des.md)** + +- **[WLAN](drive-peripherals-external-des.md)** + + diff --git a/en/device-dev/driver/gpiousage-guidelines.md b/en/device-dev/driver/drive-platform-gpio-des.md similarity index 57% rename from en/device-dev/driver/gpiousage-guidelines.md rename to en/device-dev/driver/drive-platform-gpio-des.md index 67c29e26454..045a23db3e9 100644 --- a/en/device-dev/driver/gpiousage-guidelines.md +++ b/en/device-dev/driver/drive-platform-gpio-des.md @@ -1,23 +1,108 @@ -# GPIO Usage Guidelines - -- [How to Use](#section1583613406410) -- [Determining a GPIO Pin Number](#section135943361443) -- [Using APIs to Operate GPIO Pins](#section69151114115315) - -## How to Use +# GPIO + +- [Overview](#section1635911016188) + - [Available APIs](#section17715915181611) + +- [Usage Guidelines](#section259614242196) + - [How to Use](#section103477714216) + - [Determining a GPIO Pin Number](#section370083272117) + - [Using APIs to Operate GPIO Pins](#section13604050132118) + +- [Usage Example](#section25941262111) + +## Overview + +Generally, a general-purpose input/output \(GPIO\) controller manages all GPIO pins by group. Each group of GPIO pins is associated with one or more registers. The GPIO pins are operated by reading data from and writing data to the registers. + +The GPIO APIs define a set of standard functions for performing operations on GPIO pins, including: + +- Setting the pin direction, which can be input or output \(High impedance is not supported currently.\) + +- Reading and writing level values, which can be low or high +- Setting an interrupt service routine \(ISR\) function and interrupt trigger mode for a pin +- Enabling or disabling a pin interrupt + +### Available APIs + +**Table 1** APIs available for the GPIO driver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    GPIO read/write

    +

    GpioRead

    +

    Reads the level value of a GPIO pin.

    +

    GpioWrite

    +

    Writes the level value of a GPIO pin.

    +

    GPIO settings

    +

    GpioSetDir

    +

    Sets the direction for a GPIO pin.

    +

    GpioGetDir

    +

    Obtains the direction for a GPIO pin.

    +

    GPIO interrupt settings

    +

    GpioSetIrq

    +

    Sets the ISR function for a GPIO pin.

    +

    GpioUnSetIrq

    +

    Cancels the setting of the ISR function for a GPIO pin.

    +

    GpioEnableIrq

    +

    Enables a GPIO interrupt.

    +

    GpioDisableIrq

    +

    Disables a GPIO interrupt.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions provided in this document can be called only in kernel mode. + +## Usage Guidelines + +### How to Use The GPIO APIs use the GPIO pin number to specify a pin. [Figure 1](#fig1399416053717) shows the general process of using a GPIO. **Figure 1** Process of using a GPIO -![](figures/en-us_image_0000001057342245.png) +![](figure/en-us_image_0000001170187071.png) -## Determining a GPIO Pin Number +### Determining a GPIO Pin Number The method for converting GPIO pin numbers varies according to the GPIO controller model, parameters, and controller driver of different system on chips \(SoCs\). -- Hi3516D V300 +- Hi3516DV300 A controller manages 12 groups of GPIO pins. Each group contains 8 GPIO pins. @@ -25,7 +110,7 @@ The method for converting GPIO pin numbers varies according to the GPIO controll Example: GPIO number of GPIO10\_3 = 10 x 8 + 3 = 83 -- Hi3518E V300 +- Hi3518EV300 A controller manages 10 groups of GPIO pins. Each group contains 10 GPIO pins. @@ -34,7 +119,7 @@ The method for converting GPIO pin numbers varies according to the GPIO controll Example: GPIO pin number of GPIO7\_3 = 7 x 10 + 3 = 73 -## Using APIs to Operate GPIO Pins +### Using APIs to Operate GPIO Pins - Set the direction for a GPIO pin. @@ -42,12 +127,12 @@ The method for converting GPIO pin numbers varies according to the GPIO controll int32\_t GpioSetDir\(uint16\_t gpio, uint16\_t dir\); - **Table 1** Description of GpioSetDir + **Table 2** Description of GpioSetDir -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    gpio

    @@ -60,36 +145,37 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    Direction to set.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    The setting is successful.

    +

    Succeeded in setting the direction for a GPIO pin.

    Negative value

    The setting failed.

    +

    Failed to set the direction for a GPIO pin.

    + - Read or write the level value for a GPIO pin. To read the level value of a GPIO pin, call the following function: int32\_t GpioRead\(uint16\_t gpio, uint16\_t \*val\); - **Table 2** Description of GpioRead + **Table 3** Description of GpioRead -

    Parameter

    + - - -

    Parameter

    Description

    +

    Description

    gpio

    @@ -102,9 +188,9 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    Pointer to the level value.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -124,12 +210,12 @@ The method for converting GPIO pin numbers varies according to the GPIO controll int32\_t GpioWrite\(uint16\_t gpio, uint16\_t val\); - **Table 3** Description of GpioWrite + **Table 4** Description of GpioWrite -

    Parameter

    + - - -

    Parameter

    Description

    +

    Description

    gpio

    @@ -142,9 +228,9 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    Level value to write.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -194,12 +280,12 @@ The method for converting GPIO pin numbers varies according to the GPIO controll int32\_t GpioSetIrq\(uint16\_t gpio, uint16\_t mode, GpioIrqFunc func, void \*arg\); - **Table 4** Description of GpioSetIrq + **Table 5** Description of GpioSetIrq -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    gpio

    @@ -222,37 +308,37 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    Pointer to the parameters passed to the ISR function.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    The setting is successful.

    +

    Succeeded in setting the ISR function for a GPIO pin.

    Negative value

    The setting failed.

    +

    Failed to set the ISR function for a GPIO pin.

    - >![](public_sys-resources/icon-caution.gif) **CAUTION:** + >![](../public_sys-resources/icon-caution.gif) **CAUTION:** >Only one ISR function can be set for a GPIO pin at a time. If **GpioSetIrq** is called repeatedly, the previous IRS function will be replaced. If the ISR function is no longer required, call the following function to cancel the setting: int32\_t GpioUnSetIrq\(uint16\_t gpio\); - **Table 5** Description of GpioUnSetIrq + **Table 6** Description of GpioUnSetIrq -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    gpio

    @@ -260,14 +346,14 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    GPIO pin number.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    The ISR function is canceled.

    +

    Succeeded in canceling the ISR function.

    Negative value

    @@ -282,12 +368,12 @@ The method for converting GPIO pin numbers varies according to the GPIO controll int32\_t GpioEnableIrq\(uint16\_t gpio\); - **Table 6** Description of GpioEnableIrq + **Table 7** Description of GpioEnableIrq -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    gpio

    @@ -295,14 +381,14 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    GPIO pin number.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    The GPIO interrupt is enabled.

    +

    Succeeded in enabling a GPIO interrupt.

    Negative value

    @@ -313,19 +399,19 @@ The method for converting GPIO pin numbers varies according to the GPIO controll
    - >![](public_sys-resources/icon-caution.gif) **CAUTION:** - >The configured ISR function can be responded only after the ISR function is enabled. + >![](../public_sys-resources/icon-caution.gif) **CAUTION:** + >The configured ISR function can be responded only after the GPIO interrupt is enabled. Use the following function to disable the GPIO interrupt: int32\_t GpioDisableIrq\(uint16\_t gpio\); - **Table 7** Description of GpioDisableIrq + **Table 8** Description of GpioDisableIrq -

    Parameter

    + - - - - - @@ -393,3 +479,82 @@ The method for converting GPIO pin numbers varies according to the GPIO controll ``` +## Usage Example + +In this example, we test the interrupt trigger of a GPIO pin as follows: Set the ISR function for the pin, set the trigger mode to rising edge and failing edge, write high and low levels to the pin alternately to generate level fluctuation, and observe the execution of the ISR function. + +Select an idle GPIO pin. This example uses a Hi3516D V300 development board and GPIO pin GPIO10\_3, which is numbered GPIO83. + +You can select an idle GPIO pin based on the development board and schematic diagram. + +``` +#include "gpio_if.h" +#include "hdf_log.h" +#include "osal_irq.h" +#include "osal_time.h" + +static uint32_t g_irqCnt; + +/* ISR function */ +static int32_t TestCaseGpioIrqHandler(uint16_t gpio, void *data) +{ + HDF_LOGE("%s: irq triggered! on gpio:%u, data=%p", __func__, gpio, data); + g_irqCnt++; /* If the ISR function is triggered, the number of global interrupts is incremented by 1. */ + return GpioDisableIrq(gpio); +} + +/* Test case function */ +static int32_t TestCaseGpioIrqEdge(void) +{ + int32_t ret; + uint16_t valRead; + uint16_t mode; + uint16_t gpio = 83; /* Number of the GPIO pin to test */ + uint32_t timeout; + + /* Set the output direction for the pin. */ + ret = GpioSetDir(gpio, GPIO_DIR_OUT); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set dir fail! ret:%d\n", __func__, ret); + return ret; + } + + /* Disable the interrupt of the pin. */ + ret = GpioDisableIrq(gpio); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: disable irq fail! ret:%d\n", __func__, ret); + return ret; + } + + /* Set the ISR function for the pin. The trigger mode is both rising edge and falling edge. */ + mode = OSAL_IRQF_TRIGGER_RISING | OSAL_IRQF_TRIGGER_FALLING; + HDF_LOGE("%s: mode:%0x\n", __func__, mode); + ret = GpioSetIrq(gpio, mode, TestCaseGpioIrqHandler, NULL); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set irq fail! ret:%d\n", __func__, ret); + return ret; + } + + /* Enable the interrupt for this pin. */ + ret = GpioEnableIrq(gpio); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: enable irq fail! ret:%d\n", __func__, ret); + (void)GpioUnSetIrq(gpio); + return ret; + } + + g_irqCnt = 0; /* Reset the global counter. */ + timeout = 0; /* Reset the waiting time. */ + /* Wait for the ISR function of this pin to trigger. The timeout duration is 1000 ms. */ + while (g_irqCnt <= 0 && timeout < 1000) { + (void)GpioRead(gpio, &valRead); + (void)GpioWrite(gpio, (valRead == GPIO_VAL_LOW) ? GPIO_VAL_HIGH : GPIO_VAL_LOW); + HDF_LOGE("%s: wait irq timeout:%u\n", __func__, timeout); + OsalMDelay(200); /* wait for irq trigger */ + timeout += 200; + } + (void)GpioUnSetIrq(gpio); + return (g_irqCnt > 0) ? HDF_SUCCESS : HDF_FAILURE; +} +``` + diff --git a/en/device-dev/driver/i2c-usage-guidelines.md b/en/device-dev/driver/drive-platform-i2c-des.md similarity index 37% rename from en/device-dev/driver/i2c-usage-guidelines.md rename to en/device-dev/driver/drive-platform-i2c-des.md index 9a207bcc387..7b70a9fbd02 100644 --- a/en/device-dev/driver/i2c-usage-guidelines.md +++ b/en/device-dev/driver/drive-platform-i2c-des.md @@ -1,31 +1,94 @@ -# I2C Usage Guidelines +# I2C -- [How to Use](#section333203315215) -- [Opening an I2C Controller](#section123631358135713) -- [Performing I2C Communication](#section11091522125812) -- [Closing an I2C Controller](#section13519505589) +- [Overview](#section5361140416) + - [Available APIs](#section459052019177) -## How to Use +- [Usage Guidelines](#section1695201514281) + - [How to Use](#section1338373417288) + - [Opening an I2C Controller](#section13751110132914) + - [Performing I2C Communication](#section9202183372916) + - [Closing an I2C Controller](#section19481164133018) -[Figure 1](#fig166181128151112) illustrates the process of an I2C device. +- [Usage Example](#section5302202015300) -**Figure 1** Process of using an I2C device +## Overview +- The Inter-Integrated Circuit \(I2C\) is a simple, bidirectional, and synchronous serial bus that uses merely two wires. +- In an I2C communication, one controller communicates with one or more devices through the serial data line \(SDA\) and serial clock line \(SCL\), as shown in [Figure 1](#fig1135561232714). -![](figures/en-us_image_0000001057902344.png) +- I2C data transfer must begin with a **START** condition and end with a **STOP** condition. Data is transmitted byte-by-byte from the most significant bit to the least significant bit. +- Each I2C node is recognized by a unique address and can serve as either a controller or a device. When the controller needs to communicate with a device, it writes the device address to the bus through broadcast. A device matching this address sends a response to set up a data transfer channel. -## Opening an I2C Controller +- The I2C APIs define a set of common functions for I2C data transfer, including: + + - I2C controller management: opening or closing an I2C controller + - I2C message transfer: custom transfer by using a message array + + **Figure 1** Physical connection diagram for I2C + ![](figure/physical-connection-diagram-for-i2c.png "physical-connection-diagram-for-i2c") + + +### Available APIs + +**Table 1** APIs available for the I2C driver + + +

    Parameter

    Description

    +

    Description

    gpio

    @@ -333,19 +419,19 @@ The method for converting GPIO pin numbers varies according to the GPIO controll

    GPIO pin number.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    The GPIO interrupt is disabled.

    +

    Succeeded in disabling a GPIO interrupt.

    Negative value

    Failed to disable the GPIO interrupt.

    +

    Failed to disable a GPIO interrupt.

    + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    I2C controller management

    +

    I2cOpen

    +

    Opens an I2C controller.

    +

    I2cClose

    +

    Closes an I2C controller.

    +

    I2C message transfer

    +

    I2cTransfer

    +

    Performs a custom transfer.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions provided in this document can be called only in kernel mode. + +## Usage Guidelines + +### How to Use + +[Figure 2](#fig166181128151112) illustrates the process of an I2C device. + +**Figure 2** Process of using an I2C device + + +![](figure/en-us_image_0000001123509750.png) + +### Opening an I2C Controller Call the following function to open an I2C controller: DevHandle I2cOpen\(int16\_t number\); -**Table 1** Description of I2cOpen +**Table 2** Description of I2cOpen -

    Parameter

    + - @@ -34,9 +97,9 @@ DevHandle I2cOpen\(int16\_t number\); - -

    Parameter

    Description

    +

    Description

    I2C controller ID.

    Return Value

    +

    Return Value

    Description

    +

    Description

    NULL

    @@ -65,18 +128,18 @@ if (i2cHandle == NULL) { } ``` -## Performing I2C Communication +### Performing I2C Communication Use the following function for message transfer: int32\_t I2cTransfer\(DevHandle handle, struct I2cMsg \*msgs, int16\_t count\); -**Table 2** Description of I2cTransfer +**Table 3** Description of I2cTransfer -

    Parameter

    + - @@ -95,9 +158,9 @@ int32\_t I2cTransfer\(DevHandle handle, struct I2cMsg \*msgs, int16\_t count\); - -

    Parameter

    Description

    +

    Description

    Length of the message array.

    Return Value

    +

    Return Value

    Description

    +

    Description

    Positive integer

    @@ -126,7 +189,7 @@ msgs[0].addr = 0x5A; /* The address of the device to write the data is 0x5A. msgs[0].flags = 0; /* The flag is 0, indicating the write operation. */ msgs[1].buf = rbuff; /* Data to read */ msgs[1].len = 2; /* The length of the data to read is 2. */ -msgs[1].addr = 0x5A; /* The address of the device to read the data is 0x5A. */ +msgs[1].addr = 0x5A; /* The address of the device to read is 0x5A. */ msgs[1].flags = I2C_FLAG_READ /* I2C_FLAG_READ is configured, indicating the read operation. */ /* Perform a custom transfer to transfer two messages. */ ret = I2cTransfer(i2cHandle, msgs, 2); @@ -136,19 +199,19 @@ if (ret != 2) { } ``` ->![](public_sys-resources/icon-caution.gif) **CAUTION:** +>![](../public_sys-resources/icon-caution.gif) **CAUTION:** >- The device address in the **I2cMsg** structure does not contain the read/write flag bit. The read/write information is transferred by the read/write control bit in the member variable **flags**. >- The **I2cTransfer** function does not limit the number of message structures, which is determined by the I2C controller. >- The **I2cTransfer** function does not limit the data length of each message structure, which is determined by the I2C controller. ->- The **I2cTransfer** function may cause the system to sleep and therefore cannot be invoked in the interrupt context. +>- The **I2cTransfer** function may cause the system to sleep and therefore cannot be called in the interrupt context. -## Closing an I2C Controller +### Closing an I2C Controller Call the following function to close the I2C controller after the communication is complete: -void I2cClose\(DevHandle handle\); +void I2cClose\(DevHandle \*handle\); -**Table 3** Description of I2cClose +**Table 4** Description of I2cClose

    Parameter

    @@ -169,3 +232,195 @@ void I2cClose\(DevHandle handle\); I2cClose(i2cHandle); /* Close the I2C controller. */ ``` +## Usage Example + +This example describes how to use I2C APIs with an I2C device on a development board. + +This example shows a simple register read/write operation on TouchPad on a Hi3516D V300 development board. The basic hardware information is as follows: + +- SoC: hi3516dv300 + +- Touch IC: The I2C address is 0x38, and the bit width of Touch IC's internal register is 1 byte. + +- Schematic diagram: TouchPad is mounted to I2C controller 3. The reset pin of Touch IC is GPIO3. + +In this example, first we reset Touch IC. \(The development board supplies power to Touch IC by default after being powered on, and this use case does not consider the power supply\). Then, we perform a read/write operation on an internal register to test whether the I2C channel is normal. + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>The example focuses on I2C device access and verifies the I2C channel. The read and write values of the device register are not concerned. The behavior caused by the read and write operations on the register is determined by the device itself. + +Example: + +``` +#include "i2c_if.h" /* Header file of I2C APIs */ +#include "gpio_if.h" /* Header file of GPIO APIs */ +#include "hdf_log.h" /* Header file for log APIs */ +#include "osal_io.h" /* Header file of I/O read and write APIs */ +#include "osal_time.h" /* Header file of delay and sleep APIs */ + +/* Define a TP device structure to store I2C and GPIO hardware information. */ +struct TpI2cDevice { + uint16_t rstGpio; /* Reset pin */ + uint16_t busId; /* I2C bus ID */ + uint16_t addr; /* I2C device address */ + uint16_t regLen; /* Register bit width */ + DevHandle i2cHandle; /* I2C controller handle */ +}; + +/* I2C pin I/O configuration. For details, see the SoC register manual. */ +#define I2C3_DATA_REG_ADDR 0x112f008c /* Address of the SDA pin configuration register of I2C controller 3 +#define I2C3_CLK_REG_ADDR 0x112f0090 /* Address of the SCL pin configuration register of I2C controller 3 +#define I2C_REG_CFG 0x5f1 /* Configuration values of SDA and SCL pins of I2C controller 3 + +static void TpSocIoCfg(void) +{ + /* Set the I/O function of the two pins corresponding to I2C controller 3 to I2C. */ + OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_DATA_REG_ADDR)); + OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_CLK_REG_ADDR)); +} + +/* Initialize the reset pin of the TP. Pull up the pin for 20 ms, pull down the pin for 50 ms, and then pull up the pin for 20 ms to complete the resetting. */ +static int32_t TestCaseGpioInit(struct TpI2cDevice *tpDevice) +{ + int32_t ret; + + /* Set the output direction for the reset pin. */ + ret = GpioSetDir(tpDevice->rstGpio, GPIO_DIR_OUT); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst dir fail!:%d", __func__, ret); + return ret; + } + + ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst hight fail!:%d", __func__, ret); + return ret; + } + OsalMSleep(20); + + ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_LOW); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst low fail!:%d", __func__, ret); + return ret; + } + OsalMSleep(50); + + ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set rst high fail!:%d", __func__, ret); + return ret; + } + OsalMSleep(20); + + return HDF_SUCCESS; +} + +/* Use I2cTransfer to encapsulate a register read/write auxiliary function. Use flag to indicate the read or write operation. */ +static int TpI2cReadWrite(struct TpI2cDevice *tpDevice, unsigned int regAddr, + unsigned char *regData, unsigned int dataLen, uint8_t flag) +{ + int index = 0; + unsigned char regBuf[4] = {0}; + struct I2cMsg msgs[2] = {0}; + + /* Perform length adaptation for the single- or dual-byte register. */ + if (tpDevice->regLen == 1) { + regBuf[index++] = regAddr & 0xFF; + } else { + regBuf[index++] = (regAddr >> 8) & 0xFF; + regBuf[index++] = regAddr & 0xFF; + } + + /* Fill in the I2cMsg message structure. */ + msgs[0].addr = tpDevice->addr; + msgs[0].flags = 0; /* The flag is 0, indicating the write operation. */ + msgs[0].len = tpDevice->regLen; + msgs[0].buf = regBuf; + + msgs[1].addr = tpDevice->addr; + msgs[1].flags = (flag == 1)? I2C_FLAG_READ: 0; /* Add the read flag. */ + msgs[1].len = dataLen; + msgs[1].buf = regData; + + if (I2cTransfer(tpDevice->i2cHandle, msgs, 2) != 2) { + HDF_LOGE("%s: i2c read err", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; +} + +/* TP register read function */ +static inline int TpI2cReadReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, + unsigned char *regData, unsigned int dataLen) +{ + return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 1); +} + +/* TP register write function */ +static inline int TpI2cWriteReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, + unsigned char *regData, unsigned int dataLen) +{ + return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 0); +} + +/* Main entry of I2C */ +static int32_t TestCaseI2c(void) +{ + int32_t i; + int32_t ret; + unsigned char bufWrite[7] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xA, 0xB, 0xC }; + unsigned char bufRead[7] = {0}; + static struct TpI2cDevice tpDevice; + + /* I/O pin function configuration */ + TpSocIoCfg(); + + /* Initialize TP device information. */ + tpDevice.rstGpio = 3; + tpDevice.busId = 3; + tpDevice.addr = 0x38; + tpDevice.regLen = 1; + tpDevice.i2cHandle = NULL; + + /* Initialize the GPIO pin. */ + ret = TestCaseGpioInit(&tpDevice); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: gpio init fail!:%d", __func__, ret); + return ret; + } + + /* Open an I2C controller. */ + tpDevice.i2cHandle = I2cOpen(tpDevice.busId); + if (tpDevice.i2cHandle == NULL) { + HDF_LOGE("%s: Open I2c:%u fail!", __func__, tpDevice.busId); + return -1; + } + + /* Continuously write 7-byte data to register 0xD5 of TP-IC. */ + ret = TpI2cWriteReg(&tpDevice, 0xD5, bufWrite, 7); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: tp i2c write reg fail!:%d", __func__, ret); + I2cClose(tpDevice.i2cHandle); + return -1; + } + OsalMSleep(10); + + /* Continuously read 7-byte data from register 0xDO of TP-IC. */ + ret = TpI2cReadReg(&tpDevice, 0xD5, bufRead, 7); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: tp i2c read reg fail!:%d", __func__, ret); + I2cClose(tpDevice.i2cHandle); + return -1; + } + + HDF_LOGE("%s: tp i2c write&read reg success!", __func__); + for (i = 0; i < 7; i++) { + HDF_LOGE("%s: bufRead[%d] = 0x%x", __func__, i, bufRead[i]); + } + + /* Close the I2C controller. */ + I2cClose(tpDevice.i2cHandle); + return ret; +} +``` + diff --git a/en/device-dev/driver/drive-platform-mipidsi-des.md b/en/device-dev/driver/drive-platform-mipidsi-des.md new file mode 100644 index 00000000000..250a419f0ee --- /dev/null +++ b/en/device-dev/driver/drive-platform-mipidsi-des.md @@ -0,0 +1,554 @@ +# MIPI DSI + +- [Overview](#section16806142183217) + - [Available APIs](#section129611916132011) + +- [Usage Guidelines](#section037231715335) + - [How to Use](#section49299119344) + - [Obtains a MIPI DSI device handle.](#section5126155683811) + - [Setting MIPI DSI Configuration Parameters](#section201164274344) + - [Sending/Receiving the Pointer to a Command](#section199401342173415) + - [Releasing the MIPI DSI Device Handle](#section161011610357) + +- [Usage Example](#section17470126123520) + +## Overview + +- The Display Serial Interface \(DSI\) is a specification stipulated by the Mobile Industry Processor Interface \(MIPI\) Alliance, aiming to reduce the cost of display controllers in a mobile device. It defines a serial bus and communication protocol among the host, the source of image data, and the target device. In this way, the DSI can send pixel data or commands to peripherals \(usually LCDs or similar display devices\) in serial mode, or reads information such as status and pixel from the peripherals. + +- MIPI DSI is capable of working in both high speed \(HS\) mode and low power \(LP\) mode. All data lanes can only travel from the DSI host to a peripheral in HS mode, except the first data lane, which can also receive data such as status information and pixels from the peripheral in LP mode. The clock lane is dedicated to transmitting synchronization clock signals in HS mode. +- [Figure 1](#fig1122611461203) shows a simplified DSI interface. Conceptually, a DSI-compliant interface has the same features as interfaces complying with DBI-2 and DPI-2 standards. It sends pixels or commands to a peripheral and can read status or pixel information from the peripheral. The main difference is that the DSI serializes all pixel data, commands, and events that, in traditional interfaces, are conveyed to and from the peripheral on a parallel data bus with additional control signals. + + **Figure 1** DSI transmitting and receiving interface + ![](figure/dsi-transmitting-and-receiving-interface.png "dsi-transmitting-and-receiving-interface") + + +### Available APIs + +**Table 1** APIs for MIPI DSI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    Setting/Obtaining MIPI DSI configuration parameters

    +

    MipiDsiSetCfg

    +

    Sets configuration parameters for a MIPI DSI device.

    +

    MipiDsiGetCfg

    +

    Obtains configuration parameters of a MIPI DSI device.

    +

    Obtaining /Releasing device handles

    +

    MipiDsiOpen

    +

    Obtains a MIPI DSI device handle.

    +

    MipiDsiClose

    +

    Releases a specified MIPI DSI device handle.

    +

    Setting the LP or HS mode

    +

    MipiDsiSetLpMode

    +

    Sets LP mode for a MIPI DSI device.

    +

    MipiDsiSetHsMode

    +

    Sets HS mode for a MIPI DSI device.

    +

    Reading/Sending commands

    +

    MipiDsiTx

    +

    Sends a display command set (DCS) command for sending data.

    +

    MipiDsiRx

    +

    Receives a DCS command for reading data with the specified length.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions described in this document can be called only in kernel space. + +## Usage Guidelines + +### How to Use + +[Figure 2](#fig99821771782) shows the process of using a MIPI DSI device. + +**Figure 2** Process of using a MIPI DSI device + + +![](figure/en-us_image_0000001123514210.png) + +### Obtains a MIPI DSI device handle. + +Before performing MIPI DSI communication, obtain a MIPI DSI device handle by calling **MipiDsiOpen**. This function returns a MIPI DSI device handle with a specified channel ID. + +DevHandle MipiDsiOpen\(uint8\_t id\); + +**Table 2** Description of **MipiDsiOpen** + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Description

    +

    id

    +

    MIPI DSI channel ID.

    +

    Return Value

    +

    Description

    +

    NULL

    +

    Failed to receive the specified command.

    +

    Device handle

    +

    MIPI DSI device handle with a specified channel ID, whose data type is DevHandle.

    +
    + +The following example shows how to obtain a MIPI DSI device handle with the channel ID **0**: + +``` +DevHandle mipiDsiHandle = NULL; /* Device handle */ +chnId = 0; /* MIPI DSI channel ID */ + +/* Obtain the MIPI DSI device handle based on a specified channel ID. */ +mipiDsiHandle = MipiDsiOpen(chnId); +if (mipiDsiHandle == NULL) { + HDF_LOGE("MipiDsiOpen: failed\n"); + return; +} +``` + +### Setting MIPI DSI Configuration Parameters + +- Set MIPI DSI configuration parameters by calling the following function: + +int32\_t MipiDsiSetCfg\(DevHandle handle, struct MipiCfg \*cfg\); + +**Table 3** Description of **MipiDsiSetCfg** + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Description

    +

    handle

    +

    MIPI DSI device handle.

    +

    cfg

    +

    Pointer to MIPI DSI configuration parameters.

    +

    Return Value

    +

    Description

    +

    0

    +

    Succeeded in setting MIPI DSI configuration parameters.

    +

    Negative value

    +

    Failed to set MIPI DSI configuration parameters.

    +
    + +``` +int32_t ret; +struct MipiCfg cfg = {0}; + +/* Configuration parameters of the connected device are as follows: */ +cfg.lane = DSI_4_LANES; +cfg.mode = DSI_CMD_MODE; +cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; +cfg.format = FORMAT_RGB_24_BIT; +cfg.pixelClk = 174; +cfg.phyDataRate = 384; +cfg.timingInfo.hsaPixels = 50; +cfg.timingInfo.hbpPixels = 55; +cfg.timingInfo.hlinePixels = 1200; +cfg.timingInfo.yResLines = 1800; +cfg.timingInfo.vbpLines = 33; +cfg.timingInfo.vsaLines = 76; +cfg.timingInfo.vfpLines = 120; +cfg.timingInfo.xResPixels = 1342; +/* Set MIPI DSI configuration parameters. */ +ret = MipiDsiSetCfg(g_handle, &cfg); +if (ret != 0) { + HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); + return -1; +} +``` + +- Obtain MIPI DSI configuration parameters by calling the following function: + +int32\_t MipiDsiGetCfg\(DevHandle handle, struct MipiCfg \*cfg\); + +**Table 4** Description of **MipiDsiGetCfg** + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Description

    +

    handle

    +

    MIPI DSI device handle.

    +

    cfg

    +

    Pointer to MIPI DSI configuration parameters.

    +

    Return Value

    +

    Description

    +

    0

    +

    Succeeded in receiving the specified command.

    +

    Negative value

    +

    Failed to receive the specified command.

    +
    + +``` +int32_t ret; +struct MipiCfg cfg; +memset(&cfg, 0, sizeof(struct MipiCfg)); +ret = MipiDsiGetCfg(g_handle, &cfg); +if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: GetMipiCfg fail!\n", __func__); + return HDF_FAILURE; +} +``` + +### Sending/Receiving the Pointer to a Command + +- Send the pointer to a specified command by calling the following function: + +int32\_t MipiDsiTx\(PalHandle handle, struct DsiCmdDesc \*cmd\); + +**Table 5** Description of **MipiDsiTx** + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Description

    +

    handle

    +

    MIPI DSI device handle.

    +

    cmd

    +

    Pointer to the command to be sent.

    +

    Return Value

    +

    Description

    +

    0

    +

    Succeeded in sending the specified command.

    +

    Negative value

    +

    Failed to send the specified command.

    +
    + +``` +int32_t ret; +struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); +if (cmd == NULL) { + return HDF_FAILURE; +} +cmd->dtype = DTYPE_DCS_WRITE; +cmd->dlen = 1; +cmd->payload = OsalMemCalloc(sizeof(uint8_t)); +if (cmd->payload == NULL) { + HdfFree(cmd); + return HDF_FAILURE; +} +*(cmd->payload) = DTYPE_GEN_LWRITE; +MipiDsiSetLpMode(mipiHandle); +ret = MipiDsiTx(mipiHandle, cmd); +MipiDsiSetHsMode(mipiHandle); +if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: PalMipiDsiTx fail! ret=%d\n", __func__, ret); + HdfFree(cmd->payload); + HdfFree(cmd); + return HDF_FAILURE; +} +HdfFree(cmd->payload); +HdfFree(cmd); +``` + +- Receive a specified command by calling the following function: + +int32\_t MipiDsiRx\(DevHandle handle, struct DsiCmdDesc \*cmd, uint32\_t readLen, uint8\_t \*out\); + +**Table 6** Description of **MipiDsiRx** + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Description

    +

    handle

    +

    MIPI DSI device handle.

    +

    cmd

    +

    Pointer to the command to be received.

    +

    readLen

    +

    Length of the data to read.

    +

    out

    +

    Pointer to the read data.

    +

    Return Value

    +

    Description

    +

    0

    +

    Succeeded in receiving the specified command.

    +

    Negative value

    +

    Failed to receive the specified command.

    +
    + +``` +int32_t ret; +uint8_t readVal = 0; + +struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); +if (cmdRead == NULL) { + return HDF_FAILURE; +} +cmdRead->dtype = DTYPE_DCS_READ; +cmdRead->dlen = 1; +cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); +if (cmdRead->payload == NULL) { + HdfFree(cmdRead); + return HDF_FAILURE; +} +*(cmdRead->payload) = DDIC_REG_STATUS; +MipiDsiSetLpMode(g_handle); +ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); +MipiDsiSetHsMode(g_handle); +if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); + HdfFree(cmdRead->payload); + HdfFree(cmdRead); + return HDF_FAILURE; +} +HdfFree(cmdRead->payload); +HdfFree(cmdRead); +``` + +### Releasing the MIPI DSI Device Handle + +After the MIPI DSI communication, release the MIPI DSI device handle by calling the following function: + +void MipiDsiClose\(DevHandle handle\); + +This function releases the resources requested by **MipiDsiOpen**. + +**Table 7** Description of **MipiDsiClose** + + + + + + + + + + +

    Parameter

    +

    Description

    +

    handle

    +

    MIPI DSI device handle.

    +
    + +``` +MipiDsiClose(mipiHandle); /* Release the MIPI DSI device handle */ +``` + +## Usage Example + +The following is an example of using a MIPI DSI device: + +``` +#include "hdf.h" +#include "mipi_dsi_if.h" + +void PalMipiDsiTestSample(void) +{ + uint8_t chnId; + int32_t ret; + DevHandle handle = NULL; + + /* Device channel ID */ + chnId = 0; + /* Obtain the MIPI DSI device handle based on a specified channel ID. */ + handle = MipiDsiOpen(chnId); + if (handle == NULL) { + HDF_LOGE("MipiDsiOpen: failed!\n"); + return; + } + /* MIPI DSI configuration parameters */ + struct MipiCfg cfg = {0}; + cfg.lane = DSI_4_LANES; + cfg.mode = DSI_CMD_MODE; + cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; + cfg.format = FORMAT_RGB_24_BIT; + cfg.pixelClk = 174; + cfg.phyDataRate = 384; + cfg.timingInfo.hsaPixels = 50; + cfg.timingInfo.hbpPixels = 55; + cfg.timingInfo.hlinePixels = 1200; + cfg.timingInfo.yResLines = 1800; + cfg.timingInfo.vbpLines = 33; + cfg.timingInfo.vsaLines = 76; + cfg.timingInfo.vfpLines = 120; + cfg.timingInfo.xResPixels = 1342; + /* Set MIPI DSI configuration parameters. */ + ret = MipiDsiSetCfg(g_handle, &cfg); + if (ret != 0) { + HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); + return; + } + /* Send the command for initializing the PANEL register. */ + struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); + if (cmd == NULL) { + return; + } + cmd->dtype = DTYPE_DCS_WRITE; + cmd->dlen = 1; + cmd->payload = OsalMemCalloc(sizeof(uint8_t)); + if (cmd->payload == NULL) { + HdfFree(cmd); + return; + } + *(cmd->payload) = DTYPE_GEN_LWRITE; + MipiDsiSetLpMode(mipiHandle); + ret = MipiDsiTx(mipiHandle, cmd); + MipiDsiSetHsMode(mipiHandle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: MipiDsiTx fail! ret=%d\n", __func__, ret); + HdfFree(cmd->payload); + HdfFree(cmd); + return; + } + HdfFree(cmd->payload); + HdfFree(cmd); + /* Pointer to the register that reads the PANEL status */ + uint8_t readVal = 0; + struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); + if (cmdRead == NULL) { + return; + } + cmdRead->dtype = DTYPE_DCS_READ; + cmdRead->dlen = 1; + cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); + if (cmdRead->payload == NULL) { + HdfFree(cmdRead); + return; + } + *(cmdRead->payload) = DDIC_REG_STATUS; + MipiDsiSetLpMode(g_handle); + ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); + MipiDsiSetHsMode(g_handle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); + HdfFree(cmdRead->payload); + HdfFree(cmdRead); + return; + } + HdfFree(cmdRead->payload); + HdfFree(cmdRead); + /* Release the MIPI DSI device handle. */ + MipiDsiClose(handle); +} +``` + diff --git a/en/device-dev/driver/rtc-usage-guidelines.md b/en/device-dev/driver/drive-platform-rtc-des.md similarity index 61% rename from en/device-dev/driver/rtc-usage-guidelines.md rename to en/device-dev/driver/drive-platform-rtc-des.md index 3d0a2f66380..66e8a08cf14 100644 --- a/en/device-dev/driver/rtc-usage-guidelines.md +++ b/en/device-dev/driver/drive-platform-rtc-des.md @@ -1,52 +1,158 @@ -# RTC Usage Guidelines +# RTC -- [How to Use](#section620515765714) -- [Creating an RTC Device Handle](#section0702183665711) -- [Releasing the RTC Device Handle](#section639962619542) -- [Registering RtcAlarmCallback](#section123631358135713) -- [Performing RTC-related Operations](#section11091522125812) +- [Overview](#section104842041574) + - [Available APIs](#section3373340142215) -## How to Use +- [Usage Guidelines](#section20636145604113) + - [How to Use](#section16919828134215) + - [Creating an RTC Device Handle](#section1131212144310) + - [Releasing the RTC Device Handle](#section10744117144314) + - [Registering RtcAlarmCallback](#section14839440184320) + - [Performing RTC-related Operations](#section161927578433) + +- [Usage Example](#section1186111020456) + +## Overview + +The real-time clock \(RTC\) driver provides precise real time for the operating system \(OS\). If the OS is powered off, the RTC driver continues to keep track of the system time using an external battery. + +### Available APIs + +**Table 1** APIs provided by the RTC driver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    RTC handle

    +

    RtcOpen

    +

    Opens the RTC device to obtain its handle.

    +

    RtcClose

    +

    Releases a specified handle of the RTC device.

    +

    RTC time

    +

    RtcReadTime

    +

    Reads time information from the RTC driver, including the year, month, the day of the week, day, hour, minute, second, and millisecond.

    +

    RtcWriteTime

    +

    Writes time information from the RTC driver, including the year, month, the day of the week, day, hour, minute, second, and millisecond.

    +

    RTC alarm

    +

    RtcReadAlarm

    +

    Reads the RTC alarm time that was set last time.

    +

    RtcWriteAlarm

    +

    Writes the RTC alarm time based on the alarm index.

    +

    RtcRegisterAlarmCallback

    +

    Registers RtcAlarmCallback that will be invoked when an alarm is generated at the specified time.

    +

    RtcAlarmInterruptEnable

    +

    Enables or disables RTC alarm interrupts.

    +

    RTC configuration

    +

    RtcGetFreq

    +

    Reads the frequency of the external crystal oscillator connected to the RTC driver.

    +

    RtcSetFreq

    +

    Sets the frequency of the external crystal oscillator connected to the RTC driver.

    +

    RtcReset

    +

    Resets the RTC.

    +

    Custom register

    +

    RtcReadReg

    +

    Reads the configuration of a custom RTC register based on the register index.

    +

    RtcWriteReg

    +

    Writes the configuration of a custom RTC register based on the register index.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions provided in this document can be called only in kernel mode. + +## Usage Guidelines + +### How to Use During the OS startup, the HDF loads the RTC driver based on the configuration file. The RTC driver detects the RTC component and initializes the driver. -[Figure 1](#fig166181128151112) illustrates the process of an RTC device. +[Figure 1](#fig166181128151112) illustrates the process of using an RTC device. **Figure 1** Process of using an RTC device -![](figures/en-us_image_0000001054728498.png) +![](figure/en-us_image_0000001123675706.png) -## Creating an RTC Device Handle +### Creating an RTC Device Handle -After the RTC driver is loaded successfully, you can use the API provided by the HDF and call APIs of the RTC driver. +After the RTC driver is loaded, you can use the API provided by the HDF and call APIs of the RTC driver. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Currently, only one RTC device is supported in the OS. DevHandle RtcOpen\(void\); -**Table 1** Description of **RtcOpen** +**Table 2** Description of RtcOpen -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    void

    N/A

    +

    NA

    Return Value

    +

    Return Value

    Description

    +

    Description

    handle

    Returns the pointer if the operation is successful.

    +

    Returns the if the operation is successful.

    NULL

    @@ -67,23 +173,23 @@ if (handle == NULL) { } ``` -## Releasing the RTC Device Handle +### Releasing the RTC Device Handle You can call the following function to release the RTC device handle, thereby releasing resources of the device: void RtcClose\(DevHandle handle\); -**Table 2** Description of **RtcClose** +**Table 3** Description of RtcClose -

    Parameter

    + - - @@ -94,24 +200,24 @@ void RtcClose\(DevHandle handle\); RtcClose(handle); ``` -## Registering RtcAlarmCallback +### Registering RtcAlarmCallback After the OS is started, call the following function to register **RtcAlarmCallback**, which will be invoked when an alarm is generated at the specified time: int32\_t RtcRegisterAlarmCallback\(DevHandle handle, enum RtcAlarmIndex alarmIndex, RtcAlarmCallback cb\); -**Table 3** Description of **RtcRegisterAlarmCallback** +**Table 4** Description of RtcRegisterAlarmCallback -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle

    +

    RTC device handle.

    Parameter

    + - - - - - @@ -153,7 +259,7 @@ int32_t RtcAlarmACallback(enum RtcAlarmIndex alarmIndex) } else if (alarmIndex == RTC_ALARM_INDEX_B) { /* Process alarm B. */ } else { - /* Process the error. */ + /* Process the error. */ } return 0; } @@ -165,25 +271,25 @@ if (ret != 0) { } ``` -## Performing RTC-related Operations +### Performing RTC-related Operations - Reading RTC time -Call the following function to read time information from the RTC driver, including the year, month, the day fo the week, day, hour, minute, second, and millisecond: +Call the following function to read time information from the RTC driver, including the year, month, the day of the week, day, hour, minute, second, and millisecond: int32\_t RtcReadTime\(DevHandle handle, struct RtcTime \*time\); -**Table 4** Description of **RtcReadTime** +**Table 5** Description of RtcReadTime -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    alarmIndex

    @@ -124,9 +230,9 @@ int32\_t RtcRegisterAlarmCallback\(DevHandle handle, enum RtcAlarmIndex alarmInd

    Callback that will be invoked when an alarm is generated at the specified time.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -136,7 +242,7 @@ int32\_t RtcRegisterAlarmCallback\(DevHandle handle, enum RtcAlarmIndex alarmInd

    Negative value

    The operation fails.

    +

    The operation fails.

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    time

    @@ -191,9 +297,9 @@ int32\_t RtcReadTime\(DevHandle handle, struct RtcTime \*time\);

    Pointer to the time information read from the RTC driver. The time information includes the year, month, the day of the week, day, hour, minute, second, and millisecond.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -226,17 +332,17 @@ Call the following function to set the RTC time: int32\_t RtcWriteTime\(DevHandle handle, struct RtcTime \*time\); -**Table 5** Description of **RtcWriteTime** +**Table 6** Description of RtcWriteTime -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    time

    @@ -244,9 +350,9 @@ int32\_t RtcWriteTime\(DevHandle handle, struct RtcTime \*time\);

    Pointer to the time information written into the RTC driver. The time information includes the year, month, the day of the week, day, hour, minute, second, and millisecond.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -262,7 +368,7 @@ int32\_t RtcWriteTime\(DevHandle handle, struct RtcTime \*time\);
    ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The RTC start time is 1970/01/01 Thursday 00:00:00 \(UTC\). The maximum value of **year** must be set based on the requirements specified in the product manual of the in-use component. You do not need to configure the day of the week. ``` @@ -290,17 +396,17 @@ Call the following function to read the alarm time: int32\_t RtcReadAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct RtcTime \*time\); -**Table 6** Description of **RtcReadAlarm** +**Table 7** Description of RtcReadAlarm -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    alarmIndex

    @@ -313,9 +419,9 @@ int32\_t RtcReadAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct R

    Pointer to the RTC alarm time information. The time information includes the year, month, the day of the week, day, hour, minute, second, and millisecond.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -348,17 +454,17 @@ Call the following function to set the RTC alarm time based on the alarm index: int32\_t RtcWriteAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct RtcTime \*time\); -**Table 7** Description of **RtcWriteAlarm** +**Table 8** Description of RtcWriteAlarm -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    alarmIndex

    @@ -371,9 +477,9 @@ int32\_t RtcWriteAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct

    Pointer to the RTC alarm time information. The time information includes the year, month, the day of the week, day, hour, minute, second, and millisecond.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -383,13 +489,13 @@ int32\_t RtcWriteAlarm\(DevHandle handle, enum RtcAlarmIndex alarmIndex, struct

    Negative value

    The operation fails.

    +

    The operation fails.

    ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The RTC start time is 1970/01/01 Thursday 00:00:00 \(UTC\). The maximum value of **year** must be set based on the requirements specified in the product manual of the in-use component. You do not need to configure the day of the week. ``` @@ -413,21 +519,21 @@ if (ret != 0) { - Enabling or disabling alarm interrupts -Before performing alarm operations, use this function to enable alarm interrupts, so that **RtcAlarmCallback** will be called when the alarm is not generated upon a timeout. +Before performing alarm operations, use the following function to enable alarm interrupts, so that **RtcAlarmCallback** will be called when the alarm is not generated upon a timeout: int32\_t RtcAlarmInterruptEnable\(DevHandle handle, enum RtcAlarmIndex alarmIndex, uint8\_t enable\); -**Table 8** Description of **RtcAlarmInterruptEnable** +**Table 9** Description of RtcAlarmInterruptEnable -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    alarmIndex

    @@ -437,12 +543,12 @@ int32\_t RtcAlarmInterruptEnable\(DevHandle handle, enum RtcAlarmIndex alarmInde

    enable

    Whether to enable RTC alarm interrupts. Value 1 means to enable alarm interrupts and value 0 means to disable alarm interrupts.

    +

    Whether to enable RTC alarm interrupts. The value 1 means to enable alarm interrupts and 0 means to disable alarm interrupts.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -474,27 +580,27 @@ Call the following function to read the frequency of the external crystal oscill int32\_t RtcGetFreq\(DevHandle handle, uint32\_t \*freq\); -**Table 9** Description of **RtcGetFreq** +**Table 10** Description of RtcGetFreq -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    freq

    Frequency to set for the external crystal oscillator, in Hz.

    +

    Pointer to the frequency to set for the external crystal oscillator, in Hz.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -527,27 +633,27 @@ Call the following function to set the frequency of the external crystal oscilla int32\_t RtcSetFreq\(DevHandle handle, uint32\_t freq\); -**Table 10** Description of **RtcSetFreq** +**Table 11** Description of RtcSetFreq -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    freq

    Frequency to set for the external crystal oscillator, in Hz.

    +

    Frequency to set for the external crystal oscillator, in Hz

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -576,26 +682,26 @@ if (ret != 0) { - Resetting the RTC driver -Call the following function to perform a reset on the RTC driver. After the reset, the registers are restored to the default values: +Call the following function to perform a reset on the RTC driver \(after the reset, the registers are restored to the default values\): int32\_t RtcReset\(DevHandle handle\); -**Table 11** Description of **RtcReset** +**Table 12** Description of RtcReset -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -627,32 +733,32 @@ Call the following function to read the configuration of a custom RTC register b int32\_t RtcReadReg\(DevHandle handle, uint8\_t usrDefIndex, uint8\_t \*value\); -**Table 12** Description of **RtcReadReg** +**Table 13** Description of RtcReadReg -

    Parameter

    + - - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    usrDefIndex

    Index of the custom register.

    +

    Index of the custom register

    value

    Register value.

    +

    Pointer to the register value

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -686,32 +792,32 @@ Call the following function to configure a register based on the specified regis int32\_t RtcWriteReg\(DevHandle handle, uint8\_t usrDefIndex, uint8\_t value\); -**Table 13** Description of **RtcWriteReg** +**Table 14** Description of RtcWriteReg -

    Parameter

    + - - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the RTC device handle.

    +

    RTC device handle.

    usrDefIndex

    Index of the custom register.

    +

    Index of the custom register

    value

    Register value.

    +

    Register value

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -739,3 +845,100 @@ if (ret != 0) { } ``` +## Usage Example + +This section describes the process of using RTC APIs: + +1. During the OS startup, the HDF identifies the RTC component in the system. +2. The HDF initializes and creates the RTC device. +3. You can perform operations on the RTC device by calling different APIs. +4. Call the **RtcClose** function to release the device handle and device resources. + +Example: + +``` +#include "rtc_if.h" +int32_t RtcAlarmACallback(enum RtcAlarmIndex alarmIndex) +{ + if (alarmIndex == RTC_ALARM_INDEX_A) { + /* Process alarm A. */ + printf("RTC Alarm A callback function\n\r"); + } else if (alarmIndex == RTC_ALARM_INDEX_B) { + /* Process alarm B. */ + printf("RTC Alarm B callback function\n\r"); + } else { + /* Process the error. */ + } + return 0; +} + +void RtcTestSample(void) +{ + int32_t ret; + struct RtcTime tm; + struct RtcTime alarmTime; + uint32_t freq; + DevHandle handle = NULL; + + /* Obtain the RTC device handle. */ + handle = RtcOpen(); + if (handle == NULL) { + /* Process the error. */ + } + /* Register RtcAlarmCallback for alarm A. */ + ret = RtcRegisterAlarmCallback(handle, RTC_ALARM_INDEX_A, RtcAlarmACallback); + if (ret != 0) { + /* Process the error. */ + } + /* Set the RTC external crystal frequency. Note that the frequency must be configured in accordance with the requirements specified in the product manual of the in-use component. */ + freq = 32768; /* 32768 Hz */ + ret = RtcSetFreq(handle, freq); + if (ret != 0) { + /* Process the error. */ + } + /* Enable the RTC alarm interrupts. */ + ret = RtcAlarmInterruptEnable(handle, RTC_ALARM_INDEX_A, 1); + if (ret != 0) { + /* Process the error. */ + } + /* Set the RTC time to 2020/01/01 00:00:10 .990. */ + tm.year = 2020; + tm.month = 01; + tm.day = 01; + tm.hour= 0; + tm.minute = 0; + tm.second = 10; + tm.millisecond = 990; + /* Write the RTC time information. */ + ret = RtcWriteTime(handle, &tm); + if (ret != 0) { + /* Process the error. */ + } + /* Set the RTC alarm time to 2020/01/01 00:00:30 .100. */ + alarmTime.year = 2020; + alarmTime.month = 01; + alarmTime.day = 01; + alarmTime.hour = 0; + alarmTime.minute = 0; + alarmTime.second = 30; + alarmTime.millisecond = 100; + /* Set the alarm time information for RTC_ALARM_INDEX_A. When the specified time is reached, "RTC Alarm A callback function" is printed. */ + ret = RtcWriteAlarm(handle, RTC_ALARM_INDEX_A, &alarmTime); + if (ret != 0) { + /* Process the error. */ + } + + /* Read the RTC real time. */ + ret = RtcReadTime(handle, &tm); + if (ret != 0) { + /* Process the error. */ + } + sleep(5) + printf("RTC read time:\n\r"); + printf("year-month-date-weekday hour:minute:second .millisecond %04u-%02u-%02u-%u %02u:%02u:%02u .%03u", + tm.year, tm.month, tm.day, tm.weekday, tm.hour, tm.minute, tm.second, tm.millisecond); + /* Release the RTC device handle. */ + RtcClose(handle); +} +``` + diff --git a/en/device-dev/driver/sdiousage-guidelines.md b/en/device-dev/driver/drive-platform-sdio-des.md similarity index 61% rename from en/device-dev/driver/sdiousage-guidelines.md rename to en/device-dev/driver/drive-platform-sdio-des.md index 402cf305ebb..4b5a27d3533 100644 --- a/en/device-dev/driver/sdiousage-guidelines.md +++ b/en/device-dev/driver/drive-platform-sdio-des.md @@ -1,63 +1,215 @@ -# SDIO Usage Guidelines +# SDIO -- [How to Use](#section1962415610383) -- [Opening an SDIO Controller](#section814751015461) -- [Claiming a Host Exclusively](#section49274582455) -- [Enabling the SDIO Device](#section1431520410489) -- [Claiming an SDIO IRQ](#section3662781537) -- [Performing SDIO Communication](#section391941913484) -- [Releasing the SDIO IRQ](#section56205204481) -- [Disabling the SDIO Device](#section181181621124815) -- [Releasing the Exclusively Claimed Host](#section657117215486) -- [Closing an SDIO Controller](#section1898172114818) +- [Overview](#section1155271783811) + - [Available APIs](#section08064247248) -## How to Use +- [Usage Guidelines](#section1878939192515) + - [How to Use](#section1490685512255) + - [Opening an SDIO Controller](#section10782428132616) + - [Claiming a Host Exclusively](#section11263172312715) + - [Enabling the SDIO Device](#section17861486271) + - [Claiming an SDIO IRQ](#section521213262286) + - [Performing SDIO Communication](#section85661522153420) + - [Releasing the SDIO IRQ](#section1683449352) + - [Disabling the SDIO Device](#section15379324143611) + - [Releasing the Exclusively Claimed Host](#section536018263713) + - [Closing an SDIO Controller](#section4752739183716) -[Figure 1](spiusage-guidelines.md#fig23885455594) illustrates the process of using an SDIO. +- [Usage Example](#section376910122382) -**Figure 1** Process of using an SDIO +## Overview +- Secure Digital Input/Output \(SDIO\) is a peripheral interface evolved from the Secure Digital \(SD\) memory card interface. The SDIO interface is compatible with SD memory cards and can be connected to devices that support the SDIO interface. +- SDIO is widely used. Currently, many smartphones support SDIO, and many SDIO peripherals are developed for connections to smartphones. Common SDIO peripherals include WLAN, GPS, cameras, and Bluetooth. +- The SDIO bus has two ends, named host and device. All communication starts when the host sends a command. The device can communicate with the host as long as it can parse the command of the host. An SDIO host can connect to multiple devices, as shown in the figure below. -![](figures/en-us_image_0000001054440624.png) + - CLK signal: clock signal sent from the host to the device + - VDD signal: power signal + - VSS signal: ground signal + - D0-3 signal: four data lines. The DAT1 signal cable is multiplexed as the interrupt line. In 1-bit mode, DAT0 is used to transmit data. In 4-bit mode, DAT0 to DAT3 are used to transmit data. + - CMD signal: used by the host to send commands and the device to respond to commands. -## Opening an SDIO Controller + **Figure 1** Connections between the host and devices in SDIO + + + ![](figure/en-us_image_0000001054280608.png) + +- The SDIO interface defines a set of common methods for operating an SDIO device, including opening and closing an SDIO controller, exclusively claiming and releasing the host, enabling and disabling devices, claiming and releasing an SDIO IRQ, reading and writing data based on SDIO, and obtaining and setting common information. + +### Available APIs + +**Table 1** APIs available for the SDIO driver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    SDIO device opening/closing

    +

    SdioOpen

    +

    Opens an SDIO controller with a specified bus number.

    +

    SdioClose

    +

    Closes an SDIO controller.

    +

    SDIO reading/writing

    +

    SdioReadBytes

    +

    Incrementally reads a given length of data from a specified SDIO address.

    +

    SdioWriteBytes

    +

    Incrementally writes a given length of data into a specified SDIO address.

    +

    SdioReadBytesFromFixedAddr

    +

    Reads a given length of data from a fixed SDIO address.

    +

    SdioWriteBytesToFixedAddr

    +

    Writes a given length of data into a fixed SDIO address.

    +

    SdioReadBytesFromFunc0

    +

    Reads a given length of data from the address space of SDIO function 0.

    +

    SdioWriteBytesToFunc0

    +

    Writes a given length of data into the address space of SDIO function 0.

    +

    SDIO block size setting

    +

    SdioSetBlockSize

    +

    Sets the block size.

    +

    SDIO common information retrieval/setting

    +

    SdioGetCommonInfo

    +

    Obtains common information.

    +

    SdioSetCommonInfo

    +

    Sets common information.

    +

    SDIO data flushing

    +

    SdioFlushData

    +

    Flushes data.

    +

    SDIO host exclusively claiming or releasing

    +

    SdioClaimHost

    +

    Claims a host exclusively.

    +

    SdioReleaseHost

    +

    Releases the exclusively claimed host.

    +

    SDIO device enablement

    +

    SdioEnableFunc

    +

    Enables an SDIO device.

    +

    SdioDisableFunc

    +

    Disables an SDIO device.

    +

    SDIO IRQ claiming/releasing

    +

    SdioClaimIrq

    +

    Claims an SDIO IRQ.

    +

    SdioReleaseIrq

    +

    Releases an SDIO IRQ.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions provided in this document can be called only in kernel mode. + +## Usage Guidelines + +### How to Use + +[Figure 2](#fig1343742311264) illustrates the process of using an SDIO. + +**Figure 2** Process of using an SDIO + + +![](figure/en-us_image_0000001123540984.png) + +### Opening an SDIO Controller Before performing SDIO communication, obtain the device handle of an SDIO controller by calling **SdioOpen**. This function returns the device handle of the SDIO controller with a specified bus number. DevHandle SdioOpen\(int16\_t mmcBusNum, struct SdioFunctionConfig \*config\); -**Table 1** Parameters and return values of SdioOpen +**Table 2** Parameters and return values of SdioOpen - -

    Parameter

    + + - - - - - - - - - - - @@ -78,24 +230,24 @@ if (handle == NULL) { } ``` -## Claiming a Host Exclusively +### Claiming a Host Exclusively After obtaining the device handle of an SDIO controller, exclusively claim the host before performing subsequent operations on the SDIO device. void SdioClaimHost\(DevHandle handle\); -**Table 2** Parameter description of SdioClaimHost +**Table 3** Parameter description of SdioClaimHost - -

    Parameter

    Description

    +

    Description

    mmcBusNum

    +

    mmcBusNum

    Bus number.

    +

    Bus number.

    config

    +

    config

    SDIO functionality configurations.

    +

    SDIO functionality configurations.

    Return Value

    +

    Return Value

    Description

    +

    Description

    NULL

    +

    NULL

    Failed to obtain the device handle of an SDIO controller.

    +

    Failed to obtain the device handle of an SDIO controller.

    Device handle

    +

    Device handle

    Device handle of an SDIO controller.

    +

    Device handle of an SDIO controller.

    Parameter

    + + - - - @@ -107,13 +259,13 @@ The following example shows how to exclusively claim a host. SdioClaimHost(handle); /* Claim a host exclusively. */ ``` -## Enabling the SDIO Device +### Enabling the SDIO Device Before accessing a register, enable the SDIO device. int32\_t SdioEnableFunc\(DevHandle handle\); -**Table 3** Parameters and return values of SdioEnableFunc +**Table 4** Parameters and return values of SdioEnableFunc

    Parameter

    Description

    +

    Description

    handle

    +

    handle

    Device handle of an SDIO controller.

    +

    Device handle of an SDIO controller.

    - -

    Parameter

    @@ -127,9 +279,9 @@ int32\_t SdioEnableFunc\(DevHandle handle\);

    Device handle of an SDIO controller.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -156,13 +308,13 @@ if (ret != 0) { } ``` -## Claiming an SDIO IRQ +### Claiming an SDIO IRQ Before SDIO communication, claim an SDIO IRQ. int32\_t SdioClaimIrq\(DevHandle handle, SdioIrqHandler \*handler\); -**Table 4** Parameters and return values of SdioClaimIrq +**Table 5** Parameters and return values of SdioClaimIrq - -

    Parameter

    @@ -181,9 +333,9 @@ int32\_t SdioClaimIrq\(DevHandle handle, SdioIrqHandler \*handler\);

    Pointer to the SDIO IRQ function.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -220,7 +372,7 @@ if (ret != 0) { } ``` -## Performing SDIO Communication +### Performing SDIO Communication - Incrementally write a given length of data into the SDIO device. @@ -228,7 +380,7 @@ The corresponding function is as follows: int32\_t SdioWriteBytes\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**Table 5** Parameters and return values of SdioWriteBytes +**Table 6** Parameters and return values of SdioWriteBytes - -

    Parameter

    @@ -257,9 +409,9 @@ int32\_t SdioWriteBytes\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint

    Length of the data to write.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -294,7 +446,7 @@ The corresponding function is as follows: int32\_t SdioReadBytes\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**Table 6** Parameters and return values of SdioReadBytes +**Table 7** Parameters and return values of SdioReadBytes - -

    Parameter

    @@ -323,9 +475,9 @@ int32\_t SdioReadBytes\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint3

    Length of the data to read.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -360,7 +512,7 @@ if (ret != 0) { int32\_t SdioWriteBytesToFixedAddr\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size, uint32\_t scatterLen\); - **Table 7** Parameters and return values of SdioWriteBytesToFixedAddr + **Table 8** Parameters and return values of SdioWriteBytesToFixedAddr - - -

    Parameter

    @@ -391,12 +543,12 @@ if (ret != 0) {

    scatterLen

    Length of the scatter list. If the value is not 0, the data is of the scatter list type.

    +

    Length of the scatter list. If the value is not 0, the data is of the scatter list type.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -431,7 +583,7 @@ if (ret != 0) { int32\_t SdioReadBytesFromFixedAddr\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size, uint32\_t scatterLen\); - **Table 8** Parameters and return values of SdioReadBytesFromFixedAddr + **Table 9** Parameters and return values of SdioReadBytesFromFixedAddr - - -

    Parameter

    @@ -462,12 +614,12 @@ if (ret != 0) {

    scatterLen

    Length of the scatter list. If the value is not 0, the data is of the scatter list type.

    +

    Length of the scatter list. If the value is not 0, the data is of the scatter list type.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -497,13 +649,13 @@ if (ret != 0) { ``` -- Write a given length of data into the address space of SDIO function 0. +- Writes a given length of data into the address space of SDIO function 0. Currently, only 1-byte data can be written. The corresponding function is as follows: int32\_t SdioWriteBytesToFunc0\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**Table 9** Parameters and return values of SdioWriteBytesToFunc0 +**Table 10** Parameters and return values of SdioWriteBytesToFunc0 - -

    Parameter

    @@ -532,9 +684,9 @@ int32\_t SdioWriteBytesToFunc0\(DevHandle handle, uint8\_t \*data, uint32\_t add

    Length of the data to write.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -562,13 +714,13 @@ if (ret != 0) { } ``` -- Read a given length of data from the address space of SDIO function 0. +- Reads a given length of data from the address space of SDIO function 0. Currently, only 1-byte data can be read. The corresponding function is as follows: int32\_t SdioReadBytesFromFunc0\(DevHandle handle, uint8\_t \*data, uint32\_t addr, uint32\_t size\); -**Table 10** Parameters and return values of SdioReadBytesFromFunc0 +**Table 11** Parameters and return values of SdioReadBytesFromFunc0 - -

    Parameter

    @@ -597,9 +749,9 @@ int32\_t SdioReadBytesFromFunc0\(DevHandle handle, uint8\_t \*data, uint32\_t ad

    Length of the data to read.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -627,13 +779,13 @@ if (ret != 0) { } ``` -## Releasing the SDIO IRQ +### Releasing the SDIO IRQ After the SDIO communication, release the SDIO IRQ. int32\_t SdioReleaseIrq\(DevHandle handle\); -**Table 11** Parameters and return values of SdioReleaseIrq +**Table 12** Parameters and return values of SdioReleaseIrq - -

    Parameter

    @@ -647,9 +799,9 @@ int32\_t SdioReleaseIrq\(DevHandle handle\);

    Device handle of an SDIO controller.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -676,13 +828,13 @@ if (ret != 0) { } ``` -## Disabling the SDIO Device +### Disabling the SDIO Device After the SDIO communication, disable the SDIO device. int32\_t SdioDisableFunc\(DevHandle handle\); -**Table 12** Parameters and return values of SdioDisableFunc +**Table 13** Parameters and return values of SdioDisableFunc - -

    Parameter

    @@ -696,9 +848,9 @@ int32\_t SdioDisableFunc\(DevHandle handle\);

    Device handle of an SDIO controller.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -725,13 +877,13 @@ if (ret != 0) { } ``` -## Releasing the Exclusively Claimed Host +### Releasing the Exclusively Claimed Host After the SDIO communication, release the exclusively claimed host. void SdioReleaseHost\(DevHandle handle\); -**Table 13** Parameter description of SdioReleaseHost +**Table 14** Parameter description of SdioReleaseHost

    Parameter

    @@ -754,7 +906,7 @@ The following example shows how to release the exclusively claimed host. SdioReleaseHost(handle); /* Release the exclusively claimed host. */ ``` -## Closing an SDIO Controller +### Closing an SDIO Controller After the SDIO communication, close the SDIO controller. @@ -762,7 +914,7 @@ void SdioClose\(DevHandle handle\); This function releases the resources requested. -**Table 14** Parameter description of SdioClose +**Table 15** Parameter description of SdioClose

    Parameter

    @@ -785,3 +937,132 @@ The following example shows how to close an SDIO controller. SdioClose(handle); /* Close an SDIO controller. */ ``` +## Usage Example + +The following example shows how to use an SDIO device. First, open an SDIO controller whose bus number is 1, exclusively claim a host, enable the SDIO device, claim an SDIO IRQ, and then perform SDIO communication \(such as reading and writing\). After the SDIO communication, release the SDIO IRQ, disable the SDIO device, release the host, and close the SDIO controller. + +``` +#include "hdf_log.h" +#include "sdio_if.h" + +#define TEST_FUNC_NUM 1 /* The I/O function whose ID is 1 is used. */ +#define TEST_FBR_BASE_ADDR 0x100 /* FBR base address of the I/O function whose ID is 1 */ +#define TEST_ADDR_OFFSET 9 /* Address offset of the register to read or write */ +#define TEST_DATA_LEN 3 /* Length of the data to read or write */ +#define TEST_BLOCKSIZE 2 /* Size of a data block, in bytes */ + +/* Implement the SDIO IRQ function based on the application. */ +static void SdioIrqFunc(void *data) +{ + if (data == NULL) { + HDF_LOGE("SdioIrqFunc: data is NULL.\n"); + return; + } + /* You need to add specific implementations. */ +} + +void SdioTestSample(void) +{ + int32_t ret; + DevHandle handle = NULL; + uint8_t data[TEST_DATA_LEN] = {0}; + struct SdioFunctionConfig config = {1, 0x123, 0x456}; + uint8_t val; + uint32_t addr; + + /* Open an SDIO controller whose bus number is 1. */ + handle = SdioOpen(1, &config); + if (handle == NULL) { + HDF_LOGE("SdioOpen: failed!\n"); + return; + } + /* Claim a host exclusively. */ + SdioClaimHost(handle); + /* Enable the SDIO device. */ + ret = SdioEnableFunc(handle); + if (ret != 0) { + HDF_LOGE("SdioEnableFunc: failed, ret %d\n", ret); + goto ENABLE_ERR; + } + /* Claim an SDIO IRQ. */ + ret = SdioClaimIrq(handle, SdioIrqFunc); + if (ret != 0) { + HDF_LOGE("SdioClaimIrq: failed, ret %d\n", ret); + goto CLAIM_IRQ_ERR; + } + /* Set the block size to 2 bytes. */ + ret = SdioSetBlockSize(handle, TEST_BLOCKSIZE); + if (ret != 0) { + HDF_LOGE("SdioSetBlockSize: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Read 3-byte data from the incremental address of an SDIO device. */ + addr = TEST_FBR_BASE_ADDR * TEST_FUNC_NUM + TEST_ADDR_OFFSET; + ret = SdioReadBytes(handle, data, addr, TEST_DATA_LEN); + if (ret != 0) { + HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Write 3-byte data into the incremental address of an SDIO device. */ + ret = SdioWriteBytes(handle, data, addr, TEST_DATA_LEN); + if (ret != 0) { + HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Read 1-byte data from the SDIO device. */ + ret = SdioReadBytes(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Write 1-byte data into the SDIO device. */ + ret = SdioWriteBytes(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Read 3-byte data from the fixed address of an SDIO device. */ + ret = SdioReadBytesFromFixedAddr(handle, data, addr, TEST_DATA_LEN, 0); + if (ret != 0) { + HDF_LOGE("SdioReadBytesFromFixedAddr: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Write 1-byte data to the fixed address of an SDIO device. */ + ret = SdioWriteBytesToFixedAddr(handle, data, addr, 1, 0); + if (ret != 0) { + HDF_LOGE("SdioWriteBytesToFixedAddr: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Read 1-byte data from SDIO function 0. */ + addr = 0x02; + ret = SdioReadBytesFromFunc0(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioReadBytesFromFunc0: failed, ret %d\n", ret); + goto COMM_ERR; + } + /* Write 1-byte data into SDIO function 0. */ + ret = SdioWriteBytesToFunc0(handle, &val, addr, 1); + if (ret != 0) { + HDF_LOGE("SdioWriteBytesToFunc0: failed, ret %d\n", ret); + goto COMM_ERR; + } +COMM_ERR: + /* Release the SDIO IRQ. */ + ret = SdioReleaseIrq(handle); + if (ret != 0) { + HDF_LOGE("SdioReleaseIrq: failed, ret %d\n", ret); + } +CLAIM_IRQ_ERR: + /* Disable the SDIO device. */ + ret = SdioDisableFunc(handle); + if (ret != 0) { + HDF_LOGE("SdioDisableFunc: failed, ret %d\n", ret); + } +ENABLE_ERR: + /* Release the exclusively claimed host. */ + SdioReleaseHost(handle); + /* Close an SDIO controller. */ + SdioClose(handle); +} +``` + diff --git a/en/device-dev/driver/spiusage-guidelines.md b/en/device-dev/driver/drive-platform-spi-des.md similarity index 51% rename from en/device-dev/driver/spiusage-guidelines.md rename to en/device-dev/driver/drive-platform-spi-des.md index f5f9c482c05..b2c1b311470 100644 --- a/en/device-dev/driver/spiusage-guidelines.md +++ b/en/device-dev/driver/drive-platform-spi-des.md @@ -1,33 +1,143 @@ -# SPI Usage Guidelines +# SPI -- [How to Use](#section691514116412) -- [Obtaining an SPI Device Handle](#section12372204616215) -- [Obtaining SPI Device Configuration Parameters](#section17121446171311) -- [Setting SPI Device Configuration Parameters](#section97691946634) -- [Performing SPI Communication](#section197116254416) -- [Destroying the SPI Device Handle](#section117661819108) +- [Overview](#section193356154511) + - [Available APIs](#section232141411476) -## How to Use +- [Usage Guidelines](#section71363452477) + - [How to Use](#section32846814820) + - [Obtaining an SPI Device Handle](#section1927265711481) + - [Obtaining SPI Device Configuration Parameters](#section541133418493) + - [Setting SPI Device Configuration Parameters](#section7870106145010) + - [Performing SPI Communication](#section13324155195013) + - [Destroying the SPI Device Handle](#section19661632135117) -[Figure 1](#fig23885455594) shows the process of using an SPI device. +- [Usage Example](#section06541058155120) -**Figure 1** Process of using an SPI device +## Overview +- Serial Peripheral Interface \(SPI\) is a serial bus specification used for high-speed, full-duplex, and synchronous communication. +- SPI is developed by Motorola. It is commonly used for communication with flash memory, real-time clocks, sensors, and analog-to-digital \(A/D\) converters. +- SPI works in controller/device mode. Generally, there is one SPI controller that controls one or more SPI devices. They are connected via four wires: + - SCLK: clock signals output from the SPI controller + - MOSI: data output from the SPI controller and input into an SPI device + - MISO: data output from an SPI device and input into the SPI controller + - CS: signals enabled by an SPI device and controlled by the SPI controller -![](figures/en-us_image_0000001054726248.png) -## Obtaining an SPI Device Handle +- [Figure 1](#fig15227181812587) shows the connection between one SPI controller and two SPI devices \(device A and device B\). In this figure, device A and device B share three pins \(SCLK, MISO, and MOSI\) of the controller. CS0 of device A and CS1 of device B are connected to CS0 and CS1 of the controller, respectively. + +**Figure 1** SPI controller/device connection + + +![](figure/en-us_image_0000001123742254.png) + +- SPI communication is usually initiated by the SPI controller and is operated as follows: + +1. A single SPI device is selected at a time via the CS to communicate with the SPI controller. +2. Clock signals are provided for the selected SPI device via the SCLK. +3. The SPI controller sends data to SPI devices via the MOSI, and receives data from SPI devices via the MISO. + +- SPI can work in one of the following four modes, equivalent to one of the four possible states for Clock Polarity \(CPOL\) and Clock Phase \(CPHA\): + - If both CPOL and CPHA are **0**, the clock signal level is low in the idle state and data is sampled on the first clock edge. + - If CPOL is **0** and CPHA is **1**, the clock signal level is low in the idle state and data is sampled on the second clock edge. + - If CPOL is **1** and CPHA is **0**, the clock signal level is high in the idle state and data is sampled on the first clock edge. + - If both CPOL and CPHA are **1**, the clock signal level is high in the idle state and data is sampled on the second clock edge. + + +- SPI defines a set of common functions for operating an SPI device, including those for: + - Obtaining and releasing the handle of an SPI device. + - Reading or writing data of a specified length from or into an SPI device. + - Customizing data reading or writing via **SpiMsg**. + - Obtaining and setting SPI device configuration parameters. + + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>Currently, these functions are only applicable in the communication initiated by the SPI controller. + +### Available APIs + +**Table 1** APIs for the SPI driver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    SPI device handle obtaining/releasing

    +

    SpiOpen

    +

    Obtains an SPI device handle.

    +

    SpiClose

    +

    Releases an SPI device handle.

    +

    SPI reading/writing

    +

    SpiRead

    +

    Reads data of a specified length from an SPI device.

    +

    SpiWrite

    +

    Writes data of a specified length into an SPI device.

    +

    SpiTransfer

    +

    Transfers SPI data.

    +

    SPI device configuration

    +

    +

    SpiSetCfg

    +

    Sets configuration parameters for an SPI device.

    +

    SpiGetCfg

    +

    Obtains configuration parameters of an SPI device.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions provided in this document can be called only in kernel space. + +## Usage Guidelines + +### How to Use + +[Figure 2](#fig23885455594) shows the process of using an SPI device. + +**Figure 2** Process of using an SPI device + + +![](figure/en-us_image_0000001123703482.png) + +### Obtaining an SPI Device Handle Before performing SPI communication, obtain an SPI device handle by calling **SpiOpen**. This function returns an SPI device handle with a specified bus number and CS number. DevHandle SpiOpen\(const struct SpiDevInfo \*info\); -**Table 1** Description of **SpiOpen** +**Table 2** Description of **SpiOpen** -

    Parameter

    + - - -

    Parameter

    Description

    +

    Description

    info

    @@ -35,9 +145,9 @@ DevHandle SpiOpen\(const struct SpiDevInfo \*info\);

    Pointer to the SPI device descriptor.

    Return Value

    +

    Return Value

    Description

    +

    Description

    NULL

    @@ -69,23 +179,23 @@ if (spiHandle == NULL) { } ``` -## Obtaining SPI Device Configuration Parameters +### Obtaining SPI Device Configuration Parameters After obtaining the SPI device handle, obtain the SPI device configuration parameters by calling the following function: int32\_t SpiGetCfg\(DevHandle handle, struct SpiCfg \*cfg\); -**Table 2** Description of **SpiGetCfg** +**Table 3** Description of **SpiGetCfg** -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the SPI device handle.

    +

    SPI device handle.

    cfg

    @@ -93,9 +203,9 @@ int32\_t SpiGetCfg\(DevHandle handle, struct SpiCfg \*cfg\);

    Pointer to SPI device configuration parameters.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -114,29 +224,29 @@ int32\_t SpiGetCfg\(DevHandle handle, struct SpiCfg \*cfg\); ``` int32_t ret; struct SpiCfg cfg = {0}; /* SPI configuration information */ -ret = PalSpiSetCfg(spiHandle, &cfg); /* Set SPI device configuration parameters. */ +ret = SpiGetCfg(spiHandle, &cfg); /* Set SPI device configuration parameters. */ if (ret != 0) { HDF_LOGE("SpiGetCfg: failed, ret %d\n", ret); } ``` -## Setting SPI Device Configuration Parameters +### Setting SPI Device Configuration Parameters After obtaining the SPI device handle, set SPI device configuration parameters by calling the following function: int32\_t SpiSetCfg\(DevHandle handle, struct SpiCfg \*cfg\); -**Table 3** Description of **SpiSetCfg** +**Table 4** Description of **SpiSetCfg** -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the SPI device handle.

    +

    SPI device handle.

    cfg

    @@ -144,9 +254,9 @@ int32\_t SpiSetCfg\(DevHandle handle, struct SpiCfg \*cfg\);

    Pointer to SPI device configuration parameters.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -165,8 +275,8 @@ int32\_t SpiSetCfg\(DevHandle handle, struct SpiCfg \*cfg\); ``` int32_t ret; struct SpiCfg cfg = {0}; /* SPI configuration information */ -cfg.mode = SPI_MODE_LOOP; /* Communicate in loopback mode. */ -cfg.comMode = PAL_SPI_POLLING_TRANSFER; /* Communicate in polling mode. */ +cfg.mode = SPI_MODE_LOOP; /* Communication in loopback mode */ +cfg.transferMode = PAL_SPI_POLLING_TRANSFER; /* Communication in polling mode */ cfg.maxSpeedHz = 115200; /* Maximum transmission frequency */ cfg.bitsPerWord = 8; /* The width of per word to be read or written is 8 bits. */ ret = SpiSetCfg(spiHandle, &cfg); /* Set SPI device configuration parameters. */ @@ -175,25 +285,25 @@ if (ret != 0) { } ``` -## Performing SPI Communication +### Performing SPI Communication -- Writing data of a specified length into an SPI device +- Writing data of a specific length into an SPI device To write data into an SPI device only once, call the following function: int32\_t SpiWrite\(DevHandle handle, uint8\_t \*buf, uint32\_t len\); -**Table 4** Description of **SpiWrite** +**Table 5** Description of **SpiWrite** -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the SPI device handle.

    +

    SPI device handle.

    buf

    @@ -206,9 +316,9 @@ int32\_t SpiWrite\(DevHandle handle, uint8\_t \*buf, uint32\_t len\);

    Length of the data to write.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -227,30 +337,30 @@ int32\_t SpiWrite\(DevHandle handle, uint8\_t \*buf, uint32\_t len\); ``` int32_t ret; uint8_t wbuff[4] = {0x12, 0x34, 0x56, 0x78}; -/* Write data of a specified length into an SPI device. */ +/* Write data of a specific length into an SPI device. */ ret = SpiWrite(spiHandle, wbuff, 4); if (ret != 0) { HDF_LOGE("SpiWrite: failed, ret %d\n", ret); } ``` -- Reading data of a specified length from an SPI device +- Reading data of a specific length from an SPI device To read data from an SPI device only once, call the following function: int32\_t SpiRead\(DevHandle handle, uint8\_t \*buf, uint32\_t len\); -**Table 5** Description of **SpiRead** +**Table 6** Description of **SpiRead** -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the SPI device handle.

    +

    SPI device handle.

    buf

    @@ -263,9 +373,9 @@ int32\_t SpiRead\(DevHandle handle, uint8\_t \*buf, uint32\_t len\);

    Length of the data to read.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -284,7 +394,7 @@ int32\_t SpiRead\(DevHandle handle, uint8\_t \*buf, uint32\_t len\); ``` int32_t ret; uint8_t rbuff[4] = {0}; -/* Read data of a specified length from an SPI device. */ +/* Read data of a specific length from an SPI device. */ ret = SpiRead(spiHandle, rbuff, 4); if (ret != 0) { HDF_LOGE("SpiRead: failed, ret %d\n", ret); @@ -297,17 +407,17 @@ To launch a custom transfer, call the following function: int32\_t SpiTransfer\(DevHandle handle, struct SpiMsg \*msgs, uint32\_t count\); -**Table 6** Description of **SpiTransfer** +**Table 7** Description of **SpiTransfer** -

    Parameter

    + - - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the SPI device handle.

    +

    SPI device handle.

    msgs

    @@ -317,12 +427,12 @@ int32\_t SpiTransfer\(DevHandle handle, struct SpiMsg \*msgs, uint32\_t count\);

    count

    Length of the message array.

    +

    Number of messages in the message array.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -343,9 +453,9 @@ int32_t ret; uint8_t wbuff[1] = {0x12}; uint8_t rbuff[1] = {0}; struct SpiMsg msg; /* Custom message to be transferred */ -msg.wbuf = wbuff; /* Pointer to the data to read */ +msg.wbuf = wbuff; /* Pointer to the data to write */ msg.rbuf = rbuff; /* Pointer to the data to read */ -msg.len = 1; /* The length of the data to be read or written is 1 bit. */ +msg.len = 1; /* The length of the data to read or write is 1 bit. */ msg.csChange = 1; /* Disable the CS before the next transfer. */ msg.delayUs = 0; /* No delay before the next transfer */ msg.speed = 115200; /* Speed of this transfer */ @@ -356,7 +466,7 @@ if (ret != 0) { } ``` -## Destroying the SPI Device Handle +### Destroying the SPI Device Handle After the SPI communication, destroy the SPI device handle by calling the following function: @@ -364,17 +474,17 @@ void SpiClose\(DevHandle handle\); This function will release the resources previously obtained. -**Table 7** Description of **SpiClose** +**Table 8** Description of **SpiClose** -

    Parameter

    + - - @@ -384,3 +494,73 @@ This function will release the resources previously obtained. PalHandleDestroy(spiHandle); /* Destroy the SPI device handle. */ ``` +## Usage Example + +The following example shows how to obtain an SPI device handle, set the configuration parameters, and then read or write data from or into the SPI device, and finally destroy the SPI device handle. + +``` +#include "hdf_log.h" +#include "spi_if.h" + +void SpiTestSample(void) +{ + int32_t ret; + struct SpiCfg cfg; /* SPI device configuration information */ + struct SpiDevInfo spiDevinfo; /* SPI device descriptor */ + DevHandle spiHandle = NULL; /* SPI device handle */ + struct SpiMsg msg; /* Custom message to be transferred */ + uint8_t rbuff[4] = { 0 }; + uint8_t wbuff[4] = { 0x12, 0x34, 0x56, 0x78 }; + uint8_t wbuff2[4] = { 0xa1, 0xb2, 0xc3, 0xd4 }; + + spiDevinfo.busNum = 0; /* SPI device bus number */ + spiDevinfo.csNum = 0; /* SPI device CS number */ + spiHandle = SpiOpen(&spiDevinfo); /* Obtain an SPI device handle based on spiDevinfo. */ + if (spiHandle == NULL) { + HDF_LOGE("SpiOpen: failed\n"); + return; + } + /* Obtain configuration parameters of an SPI device. */ + ret = SpiGetCfg(spiHandle, &cfg); + if (ret != 0) { + HDF_LOGE("SpiGetCfg: failed, ret %d\n", ret); + goto err; + } + cfg.maxSpeedHz = 115200; /* Change the maximum clock frequency to 115200. */ + cfg.bitsPerWord = 8; /* Change the word width to 8 bits. */ + /* Set configuration parameters for an SPI device. */ + ret = SpiSetCfg(spiHandle, &cfg); + if (ret != 0) { + HDF_LOGE("SpiSetCfg: failed, ret %d\n", ret); + goto err; + } + /* Write specified length of data into an SPI device. */ + ret = SpiWrite(spiHandle, wbuff, 4); + if (ret != 0) { + HDF_LOGE("SpiWrite: failed, ret %d\n", ret); + goto err; + } + /* Read data of a specified length from an SPI device. */ + ret = SpiRead(spiHandle, rbuff, 4); + if (ret != 0) { + HDF_LOGE("SpiRead: failed, ret %d\n", ret); + goto err; + } + msg.wbuf = wbuff2; /* Pointer to the data to write */ + msg.rbuf = rbuff; /* Pointer to the data to read */ + msg.len = 4; /* The length of the data to read or write is 4 bits. */ + msg.csChange = 1; /* Disable the CS before the next transfer. */ + msg.delayUs = 0; /* No delay before the next transfer */ + msg.speed = 115200; /* Speed of this transfer */ + /* Launch a custom transfer. The number of messages to be transferred is 1. */ + ret = SpiTransfer(spiHandle, &msg, 1); + if (ret != 0) { + HDF_LOGE("SpiTransfer: failed, ret %d\n", ret); + goto err; + } +err: + /* Destroy the SPI device handle. */ + SpiClose(spiHandle); +} +``` + diff --git a/en/device-dev/driver/uartusage-guidelines.md b/en/device-dev/driver/drive-platform-uart-des.md similarity index 58% rename from en/device-dev/driver/uartusage-guidelines.md rename to en/device-dev/driver/drive-platform-uart-des.md index edd894e92db..a789594525e 100644 --- a/en/device-dev/driver/uartusage-guidelines.md +++ b/en/device-dev/driver/drive-platform-uart-des.md @@ -1,37 +1,146 @@ -# UART Usage Guidelines +# UART -- [How to Use](#section47784125013) -- [Obtaining a UART Device Handle](#section146445153110) -- [Setting the UART Baud Rate](#section1862705516339) -- [Obtaining the UART Baud Rate](#section1263651563414) -- [Setting the UART Device Attributes](#section1770091483814) -- [Obtaining UART Device Attributes](#section117543316384) -- [Setting the UART Transmission Mode](#section187233112369) -- [Writing Data of a Specified Length into a UART Device](#section82416423368) -- [Reading Data of a Specified Length from a UART Device](#section192177171373) -- [Destroying the UART Device Handle](#section63131236354) +- [Overview](#section833012453535) + - [Available APIs](#section1680292311549) -## How to Use +- [Usage Guidelines](#section12779050105412) + - [How to Use](#section1858116395510) + - [Obtaining a UART Device Handle](#section124512065617) + - [Setting the UART Baud Rate](#section86881004579) + - [Obtaining the UART Baud Rate](#section897032965712) + - [Setting the UART Device Attributes](#section129141884588) + - [Obtaining UART Device Attributes](#section18689637165812) + - [Setting the UART Transmission Mode](#section72713435918) + - [Writing Data of a Specified Length into a UART Device](#section128001736155919) + - [Reading Data of a Specified Length from a UART Device](#section92851601604) + - [Destroying the UART Device Handle](#section1477410521406) -[Figure 1](#fig1852173020185) shows the process of using a UART device. +- [Usage Example](#section35404241311) -**Figure 1** Process of using a UART device +## Overview +- The Universal Asynchronous Receiver/Transmitter \(UART\) is a universal serial data bus used for asynchronous communication. It enables bi-directional communication between devices in full-duplex mode. +- UART is widely used to print information for debugging or to connect to various external modules such as GPS and Bluetooth. +- A UART is connected to other modules through two wires \(as shown in [Figure 1](#fig209936401896)\) or four wires \(as shown in [Figure 2](#fig1435614171015)\). + - TX: TX pin of the transmitting UART. It is connected to the RX pin of the peer UART. + - RX: RX pin of the receiving UART. It is connected to the TX pin of the peer UART. + - RTS: Request to Send signal pin. It is connected to the CTS pin of the peer UART and is used to indicate whether the local UART is ready to receive data. + - CTS: Clear to Send signal pin. It is connected to the RTS pin of the peer UART and is used to indicate whether the local UART is allowed to send data to the peer end. -![](figures/en-us_image_0000001054006983.png) + **Figure 1** 2-wire UART communication + -## Obtaining a UART Device Handle + ![](figure/en-us_image_0000001170262141.png) + + **Figure 2** 4-wire UART communication + + + ![](figure/en-us_image_0000001123582482.png) + + +- The transmitting and receiving UARTs must ensure that they have the same settings on particular attributes such as the baud rate and data format \(start bit, data bit, parity bit, and stop bit\) before they start to communicate. During data transmission, a UART sends data to the peer end over the TX pin and receives data from the peer end over the RX pin. When the size of the buffer used by a UART for storing received data reaches the preset threshold, the RTS signal of the UART changes to **1** \(data cannot be received\), and the peer UART stops sending data to it because its CTS signal does not allow it to send data. +- The UART interface defines a set of common functions for operating a UART port, including obtaining and releasing device handles, reading and writing data of a specified length, and obtaining and setting the baud rate, as well as the device attributes. + +### Available APIs + +**Table 1** APIs for the UART driver + + +

    Parameter

    Description

    +

    Description

    handle

    Pointer to the SPI device handle

    +

    SPI device handle.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    Obtaining and releasing device handles

    +

    +

    UartOpen

    +

    Obtains the UART device handle.

    +

    UartClose

    +

    Releases a specified UART device handle.

    +

    Reading and writing data

    +

    +

    UartRead

    +

    Reads data of a specified length from a UART device.

    +

    UartWrite

    +

    Writes data of a specified length into a UART device.

    +

    Obtaining and setting the baud rate

    +

    UartGetBaud

    +

    Obtains the UART baud rate.

    +

    UartSetBaud

    +

    Sets the UART baud rate.

    +

    Obtaining and setting device attributes

    +

    +

    UartGetAttribute

    +

    Obtains the UART device attributes.

    +

    UartSetAttribute

    +

    Sets the UART device attributes.

    +

    Setting the transmission mode

    +

    UartSetTransMode

    +

    Sets the UART transmission mode.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All functions provided in this document can be called only in kernel space. + +## Usage Guidelines + +### How to Use + +[Figure 3](#fig1852173020185) shows the process of using a UART device. + +**Figure 3** Process of using a UART device + + +![](figure/en-us_image_0000001170227689.png) + +### Obtaining a UART Device Handle Before performing UART communication, call **UartOpen** to obtain a UART device handle. This function returns the pointer to the UART device handle with a specified port number. DevHandle UartOpen\(uint32\_t port\); -**Table 1** Description of **UartOpen** +**Table 2** Description of UartOpen -

    Parameter

    + - @@ -40,9 +149,9 @@ DevHandle UartOpen\(uint32\_t port\); - - - @@ -70,24 +179,24 @@ if (handle == NULL) { } ``` -## Setting the UART Baud Rate +### Setting the UART Baud Rate After obtaining the UART device handle, set the UART baud rate by calling the following function: int32\_t UartSetBaud\(DevHandle handle, uint32\_t baudRate\); -**Table 2** Description of **UartSetBaud** +**Table 3** Description of UartSetBaud -

    Parameter

    Description

    +

    Description

    UART port number.

    Return Value

    +

    Return Value

    Description

    +

    Description

    NULL

    @@ -52,7 +161,7 @@ DevHandle UartOpen\(uint32\_t port\);

    Device handle

    Pointer to the UART device handle.

    +

    UART device handle.

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    baudRate

    @@ -95,9 +204,9 @@ int32\_t UartSetBaud\(DevHandle handle, uint32\_t baudRate\);

    Baud rate of the UART to set.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -124,24 +233,24 @@ if (ret != 0) { } ``` -## Obtaining the UART Baud Rate +### Obtaining the UART Baud Rate After setting the UART baud rate, obtain the current baud rate by calling the following function: int32\_t UartGetBaud\(DevHandle handle, uint32\_t \*baudRate\); -**Table 3** Description of **UartGetBaud** +**Table 4** Description of UartGetBaud -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    baudRate

    @@ -149,9 +258,9 @@ int32\_t UartGetBaud\(DevHandle handle, uint32\_t \*baudRate\);

    Pointer to the UART baud rate.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -179,24 +288,24 @@ if (ret != 0) { } ``` -## Setting the UART Device Attributes +### Setting the UART Device Attributes Before performing UART communication, set the UART device attributes by calling the following function: int32\_t UartSetAttribute\(DevHandle handle, struct UartAttribute \*attribute\); -**Table 4** Description of **UartSetAttribute** +**Table 5** Description of UartSetAttribute -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    attribute

    @@ -204,9 +313,9 @@ int32\_t UartSetAttribute\(DevHandle handle, struct UartAttribute \*attribute\);

    Pointer to the UART device attributes to set.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -241,24 +350,24 @@ if (ret != 0) { } ``` -## Obtaining UART Device Attributes +### Obtaining UART Device Attributes After setting the UART device attributes, obtain the current device attributes by calling the following function: int32\_t UartGetAttribute\(DevHandle handle, struct UartAttribute \*attribute\); -**Table 5** Description of **UartGetAttribute** +**Table 6** Description of UartGetAttribute -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    attribute

    @@ -266,9 +375,9 @@ int32\_t UartGetAttribute\(DevHandle handle, struct UartAttribute \*attribute\);

    Pointer to the UART device attributes.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -296,24 +405,24 @@ if (ret != 0) { } ``` -## Setting the UART Transmission Mode +### Setting the UART Transmission Mode Before performing UART communication, set the UART transmission mode by calling the following function: int32\_t UartSetTransMode\(DevHandle handle, enum UartTransMode mode\); -**Table 6** Description of **UartSetTransMode** +**Table 7** Description of UartSetTransMode -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    mode

    @@ -321,9 +430,9 @@ int32\_t UartSetTransMode\(DevHandle handle, enum UartTransMode mode\);

    UART transmission mode to set.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -350,24 +459,24 @@ if (ret != 0) { } ``` -## Writing Data of a Specified Length into a UART Device +### Writing Data of a Specified Length into a UART Device To write data into a UART device, call the following function: int32\_t UartWrite\(DevHandle handle, uint8\_t \*data, uint32\_t size\); -**Table 7** Description of **UartWrite** +**Table 8** Description of UartWrite -

    Parameter

    + - - - -

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    data

    @@ -380,9 +489,9 @@ int32\_t UartWrite\(DevHandle handle, uint8\_t \*data, uint32\_t size\);

    Length of the data to write.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -410,24 +519,24 @@ if (ret != 0) { } ``` -## Reading Data of a Specified Length from a UART Device +### Reading Data of a Specified Length from a UART Device -To read data from a UART device, call the following function: +To write data into a UART device, call the following function: int32\_t UartRead\(DevHandle handle, uint8\_t \*data, uint32\_t size\); -**Table 8** Description of **UartRead** +**Table 9** Description of UartRead -

    Parameter

    + - - - - - - - diff --git "a/zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" b/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md similarity index 97% rename from "zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" rename to zh-cn/device-dev/porting/transplant-thirdparty-makefile.md index a2a6a92ee5a..ddabc1ef30a 100644 --- "a/zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" +++ b/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md @@ -148,7 +148,7 @@ ## 测试 -yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法: +yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法: **表 3** 生成的test目录结构示意 @@ -236,7 +236,7 @@ echo "All tests completed successfully." ## 将该库编译添加到OpenHarmony工程中 -yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下: +yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下: - yxml库新增的BUILD.gn实现如下: @@ -289,7 +289,7 @@ if (TEST_ENABLE == "YES") { - diff --git "a/zh-cn/device-dev/porting/\346\246\202\350\277\260.md" b/zh-cn/device-dev/porting/transplant-thirdparty-overview.md similarity index 100% rename from "zh-cn/device-dev/porting/\346\246\202\350\277\260.md" rename to zh-cn/device-dev/porting/transplant-thirdparty-overview.md diff --git a/zh-cn/device-dev/porting/transplant-thirdparty.md b/zh-cn/device-dev/porting/transplant-thirdparty.md new file mode 100644 index 00000000000..ca27b2d3398 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-thirdparty.md @@ -0,0 +1,9 @@ +# 三方库移植指导 + +- **[概述](transplant-thirdparty-overview.md)** + +- **[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md)** + +- **[Makefile方式组织编译的库移植](transplant-thirdparty-makefile.md)** + + diff --git a/zh-cn/device-dev/porting/transplant.md b/zh-cn/device-dev/porting/transplant.md new file mode 100644 index 00000000000..bc8d8a3ad12 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant.md @@ -0,0 +1,9 @@ +# 移植 + +- **[三方库移植指导](transplant-thirdparty.md)** + +- **[轻量系统芯片移植指导](transplant-minichip.md)** + +- **[小型系统芯片移植指导](transplant-smallchip.md)** + + diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" deleted file mode 100644 index e54970ed8fe..00000000000 --- "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 三方库移植指导 - -- **[概述](概述.md)** - -- **[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md)** - -- **[Makefile方式组织编译的库移植](Makefile方式组织编译的库移植.md)** - - diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" deleted file mode 100644 index c6c7b4103e7..00000000000 --- "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 三方芯片移植指导 - -- **[移植准备](移植准备.md)** - -- **[内核移植](内核移植.md)** - -- **[板级系统移植](板级系统移植.md)** - -- **[常见问题](常见问题.md)** - - diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" deleted file mode 100644 index 1dfe36434a1..00000000000 --- "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 内核移植 - -- **[移植概述](移植概述.md)** - -- **[内核基础适配](内核基础适配.md)** - -- **[内核移植验证](内核移植验证.md)** - - diff --git "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" "b/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" deleted file mode 100644 index 3029464912d..00000000000 --- "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 板级系统移植 - -- **[移植概述](移植概述-0.md)** - -- **[板级驱动适配](板级驱动适配.md)** - -- **[HAL层实现](HAL层实现.md)** - -- **[系统组件调用](系统组件调用.md)** - -- **[三方组件适配](三方组件适配.md)** - -- **[XTS认证](XTS认证.md)** - - -- Gitee From de07d3290410454e5dd7488d079317bcb091c0bf Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Thu, 22 Jul 2021 19:55:18 +0800 Subject: [PATCH 12/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- zh-cn/readme.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/zh-cn/readme.md b/zh-cn/readme.md index 5c5ae0d94db..6fa9316b43e 100644 --- a/zh-cn/readme.md +++ b/zh-cn/readme.md @@ -45,22 +45,15 @@ - [平台驱动](device-dev/guide/device-driver-demo.md) - [外设驱动](device-dev/guide/device-outerdriver-demo.md) -<<<<<<< HEAD - porting:移植适配 [三方库移植指导](device-dev/porting/transplant-thirdparty.md) + [标准系统芯片移植指导](device-dev/porting/standard_system_porting_guide.md) - bundles:组件开发 - [组件开发规范](device-dev/bundles/bundles-standard-rules.md) - [组件开发指南](device-dev/bundles/bundles-guide.md) - [组件开发示例](device-dev/bundles/bundles-demo.md) -======= - - porting:[移植适配](device-dev/porting/Readme-CN.md) - - bundles:[组件开发](device-dev/bundles/Readme-CN.md) - - [组件开发规范](device-dev/bundles/组件开发规范.md) - - [组件开发指南](device-dev/bundles/组件开发指南.md) - - [组件开发示例](device-dev/bundles/组件开发示例.md) ->>>>>>> 2969611b3e2a25755ebcd7f632c8fe3f7f0c615f - 应用开发 -- Gitee From 22944f6fa5a432cd33d70675fe38d5dd2a4176bd Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Thu, 22 Jul 2021 19:56:48 +0800 Subject: [PATCH 13/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- zh-cn/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh-cn/readme.md b/zh-cn/readme.md index 6fa9316b43e..2f28456dc8d 100644 --- a/zh-cn/readme.md +++ b/zh-cn/readme.md @@ -47,8 +47,8 @@ - porting:移植适配 - [三方库移植指导](device-dev/porting/transplant-thirdparty.md) - [标准系统芯片移植指导](device-dev/porting/standard_system_porting_guide.md) + - [三方库移植指导](device-dev/porting/transplant-thirdparty.md) + - [标准系统芯片移植指导](device-dev/porting/standard_system_porting_guide.md) - bundles:组件开发 - [组件开发规范](device-dev/bundles/bundles-standard-rules.md) -- Gitee

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle.

    +

    UART device handle.

    data

    @@ -440,9 +549,9 @@ int32\_t UartRead\(DevHandle handle, uint8\_t \*data, uint32\_t size\);

    Length of the data to read.

    Return Value

    +

    Return Value

    Description

    +

    Description

    Non-negative value

    @@ -470,10 +579,10 @@ if (ret < 0) { } ``` ->![](public_sys-resources/icon-caution.gif) **CAUTION:** +>![](../public_sys-resources/icon-caution.gif) **CAUTION:** >Data is successfully read from the UART device if a non-negative value is returned. If the return value is **0**, no valid data can be read from the UART device. If the return value is greater than **0**, the return value is the length of the data actually read from the UART device. The length is less than or equal to the value of **size** and does not exceed the maximum length of data to read at a time specified by the UART controller in use. -## Destroying the UART Device Handle +### Destroying the UART Device Handle After the UART communication, destroy the UART device handle by calling the following function: @@ -481,18 +590,18 @@ void UartClose\(DevHandle handle\); This function will release the resources previously obtained. -**Table 9** Description of **UartClose** +**Table 10** Description of UartClose -

    Parameter

    + - - @@ -504,3 +613,70 @@ The following example shows how to destroy the UART device handle: UartClose(handle); /* Destroy the UART device handle. */ ``` +## Usage Example + +The following is a usage example of a UART device, including how to obtain the UART device handle, set the baud rate, device attributes, and transmission mode, read data from or write data into the UART device, and then destroy the UART device handle. + +``` +#include "hdf_log.h" +#include "uart_if.h" + +void UartTestSample(void) +{ + int32_t ret; + uint32_t port; + DevHandle handle = NULL; + uint8_t wbuff[5] = { 1, 2, 3, 4, 5 }; + uint8_t rbuff[5] = { 0 }; + struct UartAttribute attribute; + attribute.dataBits = UART_ATTR_DATABIT_7; /* Set the number of data bits to 7. */ + attribute.parity = UART_ATTR_PARITY_NONE; /* Set the parity bit to no parity. */ + attribute.stopBits = UART_ATTR_STOPBIT_1; /* Set the stop bit to 1. */ + attribute.rts = UART_ATTR_RTS_DIS; /* Disable the RTS signal. */ + attribute.cts = UART_ATTR_CTS_DIS; /* Disable the CTS signal. */ + attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; /* Enable RX FIFO. */ + attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN; /* Enable TX FIFO. */ + /* Set the UART port number actually used. */ + port = 1; + /* Obtain the UART device handle. */ + handle = UartOpen(port); + if (handle == NULL) { + HDF_LOGE("UartOpen: failed!\n"); + return; + } + /* Set the UART baud rate to 9600. */ + ret = UartSetBaud(handle, 9600); + if (ret != 0) { + HDF_LOGE("UartSetBaud: failed, ret %d\n", ret); + goto _ERR; + } + /* Set the UART device attributes. */ + ret = UartSetAttribute(handle, &attribute); + if (ret != 0) { + HDF_LOGE("UartSetAttribute: failed, ret %d\n", ret); + goto _ERR; + } + /* Set the UART transmission mode to non-blocking mode. */ + ret = UartSetTransMode(handle, UART_MODE_RD_NONBLOCK); + if (ret != 0) { + HDF_LOGE("UartSetTransMode: failed, ret %d\n", ret); + goto _ERR; + } + /* Write 5-byte data into the UART device. */ + ret = UartWrite(handle, wbuff, 5); + if (ret != 0) { + HDF_LOGE("UartWrite: failed, ret %d\n", ret); + goto _ERR; + } + /* Read 5-byte data from the UART device. */ + ret = UartRead(handle, rbuff, 5); + if (ret < 0) { + HDF_LOGE("UartRead: failed, ret %d\n", ret); + goto _ERR; + } +_ERR: + /* Destroy the UART device handle. */ + UartClose(handle); +} +``` + diff --git a/en/device-dev/driver/watchdogusage-guidelines.md b/en/device-dev/driver/drive-platform-watchdog-des.md similarity index 55% rename from en/device-dev/driver/watchdogusage-guidelines.md rename to en/device-dev/driver/drive-platform-watchdog-des.md index e3eb5c091fb..ddaddc1abe0 100644 --- a/en/device-dev/driver/watchdogusage-guidelines.md +++ b/en/device-dev/driver/drive-platform-watchdog-des.md @@ -1,38 +1,117 @@ -# Watchdog Usage Guidelines +# Watchdog -- [How to Use](#section0719414187) -- [Opening a Watchdog](#section198171379261) -- [Obtaining the Watchdog Status](#section206592910275) -- [Setting the Timeout Duration](#section19605128182714) -- [Obtaining the Timeout Duration](#section11111516208) -- [Starting a Watchdog](#section141174192814) -- [Feeding a Watchdog](#section179101435113910) -- [Stopping a Watchdog](#section15282123192816) -- [Closing a Watchdog](#section7857850173411) +- [Overview](#section14918241977) + - [Available APIs](#section20177131219818) -## How to Use +- [Usage Guidelines](#section10103184312813) + - [How to Use](#section10181195910815) + - [Opening a Watchdog](#section66089201107) + - [Obtaining the Watchdog Status](#section786624341011) + - [Setting the Timeout Duration](#section182386137111) + - [Obtaining the Timeout Duration](#section1883310371114) + - [Starting a Watchdog](#section82501405123) + - [Feeding a Watchdog](#section3547530101211) + - [Stopping a Watchdog](#section944595841217) + - [Closing a Watchdog](#section96561824121311) + +- [Usage Example](#section1724514523135) + +## Overview + +A watchdog, also called a watchdog timer, is a hardware timing device. If an error occurs in the main program of the system and fails to reset the watchdog timer, the watchdog timer sends a reset signal to restore the system to a normal state. + +### Available APIs + +**Table 1** Watchdog APIs + + +

    Parameter

    Description

    +

    Description

    handle

    Pointer to the UART device handle

    +

    UART device handle.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Capability

    +

    Function

    +

    Description

    +

    Open/Close

    +

    WatchdogOpen

    +

    Opens a watchdog.

    +

    WatchdogClose

    +

    Closes a watchdog.

    +

    Start/Stop

    +

    WatchdogStart

    +

    Starts a watchdog.

    +

    WatchdogStop

    +

    Stops a watchdog.

    +

    Timeout duration

    +

    WatchdogSetTimeout

    +

    Sets the watchdog timeout duration.

    +

    WatchdogGetTimeout

    +

    Obtains the watchdog timeout duration.

    +

    Status

    +

    WatchdogGetStatus

    +

    Obtains the watchdog status.

    +

    Feeding

    +

    WatchdogFeed

    +

    Feeds a watchdog, or resets a watchdog timer.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>All watchdog functions provided in this document can be called only in kernel mode. + +## Usage Guidelines + +### How to Use [Figure 1](#fig19134125410189) illustrates the process of using a watchdog. **Figure 1** Process of using a watchdog -![](figures/en-us_image_0000001057622716.png) +![](figure/en-us_image_0000001170229891.png) -## Opening a Watchdog +### Opening a Watchdog -Use **WatchdogOpen** to open a watchdog. A system may have multiple watchdogs. You can open a specified watchdog by using the ID. +Use **WatchdogOpen** to open a watchdog. A system may have multiple watchdogs. You can open the specified watchdog by using the ID. -int32\_t WatchdogOpen\(int16\_t wdtId\); +int32\_t WatchdogOpen\(int16\_t wdtId\); -. - -**Table 1** Description of WatchdogOpen +**Table 2** Description of WatchdogOpen -

    Parameter

    + - @@ -41,9 +120,9 @@ int32\_t WatchdogOpen\(int16\_t wdtId\); - - - @@ -68,18 +147,16 @@ if (handle == NULL) { } ``` -## Obtaining the Watchdog Status - -int32\_t WatchdogGetStatus\(DevHandle handle, int32\_t \*status\); +### Obtaining the Watchdog Status -. +int32\_t WatchdogGetStatus\(DevHandle handle, int32\_t \*status\); -**Table 2** Description of WatchdogGetStatus +**Table 3** Description of WatchdogGetStatus -

    Parameter

    Description

    +

    Description

    Watchdog ID.

    Return Value

    +

    Return Value

    Description

    +

    Description

    NULL

    @@ -51,7 +130,7 @@ int32\_t WatchdogOpen\(int16\_t wdtId\);

    Failed to open the watchdog.

    DevHandle pointer

    +

    DevHandle pointer

    Pointer to the watchdog handle.

    Parameter

    + - @@ -93,9 +170,9 @@ int32\_t WatchdogGetStatus\(DevHandle handle, int32\_t \*status\); - -

    Parameter

    Description

    +

    Description

    Pointer to the watchdog status.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -122,16 +199,16 @@ if (ret != 0) { } ``` -## Setting the Timeout Duration +### Setting the Timeout Duration -int32\_t WatchdogSetTimeout\(PalHandle \*handle, uint32\_t seconds\); +int32\_t WatchdogSetTimeout\(PalHandle \*handle, uint32\_t seconds\); -**Table 3** Description of WatchdogSetTimeout +**Table 4** Description of WatchdogSetTimeout - - - -

    Parameter

    + - @@ -145,9 +222,9 @@ int32\_t WatchdogSetTimeout\(PalHandle \*handle, uint32\_t seconds\); - - -

    Parameter

    Description

    +

    Description

    Timeout duration, in seconds.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -174,16 +251,16 @@ if (ret != 0) { } ``` -## Obtaining the Timeout Duration +### Obtaining the Timeout Duration -int32\_t WatchdogGetTimeout\(PalHandle \*handle, uint32\_t \*seconds\); +int32\_t WatchdogGetTimeout\(PalHandle \*handle, uint32\_t \*seconds\); -**Table 4** Description of WatchdogGetTimeout +**Table 5** Description of WatchdogGetTimeout - - diff --git a/en/device-dev/porting/porting-a-library-built-using-makefile.md b/en/device-dev/porting/transplant-thirdparty-makefile.md similarity index 98% rename from en/device-dev/porting/porting-a-library-built-using-makefile.md rename to en/device-dev/porting/transplant-thirdparty-makefile.md index ed7a88af264..a6d80725a23 100644 --- a/en/device-dev/porting/porting-a-library-built-using-makefile.md +++ b/en/device-dev/porting/transplant-thirdparty-makefile.md @@ -148,7 +148,7 @@ The following steps show how to configure and modify the toolchains for cross-co ## Library Test -The test procedure for the yxml library is similar to that for the double-conversion library. For details, see the procedure described in [Porting a Library Built Using CMake](porting-a-library-built-using-cmake.md#section6686144293611). The following describes how to use the test cases of the yxml library. +The test procedure for the yxml library is similar to that for the double-conversion library. For details, see the procedure described in [Porting a Library Built Using CMake](transplant-thirdparty-cmake.md#section6686144293611). The following describes how to use the test cases of the yxml library. **Table 3** Directory structure of the test directory @@ -236,7 +236,7 @@ The following operations are performed based on the assumption that the OpenHarm ## Adding the Compiled yxml Library to the OpenHarmony Project -The procedure for adding the yxml library is almost the same as that for adding the double-conversion library, except that the implementation of **build.gn** and **config.gni** files. For details, see the procedure described in [Porting a Library Built Using CMake](porting-a-library-built-using-cmake.md#section1651053153715). +The procedure for adding the yxml library is almost the same as that for adding the double-conversion library, except that the implementation of **build.gn** and **config.gni** files. For details, see the procedure described in [Porting a Library Built Using CMake](transplant-thirdparty-cmake.md#section1651053153715). - The implementation of the newly added **BUILD.gn** file in the yxml library is as follows: @@ -289,7 +289,7 @@ if (TEST_ENABLE == "YES") { - diff --git a/en/device-dev/porting/overview.md b/en/device-dev/porting/transplant-thirdparty-overview.md similarity index 100% rename from en/device-dev/porting/overview.md rename to en/device-dev/porting/transplant-thirdparty-overview.md diff --git a/en/device-dev/porting/transplant-thirdparty.md b/en/device-dev/porting/transplant-thirdparty.md new file mode 100644 index 00000000000..c8b071004fa --- /dev/null +++ b/en/device-dev/porting/transplant-thirdparty.md @@ -0,0 +1,9 @@ +# Third-Party Library Porting Guide + +- **[Overview](transplant-thirdparty-overview.md)** + +- **[Porting a Library Built Using CMake](transplant-thirdparty-cmake.md)** + +- **[Porting a Library Built Using Makefile](transplant-thirdparty-makefile.md)** + + diff --git a/en/device-dev/porting/transplant.md b/en/device-dev/porting/transplant.md new file mode 100644 index 00000000000..059e5ea0f84 --- /dev/null +++ b/en/device-dev/porting/transplant.md @@ -0,0 +1,9 @@ +# Porting + +- **[Third-Party Library Porting Guide](transplant-thirdparty.md)** + +- **[Mini System SoC Porting Guide](transplant-minichip.md)** + +- **[Small System SoC Porting Guide](transplant-smallchip.md)** + + diff --git a/en/device-dev/bundles/public_sys-resources/icon-caution.gif b/en/device-dev/public_sys-resources/icon-caution.gif similarity index 100% rename from en/device-dev/bundles/public_sys-resources/icon-caution.gif rename to en/device-dev/public_sys-resources/icon-caution.gif diff --git a/en/device-dev/bundles/public_sys-resources/icon-danger.gif b/en/device-dev/public_sys-resources/icon-danger.gif similarity index 100% rename from en/device-dev/bundles/public_sys-resources/icon-danger.gif rename to en/device-dev/public_sys-resources/icon-danger.gif diff --git a/en/device-dev/bundles/public_sys-resources/icon-note.gif b/en/device-dev/public_sys-resources/icon-note.gif similarity index 100% rename from en/device-dev/bundles/public_sys-resources/icon-note.gif rename to en/device-dev/public_sys-resources/icon-note.gif diff --git a/en/device-dev/bundles/public_sys-resources/icon-notice.gif b/en/device-dev/public_sys-resources/icon-notice.gif similarity index 100% rename from en/device-dev/bundles/public_sys-resources/icon-notice.gif rename to en/device-dev/public_sys-resources/icon-notice.gif diff --git a/en/device-dev/bundles/public_sys-resources/icon-tip.gif b/en/device-dev/public_sys-resources/icon-tip.gif similarity index 100% rename from en/device-dev/bundles/public_sys-resources/icon-tip.gif rename to en/device-dev/public_sys-resources/icon-tip.gif diff --git a/en/device-dev/bundles/public_sys-resources/icon-warning.gif b/en/device-dev/public_sys-resources/icon-warning.gif similarity index 100% rename from en/device-dev/bundles/public_sys-resources/icon-warning.gif rename to en/device-dev/public_sys-resources/icon-warning.gif diff --git a/en/device-dev/quick-start/Readme-EN.md b/en/device-dev/quick-start/Readme-EN.md index 7c52dded250..2741990f652 100644 --- a/en/device-dev/quick-start/Readme-EN.md +++ b/en/device-dev/quick-start/Readme-EN.md @@ -1,42 +1,40 @@ -# Getting Started +# Getting Started -- [Overview](overview.md) -- [Mini and Small Systems](mini-and-small-systems.md) - - [Overview](overview-0.md) - - [Introduction to the Development Boards](introduction-to-the-development-boards.md) - - [Hi3861 Development Board](hi3861-development-board.md) - - [Hi3516 Development Board](hi3516-development-board.md) - - [Hi3518 Development Board](hi3518-development-board.md) +- [Mini and Small Systems](quickstart-lite.md) + - [Overview](quickstart-lite-overview.md) + - [Introduction to the Development Boards](quickstart-lite-introduction.md) + - [Hi3861 Development Board](quickstart-lite-introduction-hi3861.md) + - [Hi3516 Development Board](quickstart-lite-introduction-hi3516.md) + - [Hi3518 Development Board](quickstart-lite-introduction-hi3518.md) - - [Environment Setup](environment-setup.md) - - [Overview](overview-1.md) - - [Windows Development Environment](windows-development-environment.md) - - [Ubuntu Build Environment](ubuntu-build-environment.md) - - [FAQ](faq.md) + - [Environment Setup](quickstart-lite-env-setup.md) + - [Overview](quickstart-lite-env-setup-des.md) + - [Windows Development Environment](quickstart-lite-env-setup-win.md) + - [Ubuntu Build Environment](quickstart-lite-env-setup-lin.md) + - [FAQ](quickstart-lite-env-setup-faqs.md) - - [How to Develop](how-to-develop.md) - - [Hi3861](hi3861.md) - - [Setting Up the Environment](setting-up-the-environment.md) - - [WLAN Connection](wlan-connection.md) - - [Running a Hello World Program](running-a-hello-world-program.md) - - [FAQs](faqs.md) + - [How to Develop](quickstart-lite-steps.md) + - [Hi3861](quickstart-lite-steps-board3861.md) + - [Setting Up the Environment](quickstart-lite-steps-board3861-setting.md) + - [WLAN Connection](quickstart-lite-steps-board3861-connection.md) + - [Running a Hello World Program](quickstart-lite-steps-board3861-running.md) + - [FAQs](quickstart-lite-steps-board3861-faqs.md) - - [Hi3516](hi3516.md) - - [Setting Up the Environment](setting-up-the-environment-2.md) - - [Running a Hello OHOS Program](running-a-hello-ohos-program.md) - - [Developing a Driver](developing-a-driver.md) - - [FAQs](faqs-3.md) + - [Hi3516](quickstart-lite-steps-board3516.md) + - [Setting Up the Environment](quickstart-lite-steps-board3516-setting.md) + - [Running a Hello OHOS Program](quickstart-lite-steps-board3516-running.md) + - [Developing a Driver](quickstart-lite-steps-board3516-program.md) + - [FAQs](quickstart-lite-steps-board3516-faqs.md) - - [Hi3518](hi3518.md) - - [Setting Up the Environment](setting-up-the-environment-4.md) - - [Running a Hello OHOS Program](running-a-hello-ohos-program-5.md) - - [FAQs](faqs-6.md) - -- [Standard System](standard-system.md) - - [Introduction](introduction.md) - - [Setting Up Windows Development Environment](setting-up-windows-development-environment.md) - - [Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](setting-up-ubuntu-development-environment-in-docker-mode-and-building-source-code.md) - - [Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md) - - [Burning Images](burning-images.md) - - [FAQs](faqs-7.md) + - [Hi3518](quickstart-lite-steps-board3518.md) + - [Setting Up the Environment](quickstart-lite-steps-board3518-setting.md) + - [Running a Hello OHOS Program](quickstart-lite-steps-board3518-running.md) + - [FAQs](quickstart-lite-steps-board3518-faqs.md) +- [Standard System](quickstart-standard.md) + - [FAQ](quickstart-lite-env-setup-faqs.md) + - [Setting Up Windows Development Environment](quickstart-standard-windows-environment.md) + - [Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](quickstart-standard-docker-environment.md) + - [Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](quickstart-standard-package-environment.md) + - [Burning Images](quickstart-standard-burn.md) + - [FAQs](quickstart-standard-faq.md) \ No newline at end of file diff --git a/en/device-dev/quick-start/environment-setup.md b/en/device-dev/quick-start/environment-setup.md deleted file mode 100644 index 289f31965d0..00000000000 --- a/en/device-dev/quick-start/environment-setup.md +++ /dev/null @@ -1,11 +0,0 @@ -# Environment Setup - -- **[Overview](overview-1.md)** - -- **[Windows Development Environment](windows-development-environment.md)** - -- **[Ubuntu Build Environment](ubuntu-build-environment.md)** - -- **[FAQ](faq.md)** - - diff --git a/en/device-dev/quick-start/figures/1.png b/en/device-dev/quick-start/figure/1.png similarity index 100% rename from en/device-dev/quick-start/figures/1.png rename to en/device-dev/quick-start/figure/1.png diff --git a/en/device-dev/quick-start/figures/10.png b/en/device-dev/quick-start/figure/10.png similarity index 100% rename from en/device-dev/quick-start/figures/10.png rename to en/device-dev/quick-start/figure/10.png diff --git a/en/device-dev/quick-start/figures/2.png b/en/device-dev/quick-start/figure/2.png similarity index 100% rename from en/device-dev/quick-start/figures/2.png rename to en/device-dev/quick-start/figure/2.png diff --git a/en/device-dev/quick-start/figures/2021-01-27_170334-18.png b/en/device-dev/quick-start/figure/2021-01-27_170334-17.png similarity index 100% rename from en/device-dev/quick-start/figures/2021-01-27_170334-18.png rename to en/device-dev/quick-start/figure/2021-01-27_170334-17.png diff --git a/en/device-dev/quick-start/figures/2021-01-27_170334-19.png b/en/device-dev/quick-start/figure/2021-01-27_170334-18.png similarity index 100% rename from en/device-dev/quick-start/figures/2021-01-27_170334-19.png rename to en/device-dev/quick-start/figure/2021-01-27_170334-18.png diff --git a/en/device-dev/quick-start/figures/2021-01-27_170334-2.png b/en/device-dev/quick-start/figure/2021-01-27_170334-2.png similarity index 100% rename from en/device-dev/quick-start/figures/2021-01-27_170334-2.png rename to en/device-dev/quick-start/figure/2021-01-27_170334-2.png diff --git a/en/device-dev/quick-start/figures/2021-01-27_170334-5.png b/en/device-dev/quick-start/figure/2021-01-27_170334-5.png similarity index 100% rename from en/device-dev/quick-start/figures/2021-01-27_170334-5.png rename to en/device-dev/quick-start/figure/2021-01-27_170334-5.png diff --git a/en/device-dev/quick-start/figures/2021-01-27_170334.png b/en/device-dev/quick-start/figure/2021-01-27_170334.png similarity index 100% rename from en/device-dev/quick-start/figures/2021-01-27_170334.png rename to en/device-dev/quick-start/figure/2021-01-27_170334.png diff --git a/en/device-dev/quick-start/figures/3-0.png b/en/device-dev/quick-start/figure/3-0.png similarity index 100% rename from en/device-dev/quick-start/figures/3-0.png rename to en/device-dev/quick-start/figure/3-0.png diff --git a/en/device-dev/quick-start/figures/3.png b/en/device-dev/quick-start/figure/3.png similarity index 100% rename from en/device-dev/quick-start/figures/3.png rename to en/device-dev/quick-start/figure/3.png diff --git "a/en/device-dev/quick-start/figures/3516\346\255\243\351\235\242.png" "b/en/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" similarity index 100% rename from "en/device-dev/quick-start/figures/3516\346\255\243\351\235\242.png" rename to "en/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" diff --git "a/en/device-dev/quick-start/figures/3861\346\255\243\351\235\242.png" "b/en/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" similarity index 100% rename from "en/device-dev/quick-start/figures/3861\346\255\243\351\235\242.png" rename to "en/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" diff --git a/en/device-dev/quick-start/figures/4.png b/en/device-dev/quick-start/figure/4.png similarity index 100% rename from en/device-dev/quick-start/figures/4.png rename to en/device-dev/quick-start/figure/4.png diff --git a/en/device-dev/quick-start/figures/5-1.png b/en/device-dev/quick-start/figure/5-1.png similarity index 100% rename from en/device-dev/quick-start/figures/5-1.png rename to en/device-dev/quick-start/figure/5-1.png diff --git a/en/device-dev/quick-start/figures/5.png b/en/device-dev/quick-start/figure/5.png similarity index 100% rename from en/device-dev/quick-start/figures/5.png rename to en/device-dev/quick-start/figure/5.png diff --git a/en/device-dev/quick-start/figures/6.png b/en/device-dev/quick-start/figure/6.png similarity index 100% rename from en/device-dev/quick-start/figures/6.png rename to en/device-dev/quick-start/figure/6.png diff --git a/en/device-dev/quick-start/figures/allowing-the-visual-studio-code-application-to-access-the-network-16.png b/en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network-16.png similarity index 100% rename from en/device-dev/quick-start/figures/allowing-the-visual-studio-code-application-to-access-the-network-16.png rename to en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network-16.png diff --git a/en/device-dev/quick-start/figures/allowing-the-visual-studio-code-application-to-access-the-network.png b/en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network.png similarity index 100% rename from en/device-dev/quick-start/figures/allowing-the-visual-studio-code-application-to-access-the-network.png rename to en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network.png diff --git a/en/device-dev/quick-start/figures/changjian1-11.png b/en/device-dev/quick-start/figure/changjian1-11.png similarity index 100% rename from en/device-dev/quick-start/figures/changjian1-11.png rename to en/device-dev/quick-start/figure/changjian1-11.png diff --git a/en/device-dev/quick-start/figures/changjian1.png b/en/device-dev/quick-start/figure/changjian1.png similarity index 100% rename from en/device-dev/quick-start/figures/changjian1.png rename to en/device-dev/quick-start/figure/changjian1.png diff --git a/en/device-dev/quick-start/figures/checking-whether-the-serial-port-is-used-9.png b/en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used-9.png similarity index 100% rename from en/device-dev/quick-start/figures/checking-whether-the-serial-port-is-used-9.png rename to en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used-9.png diff --git a/en/device-dev/quick-start/figures/checking-whether-the-serial-port-is-used.png b/en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used.png similarity index 100% rename from en/device-dev/quick-start/figures/checking-whether-the-serial-port-is-used.png rename to en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used.png diff --git a/en/device-dev/quick-start/figures/chuankou1-6.png b/en/device-dev/quick-start/figure/chuankou1-6.png similarity index 100% rename from en/device-dev/quick-start/figures/chuankou1-6.png rename to en/device-dev/quick-start/figure/chuankou1-6.png diff --git a/en/device-dev/quick-start/figures/chuankou1.png b/en/device-dev/quick-start/figure/chuankou1.png similarity index 100% rename from en/device-dev/quick-start/figures/chuankou1.png rename to en/device-dev/quick-start/figure/chuankou1.png diff --git a/en/device-dev/quick-start/figures/disabling-the-terminal-using-the-serial-port-10.png b/en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port-10.png similarity index 100% rename from en/device-dev/quick-start/figures/disabling-the-terminal-using-the-serial-port-10.png rename to en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port-10.png diff --git a/en/device-dev/quick-start/figures/disabling-the-terminal-using-the-serial-port.png b/en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port.png similarity index 100% rename from en/device-dev/quick-start/figures/disabling-the-terminal-using-the-serial-port.png rename to en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001056814287.png b/en/device-dev/quick-start/figure/en-us_image_0000001056814287.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001056814287.png rename to en/device-dev/quick-start/figure/en-us_image_0000001056814287.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001057335403.png b/en/device-dev/quick-start/figure/en-us_image_0000001057335403.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001057335403.png rename to en/device-dev/quick-start/figure/en-us_image_0000001057335403.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001072468991.png b/en/device-dev/quick-start/figure/en-us_image_0000001072468991.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001072468991.png rename to en/device-dev/quick-start/figure/en-us_image_0000001072468991.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001072757874.png b/en/device-dev/quick-start/figure/en-us_image_0000001072757874.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001072757874.png rename to en/device-dev/quick-start/figure/en-us_image_0000001072757874.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001073840162.png b/en/device-dev/quick-start/figure/en-us_image_0000001073840162.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001073840162.png rename to en/device-dev/quick-start/figure/en-us_image_0000001073840162.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001096154076.png b/en/device-dev/quick-start/figure/en-us_image_0000001096154076.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001096154076.png rename to en/device-dev/quick-start/figure/en-us_image_0000001096154076.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001100641602.png b/en/device-dev/quick-start/figure/en-us_image_0000001100641602.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001100641602.png rename to en/device-dev/quick-start/figure/en-us_image_0000001100641602.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001113969542.png b/en/device-dev/quick-start/figure/en-us_image_0000001113969542.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001113969542.png rename to en/device-dev/quick-start/figure/en-us_image_0000001113969542.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001114129428.png b/en/device-dev/quick-start/figure/en-us_image_0000001114129428.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001114129428.png rename to en/device-dev/quick-start/figure/en-us_image_0000001114129428.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001114129432.png b/en/device-dev/quick-start/figure/en-us_image_0000001114129432.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001114129432.png rename to en/device-dev/quick-start/figure/en-us_image_0000001114129432.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001117463460.png b/en/device-dev/quick-start/figure/en-us_image_0000001117463460.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001117463460.png rename to en/device-dev/quick-start/figure/en-us_image_0000001117463460.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001117621400.png b/en/device-dev/quick-start/figure/en-us_image_0000001117621400.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001117621400.png rename to en/device-dev/quick-start/figure/en-us_image_0000001117621400.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311066.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311066.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311066.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311066.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311070.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311070.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311070.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311070.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311072.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311072.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311072.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311072.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311090.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311090.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311090.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311090.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311092.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311092.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311092.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311092.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311094.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311094.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311094.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311094.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311096.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311096.png old mode 100755 new mode 100644 similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311096.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311096.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311098.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311098.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311098.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311098.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311100.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311100.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311100.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311100.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311104.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311104.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311104.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311104.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311116.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311116.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311116.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311116.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128311118.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311118.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128311118.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128311118.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128470864.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470864.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128470864.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128470864.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128470880.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470880.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128470880.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128470880.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128470900.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470900.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128470900.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128470900.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128470902.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470902.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128470902.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128470902.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128470904.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470904.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128470904.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128470904.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128470906.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470906.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001128470906.png rename to en/device-dev/quick-start/figure/en-us_image_0000001128470906.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470908.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470908.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa65e82be8db2e7de62fca8980d00ae42215d96 GIT binary patch literal 96467 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�cb=9kXC)zS88OwBDG3mdd%-0))uCKz40m}}sddYEeC) zLaOIR=~RgO&tDT1mhBE>j}8ZKU`q=mIG-l-cLbR;<(}DEm<2X`LFH%{orUd7BSziuE0Go9-U}as zQtgc$#^w!B79A#mAz)tFwAHR8*93D{0gCeTGYg*KkZ9f2Ll6cD%W1R=H1pI8YqtyY z8GwWDV~v}}=sOUt+NQ_M&Q>UA_cC30blG}kf32-*Y`t(GD3^kNu7+=^Cvf2#ZD zvaobW5U;j^{%;yiHv}e%59-YYmEOk!UUMW3E2_p2zJ$E2oMFPB)$NKFM0HDf#KK14<$-sAFwFu+SdalW-hyAAXw z5thKJH)dM-I$#RbiDmIbvE%E$K)e1=xk_iL7oEn{Uno0je+CZVLj5j0(eE&!xVX3| zB<9dDC@3YM@wS?|3mAd{A&M7y8f!gg?^=kh0aWxM0jr(DumB4{S-^0}or9GR9V`H# ze`F;PaP`&0m%F_q{UWF(Kl1EBFZ^jIJw=uDe{#$?QY(#csB4J+<+5)C3HXo2oD_8L z2Z_XYkm=gj?=rkF$*u7(THq>PIRetc^%B?JoLiWN5&e>uFaJaY1!e>vj8!@DWCcW+ zvK7&MWs__AKNqasV1KCk{_<}2e|wD!ngg4>Lp?Gs&M(giv@I9LBbbjx|iErMc1*Qgj)$W zLC8l)L2a6FG%)HaJter~!HkJh=KDE4h9iDFJMPo<04CqC;nj8_^ION-DRN6JKSE0@ zACv{CQ_1NKkKR0L>h$*y<~p~_x5jn(?`0n~+nLbsN%*E|nYGC`8XxHRXp<6?l1y#& zJ2+EQgQ^+ruOvw@0Ob)6boy2u2%{7f>@YlincvZo;Z=p%KkSQN3TtzrHcd{Y^6<6! zUMTD~;58?c34MX1y6rm8@L`(Tc%qVG{7s0b?;OBxF8OF*`_4L7_+OotZ*olNDnQEn zmS^Mxa;siTBA_4<5TR1(bwmS*3=A1yo^3HA%#d~e31A!jaODPC$F2hJGXhwCdNz!}eI8aVlM_Ie^bJstjE+qzR%oslOHaHMy#9CM-47ZpMx$uNR?0p#|GZM z%4OSPB6)rnhMZKaWWbm;C``b@U3P>7bhy^NzB?dvVs5oA21qPom%xL!$+>=ED5RP- zsKq^*FF!0zccILJd#YTH3a>;{CbK7{UwRJWDrJ zE2#D#U-H-Gf8Dt5$IHP@YkjSIGnd6AQU=NL57I-VPGh9IqHeWVgbm_G4A8|zR@=Nn zZ6Ht%QvjG$!+mWu#Q*xbFCO4=X6Kd-{EdD^K`eS{Pah}wL{M+AXnjN{T`O_0S**qx5i3`$gmIt?I-Z?EBZp zHoAs`#)bq_p6J?Sy)D5|LU$jqG#D7Mp8#j?-l6o2x4yr-&)ALHJn8?!^R1IEMrf0) zIUwprLvXJqkQbPW>`UM32{m-Q+&?*8*iax!Axz%S-%NJR`|_y1&a0Dp#beu8(93&K zb2nIADw?eM7Hb_22u@Jxc+In<0%w56t&XC`Y~u2WOKOYAm(*GT1c8S(MyFTK1fEvJ zO^Og`Vc2hM9u|g4{^^Bg5tVS(K7V{t2d3cP6DbB`Q2(PxvKFj=u*N>0w0vN?d|nX_ z6DeYS5I+)2^_JqxNV>{T>bDkh5l}nJ^N3#vXvyRA>)BGk5i2@+-VD`iIA)(*0c-j; ze3Z;a?;Np*i+@s^_${AsNZ39s#(f#`TMtc|OVXu%R2=(MTtd5vKC3;q|F*zX)$U&L| zal#g4j@2>sq$N--l!fs@0iw~?-S^jqJUB!fw_@hH1iCGKA#TnEUT71YYU6V3tEJ*v zN>qfemto+uywn5K<)A?-UG-KS|EB?hWL zAO8I)ON7*pQt+gibu#w#Yyn#o59G}Z`wGyGH?u{&6*kofp{4|WdY7_qONxx#Nhs2r z%xJT0A<1aLA6I;Q%L5C!d4b8xs=RC+Ccg1K2`D2>oPs%}Rkbv(W)dqrv60tUeB&!v zUef-;^{uRC=iLe)w<)-nx&P=aZ(=FiK9vY%dH#D+Wop9^ zei|fr>{snOaDveA=P#lk1HbXcT@EPS7(k6mbj?#kGwK^#SR zad?2^zf1O5=md3$SH8Q?R^$ocaJ6nf&4#VvNB~oaU?7V@x)fo1{-&Z44NaT&6lCAq zcfJ8<;HmrL55oTVt4H=QOQ<$+`SNS+6r0=W-t_5dNW^B|cTYtb3yfa?|BhMmKHu>e zdLMKaiTHg0r{%3NOOo~{h* z>$SrmKbrqEoAoO^<=r2qO1X(2Vn?!mBf)u`luK%o{LxI`i+Y42E^-f-YKWOva+{f| zY>jV1Q59(^^yYQ$gX3;eg&A~Al_t+dffuaJmvUWr;tG>Sw)3Oq2)D1P9R==oLMhpt z(p<=fzfY%|?H!g)Q-g>2GCO(w*6+^7-nGpUi44%zv9?G##hD&#bwk3{G6xQ~S%zCU z&Y29E&X9}y`MEvz#qrDGe3d@j?n@^>DE+|XEb0P=acDToh2o}2dlsV2{0>Ul^qpo8 z$2Y5kWlz*mlg5K+6Obnsj_nqS?O_FK`!%qno|=mnAGsZA^CowZnEU0sw#Wv$Rwdfz zd!#rd@I)SBsaa3IQk$s~kIBdXzU>Gi7{^H34uc9n>7gVmxNa1cPoX56Smf1X9@Yz0 zzMa?_8MuJs6_DhG${>8pBWVPrjbGG5;dpH&;Jl!UNYH|lU-qgKr1Q0y0jT1K&NL_S z+#U4#v)ck{Fztkzx`=oVanx)yFvAv*y$+KD&@iGG-S7|5Ayjs5xUtu~WYvj7RhV)& z6LqO5wzhtwl)AO~SBWrVJ84}R)itRU@%H!*1In!9nWvM!V6U&UebZ6FkJr;IB#MTe z60k(p%0(wR54b0)b=W@#upD(nO+ZthLmxGIrP4bH$|K(;Y|vbsw@fMh;jCM%0FW-_ zzsJYb@XI=;Phr`X-aF~obm>u~a!gzXFB)KfGD1i5W|}|R%*1}(9ts}3nO(n&Tq*m7 z+#-SUllSDIAs3voOQM74Sx%cAk@@$w$Vk=&&+lPQ4HT3pdXy!Cg%jrFF)5z%u z9jiGGd#nDCuny>N{~7F0KYU^>IT`D(%<8NrohqSf z#nBj+E0hpE!LRB%>&SbPk)~)%yG2r%Ilv#UR3SO0^0>8XcP1K#+ZL{=;|e@i8bAKk zs(ENUwB<D`Lf9!}t0$ujk_y z7@%!>WrRP$OT-_S2d?HEGCut%RSH0@WT$got`+eKNFPszXL$}+QrCD%1viOKAZ>9A zwz4>D8HnNaBt@>r_g|0pVk-29C)myv2XD7v@g4Mwv?ZOy;D^ix!GBKv_IR8DUky95NKCw3Tik(a#ZAZc}b8dqHp z6BYM+^#IUhcvtmCZ+I2;RT-`xlzfE^ari>OXrZbl<7BLMb}|`AS}@&}<9Pk{Nw(~` z%8K5~%U!oK;&e#gPQh?;XS~V_@K!1xyXcxepkDt~U}v@bAu<((I% zH+jcK(v_(;pT&>2F*)UNZ)P0IXvVx zZayb(Z@wjJzgT?$*;ss&)|vk~sM<=Bn|oP1{Tx&f*f%GFZw4ihfgZH@QD%?4EOchNu zsX@bY*G#Bih3#DHV%;|0@E12Rbet^5#Vk+*DHh>Zh9|S&jgi`0QR)6D1cyi%@7KCD zd8Muj|JRT+Ap0EW5A!rtSBp_t;4e3Qk5QNlmXzweCewh+Bmc>h`5$cE{c}6SPe(iq zS(io5^;-Ib*?A^VzG-b`q3@IL$MCow=3l4`;pyihu{vw;LPNMH#vr!TH_}> zf3`|k5Zfh& zD4_ptDv`o3Fgtxb`;z*m-zlrRin-QwMDM{G2NL61feaDo*d=B6(DxmHHOpeG)Y{yr z`oa30LRMc?0e&{wulv_~3>qqB z>5F*9eAz?RpdOzqFLQ}OOTNcb2VSn|ZdAGtX#b57_qq}W(7E}cD)csYXiaUs<3-7G zy*M(UjHp?8vas%2c~l+JS%1SZ=oc2eB#>+*`hhEc3kLhguDL2{d*JyENWPRLSYq)d z_9s;!DIc*0u-I-2!#C-Jd@VL#YA|iW`TH|yR>#jh<#<9<(BTyrgQs*fW$Zb6G8U^p zvfKX4cb&4m@t(ZB9v!ZAN9@wAZ+LHSM%0X}Y&hF5<%J{qeCVYVifGe|oA*c*=-R%> zSXku@uP}D(xfHVhK8Qj*SS0!&ARWKQz>)J&CJpcc+;+)LjaT0I8L0n!ANAOuzkHTl zha)@CCgmY-0k#Qlv9|@;v7 z!~2YZ_T)q@O^*%D!b* zivlGPyQNuhiz487v~?tsN1LEwmMs9ZURNi+CpFnSspxGNp%w)RnOxIbbo&ove{P%DdyZbSgD`)T5Zpf% z9|j#h-=UfJ9|+_%L`R_kBxv3M;-c`V91#TdW{^-Q;x)~q)hwT0o@F>OC5Xp2t=XKw zU}PkP;=WLnRV8_i@Mz<{WwrGbpR^|TbWIYKN<3C#99{b`35+tLGhH}H#-!85iRj*I zgYB-?S^BJpWM2Fsqjc=CDJS%E{%nrH&IEbgd-24;HyNhHmARNe_2QyCX)ThMvYHub z`};VY2_b}-jAf&yqo-gWBH+?J4&yGNx*fXN3(FT7j{^LhEn`ag`)77bUA0`~o?l?Sz^G$*%>AF=bGdp6*9LB$rLiJyqjX@^zv(BPH!hfPv; z*QUA4EGy)JJWiuep1ys));d}@iAqd4Ic5!}A>XOTt(dC$CU|;1n0Wdt?e_Fk65()% zK%TaGy*ho1lv!ABgN;ltP4vd6U|C@VVanpL_ zu`T^}L{R$C^~6b`{f)jLy0G7SvG92(9zu+b=WHaqir9yNz;%tm?sNhzW3v3RI=cz-T6u;AW z9p=Y>gs)0HZLJ*RqqBF3Xxm-Ye%>&-A8xSl_S*EVIAjR0F=0{{aA5n)gSqcqz(S_8 z?DJjK*H1IX2gs7B*=>juu9uIGpb)Ek3Q?A&L*0^sF9EvM6i<$#d||_$)bRymg8@o_ zSw6CuM>uWNpLYKuCxBfwX-K}BfPPR1uu2t)^}(GQEr(wE@+cKO&*Jdwvh5z7lYc%K z-9e)Nhj?5SC86kNQz3i6!py5gn0QBJ&nK*-e6LI?2R2wmgQu_e&vo0Z5`9!ab?vd$ zx_6j&uimkifu6O2TiAmm$Q+I)?`LSvmo4}xG14IxJ$(-x@jk{~s*OX(aJ>i{; z6(n7^ub_grYJTkT7jzFrTtQ#NIgq-+e;~1r+T)|if+!R8wVJK%MmEb`1jkybsp`3Q zgFkub8H;E3p`?ZI1L+#aje(-{Z*mj=42O*S7)S1GKUR1t5<+R>Bl)f#`SKue{QzWz zTo|UgV=OYb9B%kywu>yoK4_3YXr%$Ap+lM~t`iHGq7F(Uwma=oN@L~oDuna?ujP5m zmXy>*4)R9)_ach^YDa$L(ywRueCtKe_@A&~b#$)+fFpUvZ4|O6x3?*nkHy-~Gp$~AYnf)N8c^sN`X)Wy? z&wg_~Qzb^{6$_NsRo6&8f{jUes~60tqMoQrf_{Ff6Xxfw@1Hpx&o%cK(af#+feBHa zCCIy->Le57Kf5XyLU>E$J_gYATa4NL;nGRyn4 z)wK;L|A_0qO}UAK<&U&!6}(dIX$fhPf_FJ><8qHy?p z{IiB!*wR$nk{|PTbS#DafEfsnGd$B?@Z&w7)HW~8QBr@lHA0FS56{GH{wJ12x0Ka! z&rVNSM+5Q2dbWACao}vVfID3| z3M2;C0|}Kt_YCzZpR8Pj-l?$4NQLA-xCU5xZ1N9@W;;%{jT`uVo9tG zrc&uW@fAJW@_9f}(r6#n+nDK`du-jf)zc&D*waN@x5~IO>B~FRkZIKv;Qfl2+qfkY z6kPir{JJsG;N|pWa=XelAdW8L{FtXpAr;3Qs*WOGsA>qS1VU?K$RsGkQj+fuhW9aRc2pU$(&m7IMfAxaBK z1b%k3rQEI+-W*Xoh~?WX&;_n%lb#J1ED`?R9@!mDOjFV>#!xCiice>=}ne*B)+ zh``OopD`)#t7(Q^8`sQ|FH@-m57GK;Z=LZ-xECanVDQX)_@%!Yt3PpgN3<~y$xVHx zEi{pA-T2$hZw05ktX)IBbo4j_)){cXh%T-oK!JG~L3dY_5HGVw+{;#Nu$1%T?t03W z#d%GIuKYhTFMy2b@qHlg9*tXs2UHG_P4ugaE*YvuXYYW;heElh&|d%QB#(a+qPOz1 z+@(`3Toa)}VS8fLMS-j}6X^a$a+e^W+qfJ)u*CC?O)bU}JNH1j^jyg`(gqtVCyAfp zGy!PxOzXWE#G&vXWOJ94@~^cIDVo%%iEZY(zVJx6ctYARCVcM3elyIiAs?puTiP>Y zv$0J*qSDj-g{c&*eiN;sGL?LFa^7o#AL_^V(Y}_RBeqIR3g!fW3Bw$>(S`ZdOyW&% zR&S}(_EBR4KRUsyJOlE;an_ z*k-hR3;1egGz*ga*Dt=);pn-44D;fkR?ZN(YzS@5Z5%wSMka$O$J5; zdxgVe{>wKh%e*z4vaL3AqrD}Sk{6-o8la=F<2^l95n8mp)m-YitxUMsJk`Y)!6(=u zm^Cuh_th;RiY_#87talz2LP?a^=x8d?z*hUH)Q6Kuew3M9{i-MVH~(Dr+SI=AX4<< zCLo&K@XFW9WaV?n!zH~+u8gsn*a0y^F4C!tMuqMyz;Lu5&1Rd#v;P*kqGhYNDO;gp zCX``q+9x+(7Nuxz)<@n-yu)O26LiCs8wmBO@SIF2HS;73_2o&eJe~$S6t!VsLW40kW-f zY%X9SQS_m4w>3u~N5Ty1(x$2YmYZ6__R~}R`lyI$t;i&8NmhZ842adg^|x>$9XOCx zS#vD;!)8U8{qcgCgnM~Ztm)qRm}J@>4@qc`Nu)S8HWxB6?&8^4g&_A!wC4Hx^;-$6 zp4CHRP{#n;x-8wlIp0)F*8EW>iL(BFF_a$5Z^~n8proDT^0jY?y~uE8KOcz{ehK!E zMuEhKF#X@w|0-Mp1#t91v%?Bi!c}~$v>SxsMDRYa>W-#j&=FU+2fj8-Xn`~@NHzZf zpKV;>nbcL54p2A$tV{3t4m<7U_b7suq`DWf5>jck#PbWH$sU3$;`$V?{%2E9i1paV4?W|&oyYA$rU=NG(M?y5! zKq_C)tAJR*9v@_Zk&)Ay+3JGy52Rp(FvAH7S1TQD@%9#PT=ej&;7oGIQRS9H!hK(2 z(cx`TMMbO7xU3vAKn`I@4i}@W%#vdq1hRKCKU+QQ0G;%Le4nfqU`geI08A)g7Rh6m zPK{AlY1mwH9Y#4jZ9|@nxCmt{o50wAa88@wMF+~+Xt@8t8wA`}4#`%TLqMO-ys|fT zr0QTAU49@6QXjVG`093AyWWu;F_OP6g*_3nbF-}yU>=|}^2oTMGz5%*e99j~I|@3K z-C>|LRyn84Iq3A5r9eNj_NHPQx!Iz2n56&1q z5}U!cL`qXG{V@JvgGBTI94*M@nh7oZTIR#MOsJnI6k{261hZqPpVlg}(=9(T2Yd7e zn%|s1+TfJ_wdp>u1=)?^KCPV{ay&ZTJH5iKud~|;T6i7&DOSW3y;JC|zKWr!b}rTHM|zhZ|;Rjxri-(???@O8y#n8$ZBx&OUg1c zQ;165bE7DcZM2eXN68bH&l{*nlKQ&&U6TYm(FKD1rbW)pzvpkJj7h?@KPJYF1r@OB8Z5Da`<7#BR2y~l|2L}~5#O@)*dp=WF4NeFgC)_b6`UIL zb^GO#NJG>k9!sjWgq^*{uA{(1;)vbfK$ckimsaiHP|qw^VvmfhT%P|{KL-~!dJCcH zspgBD%X+UmUoT>5x2E)?yr`>8ZVR>bVM#)mF>E>CCG=tVxkUviolXKOSSF+Xy}Wup@Z$-E66Oj zp~GwRI&7iZDXnYUc*ear<qlhLsfHUrv!>4}E{=$8?2;7>9u{8Dd- z2Ng-AI(nYV4ON|j9Sbx%D($^8Za5d{d5X!BGx;7_ljd|fniX}r5sRiDC>%)rZ>;u< zE=$PUksy*t*;;2@ZTZtYLy?L1Xo2w;FG9c-}=R@*Gzs-tX_^>O*#j&tZS{Z+GcI(Mtz=KXpg zdCzL0cjbDO6TMfREV~qNDQo{zXe{stnRz-#USURRg8gx4(a5rG*6{(!waZDPf^J%I zSzVagXHWR7f8nqF@eV1}C8vV^?Y5e^ez4@!(jUL^S@R#(oE5Xa$M)!2RmB|~ieE*$ zd^oz(tQ@u8!Si*p=2s`yHjPbZ!}cZXs)kk!+t*PJPIrv`IF8y^obS=Z2fOKU9afXw z6^%Z=D($Wabkdija$L`sga5Sz@2tbXeiT{;P1jzHZk_4{Wq=nvqrn#|?A+jX7--C z+r4k^CT$J7w|ZmjK=+3_DSe_ZViFyPVhB!4&tD98n!)0lXF4^*`R;2Bl+vG1MICn|<_ zqzjo`_V1JQZSpWRaCiw#F~GI&TrBi*j-M$YC0ltXO%K)3!hb}F=RNrZsJ=tV%ip|Qi-mIJ` z*cq9g42oz$_l~PPmz1u#-Hw!x^EWW18g2026Zxcwe7r^vEv5?Y3w#AHJz`NFF$tm% zmN`_iHP=?LZY;yZFgcaqn~<&-f6$%|bxEQxs5ZyzZXAlR2tBH!8IK80q-%hOJ_Aor ztX31t(Qv-Jx;%y$9R5~4h9igR+N9hIwO_>dsate|z5S*iz20gZS&r39;l@lk`If*6 z&3gZbaERL?_}iZWTRnO2i?l05>K7Y8;aNp*j-X(=_-D&0BEJXP;fvT9cHpbR?fqEX zS&=+5p4AJH&x4v0A|1w`#Lm&Si!$me5g7s6;i2uu5bCv3@cnp(hl^?}ro3qT9Lcuj zlO8waDgr7nZ}*8uDG^{rjjvU}I(z0*G}^t<&p7PIo-eg&t! ziOVdapsJYoQiwqJ`D|r@;tueb&NORy9Mj0P@#r}8G9!;vZ4T!GNTezD3&7w{uve$N z+f@hFm19=^I^-9wM)(0oS(6^Blc50KpK@HC0yv(&R^2|}08arm@W#fUQPjsZ$$Z6V zH7&d)(49*zSr|L`+NI8TNZu=uc0yhlo!ikh6x#ksmt9aTqMPWWDm5Ml?8}!Q&$Exv z1=Blt5`*4yp>ImoRBQYH|zNO>EzdC>t`8rSJvl&72Y325S#td ziFdV`Hm)g4bLnN4HtIpM{KdTEyx<5|d%N^p=8z86a|7YKRqbu>9&BveDi6l&Yvz8c zQd(?#+3ckyIkt|tT*@7T8jKQXbKR9dd+jEI`=awnIAp+o#m=AF186q~!Lds{u__ zfD57Yr2$L(Ax~TKwd2p3+d7wf)di0WqMw-^&(Twvi<7v_OtY{MDS)^ywr!0&P#v0< zn*5@B#17+(ta~n0+^QpkIVZA>^*$b3dume;PQLk6adc(#$|<(Wha5a|7ZN0hOu&A% z9^zseLH~7h)s-+;Yz$67%7$4<-8*`Dh5OjxooSA+bKlE-w&ewUmHDXD(>%MNu_^nA zzghs#C$2a_8d%@E8JrpPZaq;EL%Q@}0^9GM3e_;(_huLKnCwk$$IOp!bJke)MX7jC{VP2Ev^hlV}VQ7TV25#?l*Jv`yW*b9CiYD5{yU~aN^oDiQ zbS&8*E9QGLoXvv#3@^XENO@SWDM4cWWr$bjP>{*(RX2mfXl$ERsUhywA&2|(*%36B+u{5MSNeLf0_Koat$dmB6b#GGF>LdAvB}WaybXSm9z8O5e})^e z4Ws?DO+`yG>9IpH;ju$H@w@)4&H?#0d=Pu+n?o1k(dnA3^E;i(so9}z4qq5>{?q)`y0YhX}9r6h+&L_kqOx*1BkyPKhN z=z7Or+|Tp9@3;1v#Tx#(u6_1C_jw#s*kd+RnwwR108+0f$;@9xYjnD|dh@uS=2dfa zi=2-iASyKdH_Zpi1Gb4fswYG~_$OAM&M6dmoIXziv#^zR+X6lW#llp=L4&W+(8-IO zfu<}LmTr>zD4r42Fcpk?NF@~mZnAp4&P#i#8#BduxyCdr+6G8C2)uiwP7uAk{w7%k zo&I5Pp=GtM+doSgxtKoUReEF)j)F?osz0B!3wt$Q&v3gfH%Hy0^+<5g{vYEy3k+pP=rICR%U?pcQIi(p-?bxZe(MfO|V%F(9Jk z9^~xdgs-u<�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 literal 0 HcmV?d00001 diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001174350659.png b/en/device-dev/quick-start/figure/en-us_image_0000001174350659.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001174350659.png rename to en/device-dev/quick-start/figure/en-us_image_0000001174350659.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001174350661.png b/en/device-dev/quick-start/figure/en-us_image_0000001174350661.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001174350661.png rename to en/device-dev/quick-start/figure/en-us_image_0000001174350661.png diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001174350669.png b/en/device-dev/quick-start/figure/en-us_image_0000001174350669.png similarity index 100% rename from en/device-dev/quick-start/figures/en-us_image_0000001174350669.png rename to en/device-dev/quick-start/figure/en-us_image_0000001174350669.png diff --git a/en/device-dev/quick-start/figures/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png b/en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png similarity index 100% rename from en/device-dev/quick-start/figures/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png rename to en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png diff --git a/en/device-dev/quick-start/figures/failed-to-obtain-the-image-file-due-to-unavailable-connection.png b/en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection.png similarity index 100% rename from en/device-dev/quick-start/figures/failed-to-obtain-the-image-file-due-to-unavailable-connection.png rename to en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection.png diff --git a/en/device-dev/quick-start/figures/failed-to-open-the-serial-port-8.png b/en/device-dev/quick-start/figure/failed-to-open-the-serial-port-8.png similarity index 100% rename from en/device-dev/quick-start/figures/failed-to-open-the-serial-port-8.png rename to en/device-dev/quick-start/figure/failed-to-open-the-serial-port-8.png diff --git a/en/device-dev/quick-start/figures/failed-to-open-the-serial-port.png b/en/device-dev/quick-start/figure/failed-to-open-the-serial-port.png similarity index 100% rename from en/device-dev/quick-start/figures/failed-to-open-the-serial-port.png rename to en/device-dev/quick-start/figure/failed-to-open-the-serial-port.png diff --git a/en/device-dev/quick-start/figures/firewall-and-network-protection-14.png b/en/device-dev/quick-start/figure/firewall-and-network-protection-14.png similarity index 100% rename from en/device-dev/quick-start/figures/firewall-and-network-protection-14.png rename to en/device-dev/quick-start/figure/firewall-and-network-protection-14.png diff --git a/en/device-dev/quick-start/figures/firewall-and-network-protection.png b/en/device-dev/quick-start/figure/firewall-and-network-protection.png similarity index 100% rename from en/device-dev/quick-start/figures/firewall-and-network-protection.png rename to en/device-dev/quick-start/figure/firewall-and-network-protection.png diff --git a/en/device-dev/quick-start/figures/front-view-of-the-hi3518e-v300-board.png b/en/device-dev/quick-start/figure/front-view-of-the-hi3518e-v300-board.png similarity index 100% rename from en/device-dev/quick-start/figures/front-view-of-the-hi3518e-v300-board.png rename to en/device-dev/quick-start/figure/front-view-of-the-hi3518e-v300-board.png diff --git a/en/device-dev/quick-start/figures/hardware-connections-3.png b/en/device-dev/quick-start/figure/hardware-connections-3.png similarity index 100% rename from en/device-dev/quick-start/figures/hardware-connections-3.png rename to en/device-dev/quick-start/figure/hardware-connections-3.png diff --git a/en/device-dev/quick-start/figures/hardware-connections.png b/en/device-dev/quick-start/figure/hardware-connections.png similarity index 100% rename from en/device-dev/quick-start/figures/hardware-connections.png rename to en/device-dev/quick-start/figure/hardware-connections.png diff --git "a/en/device-dev/quick-start/figures/hi3518\346\255\243\350\203\214\351\235\242.png" "b/en/device-dev/quick-start/figure/hi3518\346\255\243\350\203\214\351\235\242.png" similarity index 100% rename from "en/device-dev/quick-start/figures/hi3518\346\255\243\350\203\214\351\235\242.png" rename to "en/device-dev/quick-start/figure/hi3518\346\255\243\350\203\214\351\235\242.png" diff --git a/en/device-dev/quick-start/figures/network-and-firewall-setting-13.png b/en/device-dev/quick-start/figure/network-and-firewall-setting-13.png similarity index 100% rename from en/device-dev/quick-start/figures/network-and-firewall-setting-13.png rename to en/device-dev/quick-start/figure/network-and-firewall-setting-13.png diff --git a/en/device-dev/quick-start/figures/network-and-firewall-setting.png b/en/device-dev/quick-start/figure/network-and-firewall-setting.png similarity index 100% rename from en/device-dev/quick-start/figures/network-and-firewall-setting.png rename to en/device-dev/quick-start/figure/network-and-firewall-setting.png diff --git a/en/device-dev/quick-start/figures/qi1.png b/en/device-dev/quick-start/figure/qi1.png similarity index 100% rename from en/device-dev/quick-start/figures/qi1.png rename to en/device-dev/quick-start/figure/qi1.png diff --git a/en/device-dev/quick-start/figures/selecting-the-visual-studio-code-application-15.png b/en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application-15.png similarity index 100% rename from en/device-dev/quick-start/figures/selecting-the-visual-studio-code-application-15.png rename to en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application-15.png diff --git a/en/device-dev/quick-start/figures/selecting-the-visual-studio-code-application.png b/en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application.png similarity index 100% rename from en/device-dev/quick-start/figures/selecting-the-visual-studio-code-application.png rename to en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application.png diff --git a/en/device-dev/quick-start/figures/serial-port-displayed-after-the-u-boot-is-burnt.png b/en/device-dev/quick-start/figure/serial-port-displayed-after-the-u-boot-is-burnt.png similarity index 100% rename from en/device-dev/quick-start/figures/serial-port-displayed-after-the-u-boot-is-burnt.png rename to en/device-dev/quick-start/figure/serial-port-displayed-after-the-u-boot-is-burnt.png diff --git a/en/device-dev/quick-start/figures/settings-4.png b/en/device-dev/quick-start/figure/settings-4.png similarity index 100% rename from en/device-dev/quick-start/figures/settings-4.png rename to en/device-dev/quick-start/figure/settings-4.png diff --git a/en/device-dev/quick-start/figures/settings.png b/en/device-dev/quick-start/figure/settings.png similarity index 100% rename from en/device-dev/quick-start/figures/settings.png rename to en/device-dev/quick-start/figure/settings.png diff --git a/en/device-dev/quick-start/figures/successful-installation-(scons-version-requirement-3-0-4-or-later).png b/en/device-dev/quick-start/figure/successful-installation-(scons-version-requirement-3-0-4-or-later).png similarity index 100% rename from en/device-dev/quick-start/figures/successful-installation-(scons-version-requirement-3-0-4-or-later).png rename to en/device-dev/quick-start/figure/successful-installation-(scons-version-requirement-3-0-4-or-later).png diff --git a/en/device-dev/quick-start/figures/successful-system-startup-and-program-execution-7.png b/en/device-dev/quick-start/figure/successful-system-startup-and-program-execution-7.png similarity index 100% rename from en/device-dev/quick-start/figures/successful-system-startup-and-program-execution-7.png rename to en/device-dev/quick-start/figure/successful-system-startup-and-program-execution-7.png diff --git a/en/device-dev/quick-start/figures/successful-system-startup-and-program-execution.png b/en/device-dev/quick-start/figure/successful-system-startup-and-program-execution.png similarity index 100% rename from en/device-dev/quick-start/figures/successful-system-startup-and-program-execution.png rename to en/device-dev/quick-start/figure/successful-system-startup-and-program-execution.png diff --git "a/en/device-dev/quick-start/figures/\346\210\252\345\233\276.png" "b/en/device-dev/quick-start/figure/\346\210\252\345\233\276.png" similarity index 100% rename from "en/device-dev/quick-start/figures/\346\210\252\345\233\276.png" rename to "en/device-dev/quick-start/figure/\346\210\252\345\233\276.png" diff --git "a/en/device-dev/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" "b/en/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" similarity index 100% rename from "en/device-dev/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" rename to "en/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" diff --git "a/en/device-dev/quick-start/figures/3516\346\255\243\351\235\242-17.png" "b/en/device-dev/quick-start/figures/3516\346\255\243\351\235\242-17.png" deleted file mode 100644 index 1ccb47f20022261cc291e8b435f263c00e8d4a27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206035 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≀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 LwdY7VqmTa!DGgA3 diff --git a/en/device-dev/quick-start/figures/en-us_image_0000001128471042.png b/en/device-dev/quick-start/figures/en-us_image_0000001128471042.png deleted file mode 100755 index dd4fd805a602980b08d54eb2856b27253b171d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97053 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�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 z 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 U=F=VEECu=cOaD{clM&zj7lQ=8M*si- diff --git a/en/device-dev/quick-start/figures/getting-started-for-the-standard-system.png b/en/device-dev/quick-start/figures/getting-started-for-the-standard-system.png deleted file mode 100644 index 216265660cd0364189cd438da8b7e2600a7a5099..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32197 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 - -- **[Setting Up the Environment](setting-up-the-environment-2.md)** - -- **[Running a Hello OHOS Program](running-a-hello-ohos-program.md)** - -- **[Developing a Driver](developing-a-driver.md)** - -- **[FAQs](faqs-3.md)** - - diff --git a/en/device-dev/quick-start/hi3518.md b/en/device-dev/quick-start/hi3518.md deleted file mode 100644 index 817d4c82616..00000000000 --- a/en/device-dev/quick-start/hi3518.md +++ /dev/null @@ -1,9 +0,0 @@ -# Hi3518 - -- **[Setting Up the Environment](setting-up-the-environment-4.md)** - -- **[Running a Hello OHOS Program](running-a-hello-ohos-program-5.md)** - -- **[FAQs](faqs-6.md)** - - diff --git a/en/device-dev/quick-start/hi3861.md b/en/device-dev/quick-start/hi3861.md deleted file mode 100644 index 100cdfcabc2..00000000000 --- a/en/device-dev/quick-start/hi3861.md +++ /dev/null @@ -1,11 +0,0 @@ -# Hi3861 - -- **[Setting Up the Environment](setting-up-the-environment.md)** - -- **[WLAN Connection](wlan-connection.md)** - -- **[Running a Hello World Program](running-a-hello-world-program.md)** - -- **[FAQs](faqs.md)** - - diff --git a/en/device-dev/quick-start/how-to-develop.md b/en/device-dev/quick-start/how-to-develop.md deleted file mode 100644 index 3e5f705cb56..00000000000 --- a/en/device-dev/quick-start/how-to-develop.md +++ /dev/null @@ -1,9 +0,0 @@ -# How to Develop - -- **[Hi3861](hi3861.md)** - -- **[Hi3516](hi3516.md)** - -- **[Hi3518](hi3518.md)** - - diff --git a/en/device-dev/quick-start/introduction-to-the-development-boards.md b/en/device-dev/quick-start/introduction-to-the-development-boards.md deleted file mode 100644 index 3848dad5841..00000000000 --- a/en/device-dev/quick-start/introduction-to-the-development-boards.md +++ /dev/null @@ -1,9 +0,0 @@ -# Introduction to the Development Boards - -- **[Hi3861 Development Board](hi3861-development-board.md)** - -- **[Hi3516 Development Board](hi3516-development-board.md)** - -- **[Hi3518 Development Board](hi3518-development-board.md)** - - diff --git a/en/device-dev/quick-start/introduction.md b/en/device-dev/quick-start/introduction.md deleted file mode 100644 index 7209c5c0f18..00000000000 --- a/en/device-dev/quick-start/introduction.md +++ /dev/null @@ -1,54 +0,0 @@ -# Introduction - -- [Quick Start Process](#section7825218111517) -- [Introduction to the Development Board](#en-us_topic_0000001053666242_section047719215429) -- [Development Board Specifications](#en-us_topic_0000001053666242_section15192203316533) - -This document helps you quickly understand how to set up a standard OpenHarmony system, and how to build, burn, and start the system. You can develop the standard system in Windows and build source code in Linux. - -This document uses the recommended Hi3516D V300 development board as an example. - -## Quick Start Process - -The following figure shows the process of getting started for the standard system, during which, you can set up the Ubuntu development environment in Docker mode or by using the installation package. - -**Figure 1** Getting started for the standard system -![](figures/getting-started-for-the-standard-system.png "getting-started-for-the-standard-system") - -## Introduction to the Development Board - -Hi3516D V300 is a next-generation system on chip \(SoC\) designed for the industry-dedicated smart HD IP camera. It introduces a next-generation image signal processor \(ISP\), the H.265 video compression encoder, and a high-performance NNIE engine, leading the industry in terms of low bit rate, high image quality, intelligent processing and analysis, and low power consumption. - -**Figure 2** Hi3516D V300 front view - - -![](figures/3516正面-17.png) - -## Development Board Specifications - -**Table 1** Specifications of the Hi3516 development board - - -

    Parameter

    + - @@ -197,14 +274,14 @@ int32\_t WatchdogGetTimeout\(PalHandle \*handle, uint32\_t \*seconds\); - - - - - - - - - - - @@ -125,42 +125,42 @@ In addition, OpenHarmony provides a series of optional system components that ca - - - - - - - - -

    Parameter

    Description

    +

    Description

    Pointer to the timeout duration, in seconds.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    The timeout duration is obtained.

    +

    The watchdog status is obtained.

    Negative value

    @@ -226,16 +303,16 @@ if (ret != 0) { } ``` -## Starting a Watchdog +### Starting a Watchdog -int32\_t WatchdogStart\(DevHandle handle\); +int32\_t WatchdogStart\(DevHandle handle\); -**Table 5** Description of WatchdogStart +**Table 6** Description of WatchdogStart -

    Parameter

    + - @@ -244,9 +321,9 @@ int32\_t WatchdogStart\(DevHandle handle\); - -

    Parameter

    Description

    +

    Description

    Watchdog handle.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -272,16 +349,16 @@ if (ret != 0) { } ``` -## Feeding a Watchdog +### Feeding a Watchdog int32\_t WatchdogFeed\(DevHandle handle\); -**Table 6** Description of WatchdogFeed +**Table 7** Description of WatchdogFeed -

    Parameter

    + - @@ -290,9 +367,9 @@ int32\_t WatchdogFeed\(DevHandle handle\); - -

    Parameter

    Description

    +

    Description

    Watchdog handle.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -318,16 +395,16 @@ if (ret != 0) { } ``` -## Stopping a Watchdog +### Stopping a Watchdog -int32\_t WatchdogStop\(DevHandle handle\); +int32\_t WatchdogStop\(DevHandle handle\); -**Table 7** Description of WatchdogStop +**Table 8** Description of WatchdogStop -

    Parameter

    + - @@ -336,9 +413,9 @@ int32\_t WatchdogStop\(DevHandle handle\); - -

    Parameter

    Description

    +

    Description

    Watchdog handle.

    Return Value

    +

    Return Value

    Description

    +

    Description

    0

    @@ -362,21 +439,20 @@ if (ret != 0) { HDF_LOGE("WatchdogStop: failed, ret %d\n", ret); return; } - ``` -## Closing a Watchdog +### Closing a Watchdog If the watchdog is no longer required, call **WatchdogClose** to close the watchdog handle. void WatchdogClose\(DevHandle handle\); -**Table 8** Description of WatchdogClose +**Table 9** Description of WatchdogClose - - @@ -252,7 +252,7 @@ To ensure the download performance, you are advised to download the source code - @@ -261,18 +261,18 @@ To ensure the download performance, you are advised to download the source code - - - - - @@ -333,7 +333,7 @@ To ensure the download performance, you are advised to download the source code - diff --git a/en/device-dev/get-code/sourcecode.md b/en/device-dev/get-code/sourcecode.md new file mode 100644 index 00000000000..5e118ce26fc --- /dev/null +++ b/en/device-dev/get-code/sourcecode.md @@ -0,0 +1,5 @@ +# Source Code Acquisition + +- **[Source Code Acquisition](sourcecode-acquire.md)** + + diff --git a/en/device-dev/glossary/Readme-EN.md b/en/device-dev/glossary/Readme-EN.md new file mode 100644 index 00000000000..1e7ccafe473 --- /dev/null +++ b/en/device-dev/glossary/Readme-EN.md @@ -0,0 +1,4 @@ +# Glossary + +[Glossary](glossary.md) + diff --git a/en/device-dev/guide/Readme-EN.md b/en/device-dev/guide/Readme-EN.md index 31bb3cfd5f9..f5cbdaea83a 100644 --- a/en/device-dev/guide/Readme-EN.md +++ b/en/device-dev/guide/Readme-EN.md @@ -1,72 +1,32 @@ # Development Examples -- [WLAN-connected Products](wlan-connected-products.md) - - [LED Peripheral Control](led-peripheral-control.md) - - [Overview](overview.md) - - [Development](development.md) - - [Verification](verification.md) - -- [Cameras Without a Screen](cameras-without-a-screen.md) - - [Camera Control](camera-control.md) - - [Overview](overview-0.md) - - [Development Guidelines](development-guidelines.md) - - [Photographing](photographing.md) - - [Video Recording](video-recording.md) - - - [Use Case](use-case.md) - -- [Cameras with a Screen](cameras-with-a-screen.md) - - [Screen and Camera Control](screen-and-camera-control.md) - - [Overview](overview-1.md) - - [Development Guidelines](development-guidelines-2.md) - - [Photographing](photographing-3.md) - - [Video Recording](video-recording-4.md) - - [Previewing](previewing.md) - - - [Use Case](use-case-5.md) - - - [Visual Application Development](visual-application-development.md) - - [Overview](overview-6.md) - - [Preparations](preparations.md) - - [Adding Pages](adding-pages.md) - - [Building the Home Page](building-the-home-page.md) - - [Building the Details Page](building-the-details-page.md) - - [Debugging and Packaging](debugging-and-packaging.md) - - [Running on the Device](running-on-the-device.md) - - [FAQs](faqs.md) - -- [Development Example for Clock Apps](development-example-for-clock-apps.md) - - [Overview](overview-7.md) - - [Preparations](preparations-8.md) - - [How to Develop](how-to-develop.md) - - [Signing and Packaging](signing-and-packaging.md) - - [Running on the Device](running-on-the-device-9.md) - -- [Development Example for Platform Drivers](development-example-for-platform-drivers.md) - - [Overview](overview-10.md) - - [Preparations](preparations-11.md) - - [Development](development-12.md) - - [Building and Burning](building-and-burning.md) - -- [Development Example for Peripheral Drivers](development-example-for-peripheral-drivers.md) - - [Overview](overview-13.md) - - [Hardware Resources](hardware-resources.md) - - [Input Driver Model](input-driver-model.md) - - - [Setting Up the Environment](setting-up-the-environment.md) - - [Developing a Touchscreen Driver](developing-a-touchscreen-driver.md) - - [Configuring Device Driver Descriptions](configuring-device-driver-descriptions.md) - - [Configuring the Touchscreen](configuring-the-touchscreen.md) - - [Adapting to the Private Drivers of the Touchscreen](adapting-to-the-private-drivers-of-the-touchscreen.md) - - - [Building and Burning](building-and-burning-14.md) - - [Debugging and Verification](debugging-and-verification.md) - - [Startup Log Analysis](startup-log-analysis.md) - - - [Input Driver Model Workflow Analysis](input-driver-model-workflow-analysis.md) - - [Parsing Private Configuration Data](parsing-private-configuration-data.md) - - [Initializing the Input Device Manager and Registering the Driver with the HDF](initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md) - - [Initializing the Input Common Driver and Registering the Driver with the HDF](initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md) - - [Initializing the Input Chip Driver and Registering the Driver with the HDF](initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md) - - [Function Invocation Logic](function-invocation-logic.md) - +- [WLAN-connected Products](device-wifi.md) + - [LED Peripheral Control](device-wifi-led-outcontrol.md) + - [Third-Party SDK Integration](device-wifi-sdk.md) +- [Cameras Without a Screen](device-iotcamera.md) + - [Camera Control](device-iotcamera-control.md) + - [Overview](device-iotcamera-control-overview.md) + - [Development Guidelines](device-iotcamera-control-demo.md) + - [Photographing](device-iotcamera-control-demo-photodevguide.md) + - [Video Recording](device-iotcamera-control-demo-videodevguide.md) + - [Use Case](device-iotcamera-control-example.md) +- [Cameras with a Screen](device-camera.md) + - [Screen and Camera Control](device-camera-control.md) + - [Overview](device-camera-control-overview.md) + - [Development Guidelines](device-camera-control-demo.md) + - [Photographing](device-camera-control-demo-photoguide.md) + - [Video Recording](device-camera-control-demo-videoguide.md) + - [Previewing](device-camera-control-demo-previewguide.md) + - [Use Case](device-camera-control-example.md) + - [Visual Application Development](device-camera-visual.md) + - [Overview](device-camera-visual-overview.md) + - [Preparations](device-camera-visual-prepare.md) + - [Adding Pages](device-camera-visual-addpage.md) + - [Building the Home Page](device-camera-visual-first-page.md) + - [Building the Details Page](device-camera-visual-details.md) + - [Debugging and Packaging](device-camera-visual-debug.md) + - [Running on the Device](device-camera-visual-run.md) + - [FAQs](device-camera-visual-faqs.md) +- [Development Guidelines on Clock Apps](oem_device_clockapp_des.md) +- [Development Example for Platform Drivers](device-drive-demo.md) +- [Development Example for Peripheral Drivers](device-outerdrive-demo.md) \ No newline at end of file diff --git a/en/device-dev/guide/adapting-to-the-private-drivers-of-the-touchscreen.md b/en/device-dev/guide/adapting-to-the-private-drivers-of-the-touchscreen.md deleted file mode 100644 index 80f6ba5513c..00000000000 --- a/en/device-dev/guide/adapting-to-the-private-drivers-of-the-touchscreen.md +++ /dev/null @@ -1,99 +0,0 @@ -# Adapting to the Private Drivers of the Touchscreen - -The input driver model consists of three parts of drivers. To develop a brand-new touchscreen driver, you only need to adapt your code with the input chip driver and implement differentiated APIs. The sample code in this section illustrates how you will complete the adaptation. - -1. Implement differentiated APIs for the touchscreen to adapt to the input chip driver. - - You can obtain the sample code at **./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c**. - - ``` - static struct TouchChipOps g_gt911ChipOps = { // IC options of the touchscreen - .Init = ChipInit, // Initialize the chip. - .Detect = ChipDetect, // Detect the chip. - .Resume = ChipResume, // Resume the chip. - .Suspend = ChipSuspend, // Suspend the chip. - .DataHandle = ChipDataHandle, // Read the chip data. - .UpdateFirmware = UpdateFirmware, // Update the firmware. - }; - - /* The ICs may be different depending on the touchscreen vendors, and the corresponding register operations are also different. Therefore, the code for the input chip driver focuses only on the adaptation of differentiated APIs. The following sample code demonstrates the data parsing of GT911. */ - - static int32_t ChipDataHandle(ChipDevice *device) - { - ... - /* Read the status register before GT911 obtains coordinates. */ - reg[0] = (GT_BUF_STATE_ADDR >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; - reg[1] = GT_BUF_STATE_ADDR & ONE_BYTE_MASK; - ret = InputI2cRead(i2cClient, reg, GT_ADDR_LEN, &touchStatus, 1); - if (ret < 0 || touchStatus == GT_EVENT_INVALID) { - return HDF_FAILURE; - } - ... - /* Read data from the data register based on the value of the status register. */ - reg[0] = (GT_X_LOW_BYTE_BASE >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; - reg[1] = GT_X_LOW_BYTE_BASE & ONE_BYTE_MASK; - pointNum = touchStatus & GT_FINGER_NUM_MASK; - if (pointNum == 0 || pointNum > MAX_SUPPORT_POINT) { - HDF_LOGE("%s: pointNum is invalid, %u", __func__, pointNum); - (void)ChipCleanBuffer(i2cClient); - OsalMutexUnlock(&device->driver->mutex); - return HDF_FAILURE; - } - frame->realPointNum = pointNum; - frame->definedEvent = TOUCH_DOWN; - (void)InputI2cRead(i2cClient, reg, GT_ADDR_LEN, buf, GT_POINT_SIZE * pointNum); - /* Parse the obtained data. */ - ParsePointData(device, frame, buf, pointNum); - ... - } - static void ParsePointData(ChipDevice *device, FrameData *frame, uint8_t *buf, uint8_t pointNum) - { - ... - /* Each coordinate value consists of two bytes. Obtain the final coordinate value by combining the obtained single-byte data. */ - for (i = 0; i < pointNum; i++) { - frame->fingers[i].trackId = buf[GT_POINT_SIZE * i + GT_TRACK_ID]; - frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_X_LOW] & ONE_BYTE_MASK) | - ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); - frame->fingers[i].x = (buf[GT_POINT_SIZE * i + GT_Y_LOW] & ONE_BYTE_MASK) | - ((buf[GT_POINT_SIZE * i + GT_Y_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); - /* Print the parsed coordinate value. */ - HDF_LOGD("%s: x = %d, y = %d", __func__, frame->fingers[i].x, frame->fingers[i].y); - } - } - ``` - -2. Initialize the input chip driver and register the driver with the HDF. - - You can obtain the sample code at **./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c**. - - ``` - static int32_t HdfGoodixChipInit(struct HdfDeviceObject *device) - { - ... - /* Use the chipCfg structure to allocate memory, parse the configuration information, and mount the parsed data. */ - chipCfg = ChipConfigInstance(device); - ... - /* Instantiate the touchscreen device. */ - chipDev = ChipDeviceInstance(); - ... - /* Mount touchscreen chip configuration and private operation data. */ - chipDev->chipCfg = chipCfg; - chipDev->ops = &g_gt911ChipOps; - ... - /* Register the chip driver with the platform driver. */ - RegisterChipDevice(chipDev); - ... - } - struct HdfDriverEntry g_touchGoodixChipEntry = { - .moduleVersion = 1, - .moduleName = "HDF_TOUCH_GT911", // The value must match the moduleName field of the chip driver in the device_info.hcs file. - .Init = HdfGoodixChipInit, // Initialize the touchscreen chip driver. - }; - HDF_INIT(g_touchGoodixChipEntry); // Register the touchscreen chip driver with the HDF. - ``` - - The private chip drivers present the major differentiations among chip vendors, such as hibernation and wakeup, data parsing, and firmware update. - - Now, you have completed the adaptation for the touchscreen driver based on the HDF and input driver model. - - diff --git a/en/device-dev/guide/building-and-burning-14.md b/en/device-dev/guide/building-and-burning-14.md deleted file mode 100644 index d905b787acb..00000000000 --- a/en/device-dev/guide/building-and-burning-14.md +++ /dev/null @@ -1,17 +0,0 @@ -# Building and Burning - -1. Compile the Makefile and add the following content in this example. - - The file is available at **./drivers/adapter/khdf/linux/model/input/Makefile**. - - Add the following content: - - ``` - obj-$(CONFIG_DRIVERS_HDF_TP_5P5_GT911) += \ - $(INPUT_ROOT_DIR)/touchscreen/touch_gt911.o - ``` - - **touch\_gt911.o** is the content added in this example. - -2. Conduct building and burn. For details about the building and burning operations, see [Build and Burn in Getting Started with Standard System](../quick-start/standard-system.md). - diff --git a/en/device-dev/guide/building-and-burning.md b/en/device-dev/guide/building-and-burning.md deleted file mode 100644 index 25f895cc938..00000000000 --- a/en/device-dev/guide/building-and-burning.md +++ /dev/null @@ -1,20 +0,0 @@ -# Building and Burning - -1. Edit the Makefile and add a source file to it, as shown in the following example: - - ``` - include drivers/hdf/khdf/platform/platform.mk - - obj-y += $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_core.o \ - $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_if.o \ - ./i2c_adapter.o \ - ./i2c_sample.o - ``` - - **./i2c\_sample.o** is the source file added to the Makefile in this example. - -2. Build the version and burn the system image to the development board. - - For details about the building and burning operations, see [Build and Burn in Getting Started with Standard System](../quick-start/standard-system.md). - - diff --git a/en/device-dev/guide/camera-control.md b/en/device-dev/guide/camera-control.md deleted file mode 100644 index 5694352afcf..00000000000 --- a/en/device-dev/guide/camera-control.md +++ /dev/null @@ -1,9 +0,0 @@ -# Camera Control - -- **[Overview](overview-0.md)** - -- **[Development Guidelines](development-guidelines.md)** - -- **[Use Case](use-case.md)** - - diff --git a/en/device-dev/guide/configuring-device-driver-descriptions.md b/en/device-dev/guide/configuring-device-driver-descriptions.md deleted file mode 100644 index d19a91a732b..00000000000 --- a/en/device-dev/guide/configuring-device-driver-descriptions.md +++ /dev/null @@ -1,64 +0,0 @@ -# Configuring Device Driver Descriptions - -You can configure the device driver description in the configuration file at **./drivers/adapter/khdf/linux/hcs/device\_info/device\_info.hcs**. - -The **device\_info.hcs** file contains all necessary information for registering drivers in the input driver model with the HDF. You do not need to make any modification for the information unless otherwise required in special scenarios. The private configuration data of each driver uses the **deviceMatchAttr** field to match the **match\_attr** field in the **input\_config.hcs** file. - -The input-related content in the configuration file is as follows \(For details about these fields, see [Driver Development](https://device.harmonyos.com/en/docs/develop/drive/oem_drive_hdfdev_load-0000001051276785)[Driver Development](../driver/driver-development.md)\): - -``` -input :: host { - hostName = "input_host"; - priority = 100; - device_input_manager :: device { // Specify the device driver description of the input device manager. - device0 :: deviceNode { - policy = 2; // Services are released to both the kernel space and the user space. - priority = 100; // The default priority for the input device manager is 100. - preload = 0; // Load the driver. - permission = 0660; // Specify the permission for the driver to create device nodes. - moduleName = "HDF_INPUT_MANAGER"; // Match the moduleName in the driver entry structure. - serviceName = "hdf_input_host"; // Specify the device node name to be generated by the HDF. - deviceMatchAttr = ""; // Leave this field empty because private configuration data is not required by the input device manager currently. - } - } - - device_hdf_touch :: device { // Specify the device driver description of the input common driver. - device0 :: deviceNode { - policy = 2; // Services are released to both the kernel space and the user space. - priority = 120; // The default priority for the input common driver is 120. - preload = 0; // Load the driver. - permission = 0660; // Specify the permission for the driver to create device nodes. - moduleName = "HDF_TOUCH"; // Match the moduleName in the driver entry structure. - serviceName = "hdf_input_event1"; // Specify the device node name to be generated by the HDF. - deviceMatchAttr = "touch_device1"; // Keep this value the same as the match_attr value in the private configuration data. - } - } - - device_touch_chip :: device { // Specify the device description of the input chip driver. - device0 :: deviceNode { - policy = 0; // Services are not released to both the kernel space and the user space. - priority = 130; // The default priority for the input chip driver is 130. - preload = 0; // Load the driver. - permission = 0660; // Specify the permission for the driver to create device nodes. - moduleName = "HDF_TOUCH_GT911"; // Match the moduleName in the driver entry structure. - serviceName = "hdf_touch_gt911_service";// Specify the device node name to be generated by the HDF. - deviceMatchAttr = "zsj_gt911_5p5"; // Keep this value the same as the match_attr value in the private configuration data. - } - } - } -``` - -Pay attention to the following fields in the configuration file: - -**priority**: specifies the driver loading priority. - -**preload**: specifies whether to load the driver. - -**moduleName**: This value must be the same as the **moduleName** value in the driver entry structure. - -**serviceName**: This value is used by the HDF to create a device node name. - -**deviceMatchAttr**: This value must be the same as the **match\_attr** value in the private configuration data. - -After the device descriptions are configured, the HDF matches the configuration with the code registered with the driver entry structure based on the **moduleName** field, ensuring that drivers can be loaded properly. If multiple drivers are configured, the **priority** field determines the loading sequence of each driver. - diff --git a/en/device-dev/guide/configuring-the-touchscreen.md b/en/device-dev/guide/configuring-the-touchscreen.md deleted file mode 100644 index 6a6cc59f6ad..00000000000 --- a/en/device-dev/guide/configuring-the-touchscreen.md +++ /dev/null @@ -1,98 +0,0 @@ -# Configuring the Touchscreen - -You can configure the touchscreen in the configuration file at **./drivers/adapter/khdf/linux/hcs/input/input\_config.hcs**. - -The **input\_config.hcs** file consists of the private configuration data of both the common driver and chip driver. Information of this file is read and parsed by the driver code. The configuration in the file includes the board-level hardware information and private configuration of the touchscreen. You can tailor the configuration during your development. - -``` -root { - input_config { - touchConfig { - touch0 { // Configure the first touchscreen. - boardConfig { // Specify the board-level hardware information. - match_attr = "touch_device1"; // Keep this value the same as the match_attr field in the private configuration data of the input common driver in the device description. - inputAttr { - /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ - inputType = 0; // Set the input type to touch. - solutionX = 480; // Set the resolution in the X-axis. - solutionY = 960; // Set the resolution in the Y-axis. - devName = "main_touch"; // Set the device name. - } - busConfig { - /* 0:i2c 1:spi */ - busType = 0; // GT911 uses the I2C bus for communication. - busNum = 6; // Use the sixth bus of the chip to communicate with the development board through I2C. - clkGpio = 86; // Set the SCL pin of the chip. - dataGpio = 87; // Set the SDA pin of the chip. - i2cClkIomux = [0x114f0048, 0x403]; // Configure the SCL pin information. - i2cDataIomux = [0x114f004c, 0x403]; // Configure the SDA pin information. - } - pinConfig { - rstGpio = 3; // Set the reset pin. - intGpio = 4; // Set the interrupt pin. - rstRegCfg = [0x112f0094, 0x400]; // Configure the reset pin information. - intRegCfg = [0x112f0098, 0x400]; // Configure the interrupt pin information. - } - powerConfig { - /* Value 0 indicates that power supply is not used; value 1 indicates the LDO power supply; value 2 indicates the GPIO power supply; value 3 indicates the PMIC power supply. */ - vccType = 2; // Set the VCC type. Value 2 indicates the GPIO power supply. - vccNum = 20; // Set the VCC number. The GPIO number is 20. - vccValue = 1800; // Set the voltage amplitude to 1800 mV. - vciType = 1; // Set the VCI type. Value 1 indicates the LDO power supply. - vciNum = 12; // Set the VCI number. The LDO number is 12. - vciValue = 3300; // Set the voltage amplitude to 3300 mV. - } - - featureConfig { - capacitanceTest = 0; // Configure the capacitance test. - gestureMode = 0; // Configure the gesture mode. - gloverMode = 0; // Configure the gloves mode. - coverMode = 0; // Configure the cover mode. - chargerMode = 0; // Configure the charging mode. - knuckleMode = 0; // Configure the knuckle mode. - } - } - chipConfig { // Configure the private data of the touchscreen chip. - template touchChip { // Template - match_attr = ""; - chipName = "gt911"; // Set the touchscreen IC model. - vendorName = "zsj"; // Set the vendor name. - chipInfo = "AAAA11222"; // The first four characters indicate the product name. The fifth and sixth characters indicate the IC model. The last three characters indicate the chip model. - busType = 0; // 0 indicates the I2C bus, and 1 indicates the SPI bus. - deviceAddr = 0x5D; // Set the IC communication address. - irqFlag = 2; // Values 1 and 2 indicate that the interrupt is triggered on the rising and falling edges, respectively. Values 4 and 8 indicate that the interrupt is triggered by the high and low levels, respectively. - maxSpeed = 400; // Set the maximum communication rate to 400 Hz. - chipVersion = 0; // Set the touchscreen IC version. - powerSequence { - /* Power-on sequence is described as follows: - [Type, status, direction, delay] - Value 0 indicates the power or pin is empty. Values 1 and 2 indicate the VCC (1.8 V) and VCI (3.3 V) power, respectively. Values 3 and 4 indicate the reset and interrupt pins, respectively. - Values 0 and 1 indicate the power-off or pull-down, and the power-on or pull-up, respectively. Value 2 indicates that no operation is performed. - Values 0 and 1 indicate the input and output directions, respectively. Value 2 indicates that no operation is performed. - Delay time, in milliseconds. - */ - powerOnSeq = [4, 0, 1, 0, // Set the output direction for the interrupt pin and pull down the pin. - 3, 0, 1, 10, // Set the output direction for the reset pin and pull down the pin, with a delay of 10 ms. - 3, 1, 2, 60, // No operation is performed on the reset pin. Pull up the pin, with a delay of 60 ms. - 4, 2, 0, 0]; // Set the input direction for the interrupt pin. - suspendSeq = [3, 0, 2, 10]; // No operation is performed on the reset pin. Pull down the pin, with a delay of 10 ms. - resumeSeq = [3, 1, 2, 10]; // No operation is performed on the reset pin. Pull up the pin, with a delay of 10 ms. - powerOffSeq = [3, 0, 2, 10, // No operation is performed on the reset pin. Pull down the pin, with a delay of 10 ms. - 1, 0, 2, 20]; // No operation is performed on the positive pin. Pull down the pin, with a delay of 20 ms. - } - } - - chip0 :: touchChip { - match_attr = "zsj_gt911_5p5"; // Keep this value the same as the match_attr field in the touchscreen private configuration data in the device description. - chipInfo = "ZIDN45100"; // The chip information is composed of the product name, module number, and chip number, used to identity the current touchscreen in user space. - chipVersion = 0; // IC model version - } - } - } - } - } -} -``` - -In the example, **touchConfig** contains the **touch0** configuration, which describes the **boardConfig** and **chipConfig** configuration information. The **boardConfig** field provides the board-level hardware information of Hi3516D V300, and the **chipConfig** field provides the private configuration data of the touchscreen. To use another touchscreen, you can change the value of the **chipConfig** field. You can also configure multiple touchscreens for your product. In this example, **touch0** represents the hardware interface and chip configuration of the default touchscreen. If you need to configure a secondary touchscreen, add a **touch1** block parallel to **touch0**. - diff --git a/en/device-dev/guide/debugging-and-verification.md b/en/device-dev/guide/debugging-and-verification.md deleted file mode 100644 index 13a210d8498..00000000000 --- a/en/device-dev/guide/debugging-and-verification.md +++ /dev/null @@ -1,5 +0,0 @@ -# Debugging and Verification - -- **[Startup Log Analysis](startup-log-analysis.md)** - - diff --git a/en/device-dev/guide/developing-a-touchscreen-driver.md b/en/device-dev/guide/developing-a-touchscreen-driver.md deleted file mode 100644 index 6fa833ae11f..00000000000 --- a/en/device-dev/guide/developing-a-touchscreen-driver.md +++ /dev/null @@ -1,17 +0,0 @@ -# Developing a Touchscreen Driver - -Complete the following tasks to adapt a touchscreen IC based on the input driver model: - -1. Configure the touchscreen driver description required for registering the driver with the HDF, for example, whether the driver is loaded and what is the loading priority. - -2. Configure the private data of the touchscreen \(such as the power-on and power-off sequence\) and the platform hardware information \(such as the GPIO port that connects the touchscreen to the development board\). - -3. Adapt to the private drivers of the touchscreen. The input driver model abstracts the development process of input devices. You only need to adapt to the input chip driver without making any modifications for the input device manager and common driver. - -- **[Configuring Device Driver Descriptions](configuring-device-driver-descriptions.md)** - -- **[Configuring the Touchscreen](configuring-the-touchscreen.md)** - -- **[Adapting to the Private Drivers of the Touchscreen](adapting-to-the-private-drivers-of-the-touchscreen.md)** - - diff --git a/en/device-dev/guide/development-example-for-clock-apps.md b/en/device-dev/guide/development-example-for-clock-apps.md deleted file mode 100644 index d461a0dd393..00000000000 --- a/en/device-dev/guide/development-example-for-clock-apps.md +++ /dev/null @@ -1,15 +0,0 @@ -# Development Example for Clock Apps - -- **[Overview](overview-7.md)** - -- **[Preparations](preparations-8.md)** - -- **[How to Develop](how-to-develop.md)** - -- **[Signing and Packaging](signing-and-packaging.md)** - -- **[Running on the Device](running-on-the-device-9.md)** - -- **[FAQs](faqs-10.md)** - - diff --git a/en/device-dev/guide/development-example-for-peripheral-drivers.md b/en/device-dev/guide/development-example-for-peripheral-drivers.md deleted file mode 100644 index 4333c26e067..00000000000 --- a/en/device-dev/guide/development-example-for-peripheral-drivers.md +++ /dev/null @@ -1,15 +0,0 @@ -# Development Example for Peripheral Drivers - -- **[Overview](overview-13.md)** - -- **[Setting Up the Environment](setting-up-the-environment.md)** - -- **[Developing a Touchscreen Driver](developing-a-touchscreen-driver.md)** - -- **[Building and Burning](building-and-burning-14.md)** - -- **[Debugging and Verification](debugging-and-verification.md)** - -- **[Input Driver Model Workflow Analysis](input-driver-model-workflow-analysis.md)** - - diff --git a/en/device-dev/guide/development-example-for-platform-drivers.md b/en/device-dev/guide/development-example-for-platform-drivers.md deleted file mode 100644 index fbb47fb7d32..00000000000 --- a/en/device-dev/guide/development-example-for-platform-drivers.md +++ /dev/null @@ -1,11 +0,0 @@ -# Development Example for Platform Drivers - -- **[Overview](overview-10.md)** - -- **[Preparations](preparations-11.md)** - -- **[Development](development-12.md)** - -- **[Building and Burning](building-and-burning.md)** - - diff --git a/en/device-dev/guide/development-guidelines-2.md b/en/device-dev/guide/development-guidelines-2.md deleted file mode 100644 index 6b5c9a629e1..00000000000 --- a/en/device-dev/guide/development-guidelines-2.md +++ /dev/null @@ -1,9 +0,0 @@ -# Development Guidelines - -- **[Photographing](photographing-3.md)** - -- **[Video Recording](video-recording-4.md)** - -- **[Previewing](previewing.md)** - - diff --git a/en/device-dev/guide/photographing-3.md b/en/device-dev/guide/device-camera-control-demo-photoguide.md similarity index 99% rename from en/device-dev/guide/photographing-3.md rename to en/device-dev/guide/device-camera-control-demo-photoguide.md index 7d6450e761f..eda733f1534 100644 --- a/en/device-dev/guide/photographing-3.md +++ b/en/device-dev/guide/device-camera-control-demo-photoguide.md @@ -385,6 +385,7 @@ None Surface *surface = Surface::CreateSurface(); if (surface == nullptr) { delete fc; + return; } surface->SetWidthAndHeight(1920, 1080); /* 1920:width,1080:height */ fc->AddSurface(*surface); diff --git a/en/device-dev/guide/previewing.md b/en/device-dev/guide/device-camera-control-demo-previewguide.md similarity index 100% rename from en/device-dev/guide/previewing.md rename to en/device-dev/guide/device-camera-control-demo-previewguide.md diff --git a/en/device-dev/guide/video-recording-4.md b/en/device-dev/guide/device-camera-control-demo-videoguide.md similarity index 100% rename from en/device-dev/guide/video-recording-4.md rename to en/device-dev/guide/device-camera-control-demo-videoguide.md diff --git a/en/device-dev/guide/device-camera-control-demo.md b/en/device-dev/guide/device-camera-control-demo.md new file mode 100644 index 00000000000..48b36ad9d64 --- /dev/null +++ b/en/device-dev/guide/device-camera-control-demo.md @@ -0,0 +1,9 @@ +# Development Guidelines + +- **[Photographing](device-camera-control-demo-photoguide.md)** + +- **[Video Recording](device-camera-control-demo-videoguide.md)** + +- **[Previewing](device-camera-control-demo-previewguide.md)** + + diff --git a/en/device-dev/guide/use-case-5.md b/en/device-dev/guide/device-camera-control-example.md similarity index 78% rename from en/device-dev/guide/use-case-5.md rename to en/device-dev/guide/device-camera-control-example.md index f4e481e1cef..9e77598359a 100644 --- a/en/device-dev/guide/use-case-5.md +++ b/en/device-dev/guide/device-camera-control-example.md @@ -3,9 +3,9 @@ This use case takes **camera\_sample** \(contained in the source code\) as an example for photographing, recording, and previewing on the development board. - You can obtain source code of the sample from **applications/sample/camera/media/camera\_sample.cpp**. -- Before running the sample camera, you need to compile, burn, and run the image. For details, see [Getting Started with Hi3516](../quick-start/hi3516-development-board.md). +- Before running the sample camera, you need to compile, burn, and run the image. For details, see [Hi3516 Development Board](../quick-start/quickstart-lite-introduction-hi3516.md#section26131214194212). - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >After the development board is started, the home screen is loaded and displayed above the media layer by default. To prevent covering **camera\_sample**, you should remove the home screen during compilation or packaging. >How to Remove: In **build/lite/components/applications.json**, comment out or delete the **//applications/sample/camera/launcher:launcher\_hap** line from the **target** field of **camera\_sample\_app**. @@ -18,7 +18,7 @@ This use case takes **camera\_sample** \(contained in the source code\) as an Recompile the source code repository and burn the code into the development board. Then you can find the **camera\_sample** file in the **bin** directory of the board. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >You should insert a TF card \(up to 128 GB supported\) for photographing and video recording before system startup. This way, the TF card will be automatically mounted to the **/sdcard** directory. If you insert the TF card after the system is started, you have to manually mount the TF card. >To view the photos and videos in the TF card, copy them to a computer. If you just want to preview photos and videos, you do not need to insert a TF card. @@ -27,38 +27,38 @@ This use case takes **camera\_sample** \(contained in the source code\) as an 1. Run the **cd** command to go to the end path of the executable program and start **camera\_sample** by running the command in the following figure. **Figure 1** Starting camera\_sample - ![](figures/starting-camera_sample.png "starting-camera_sample") + ![](figure/starting-camera_sample.png "starting-camera_sample") The control commands are displayed as shown in the preceding figure. Press **S** to stop the current operation \(including video recording and preview\), and press **Q** to exit the program. 2. Press **1** to take a photo in JPG format. The photo is saved in the **/sdcard** directory and named **Capture\***. **Figure 2** Serial port logs displayed after the photographing command is executed - ![](figures/serial-port-logs-displayed-after-the-photographing-command-is-executed.png "serial-port-logs-displayed-after-the-photographing-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-photographing-command-is-executed.png "serial-port-logs-displayed-after-the-photographing-command-is-executed") To view the saved file, exit the program and enter the file system. To start the program again, return to the previous step. **Figure 3** Saved files - ![](figures/saved-files.png "saved-files") + ![](figure/saved-files.png "saved-files") 3. Press **2** to start recording. The video file is in MP4 format and saved in the **/sdcard** directory with the name **Record\***. Press **S** to stop recording. **Figure 4** Serial port logs displayed after the recording command is executed - ![](figures/serial-port-logs-displayed-after-the-recording-command-is-executed.png "serial-port-logs-displayed-after-the-recording-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-recording-command-is-executed.png "serial-port-logs-displayed-after-the-recording-command-is-executed") 4. Press **3** to start preview. The preview is displayed on the screen. Press **S** to stop preview. **Figure 5** Serial port logs displayed after the preview command is executed - ![](figures/serial-port-logs-displayed-after-the-preview-command-is-executed.png "serial-port-logs-displayed-after-the-preview-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-preview-command-is-executed.png "serial-port-logs-displayed-after-the-preview-command-is-executed") The following figure shows the preview. **Figure 6** Preview effect - ![](figures/preview-effect.jpg "preview-effect") + ![](figure/preview-effect.jpg "preview-effect") 5. Press **Q** to exit. **Figure 7** Serial port logs displayed after the exit command is executed - ![](figures/serial-port-logs-displayed-after-the-exit-command-is-executed.png "serial-port-logs-displayed-after-the-exit-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-exit-command-is-executed.png "serial-port-logs-displayed-after-the-exit-command-is-executed") diff --git a/en/device-dev/guide/overview-1.md b/en/device-dev/guide/device-camera-control-overview.md similarity index 62% rename from en/device-dev/guide/overview-1.md rename to en/device-dev/guide/device-camera-control-overview.md index fb22f918ac4..61f5aa13eb0 100644 --- a/en/device-dev/guide/overview-1.md +++ b/en/device-dev/guide/device-camera-control-overview.md @@ -4,7 +4,7 @@ This document describes how to use the IoT camera development board \(Hi3516D V3 This document helps you take a deep dive into OpenHarmony camera control. With this reference, you can develop devices, such as peephole cameras, smart rear-view mirrors, and smart displays. -If you want to view the running effect first, see [Use Case](use-case-5.md). To customize application behavior, modify the sample code by referring to APIs described in the "Development Guidelines" section. +If you want to view the running effect first, see [Use Case](device-camera-control-example.md). To customize application behavior, modify the sample code by referring to APIs described in the "Development Guidelines" section. -For basic concepts of camera development, see [Camera Development Overview](../subsystems/overview.md). +For basic concepts of camera development, see [Camera Development Overview](../subsystems/subsys-multimedia-camera-overview.md). diff --git a/en/device-dev/guide/screen-and-camera-control.md b/en/device-dev/guide/device-camera-control.md similarity index 30% rename from en/device-dev/guide/screen-and-camera-control.md rename to en/device-dev/guide/device-camera-control.md index e017e08b1bc..062b965f7a6 100644 --- a/en/device-dev/guide/screen-and-camera-control.md +++ b/en/device-dev/guide/device-camera-control.md @@ -1,9 +1,9 @@ # Screen and Camera Control -- **[Overview](overview-1.md)** +- **[Overview](device-camera-control-overview.md)** -- **[Development Guidelines](development-guidelines-2.md)** +- **[Development Guidelines](device-camera-control-demo.md)** -- **[Use Case](use-case-5.md)** +- **[Use Case](device-camera-control-example.md)** diff --git a/en/device-dev/guide/adding-pages.md b/en/device-dev/guide/device-camera-visual-addpage.md similarity index 82% rename from en/device-dev/guide/adding-pages.md rename to en/device-dev/guide/device-camera-visual-addpage.md index 42eae0107fb..2315fb68c61 100644 --- a/en/device-dev/guide/adding-pages.md +++ b/en/device-dev/guide/device-camera-visual-addpage.md @@ -8,7 +8,7 @@ Upon creation of the project, the **index** page is automatically generated, which is the home page of AirQuality. [Figure 1](#fig16545205773718) shows the project directory. **Figure 1** Project directory -![](figures/project-directory.png "project-directory") +![](figure/project-directory.png "project-directory") ## Creating the Details Page @@ -17,18 +17,18 @@ To the details page, perform the following steps: 1. Right-click **pages** and choose **New** \> **JS Page** from the shortcut menu. **Figure 2** Adding a page - ![](figures/adding-a-page.png "adding-a-page") + ![](figure/adding-a-page.png "adding-a-page") 2. Enter the page name. **Figure 3** Entering the page name - ![](figures/entering-the-page-name.png "entering-the-page-name") + ![](figure/entering-the-page-name.png "entering-the-page-name") 3. Confirm the creation. The following figure shows the application project directory after the **detail** page is created. It contains a **.hml** layout file, a **.css** file, and a **.js** file \(containing service logic code\). **Figure 4** Complete project directory - ![](figures/complete-project-directory.png "complete-project-directory") + ![](figure/complete-project-directory.png "complete-project-directory") diff --git a/en/device-dev/guide/debugging-and-packaging.md b/en/device-dev/guide/device-camera-visual-debug.md similarity index 37% rename from en/device-dev/guide/debugging-and-packaging.md rename to en/device-dev/guide/device-camera-visual-debug.md index 97df7e21ab4..2d4c192fb9c 100644 --- a/en/device-dev/guide/debugging-and-packaging.md +++ b/en/device-dev/guide/device-camera-visual-debug.md @@ -1,4 +1,4 @@ # Debugging and Packaging -After the code is compiled, debug your application and package it into an App Pack. For details about how to debug and package an application, see [Debugging Your App](https://developer.harmonyos.com/en/docs/documentation/doc-guides/debug_overview-0000001053822404) and [Building Your App](https://developer.harmonyos.com/en/docs/documentation/doc-guides/build_overview-0000001055075201) in the [HUAWEI DevEco Studio User Guide](https://developer.harmonyos.com/en/docs/documentation/doc-guides/tools_overview-0000001053582387). Currently, IPCamera applications do not support signature. You should release an unsigned App Pack. +After the code is compiled, debug your application and package it into an App Pack. For details about how to debug and package an application, see [Debugging Your App](https://developer.harmonyos.com/en/docs/documentation/doc-guides/ide_debug_device-0000001053822404) and [Building Your App](https://developer.harmonyos.com/en/docs/documentation/doc-guides/build_overview-0000001055075201) in the [HUAWEI DevEco Studio User Guide](https://developer.harmonyos.com/en/docs/documentation/doc-guides/tools_overview-0000001053582387). Currently, IPCamera applications do not support signature. You should release an unsigned App Pack. diff --git a/en/device-dev/guide/building-the-details-page.md b/en/device-dev/guide/device-camera-visual-details.md similarity index 97% rename from en/device-dev/guide/building-the-details-page.md rename to en/device-dev/guide/device-camera-visual-details.md index 915c74a3181..60bd585e6dd 100644 --- a/en/device-dev/guide/building-the-details-page.md +++ b/en/device-dev/guide/device-camera-visual-details.md @@ -4,9 +4,9 @@ - [detail.css](#section2589154215301) - [detail.js](#section163410883117) -The **detail** page displays the air quality data of a week in a chart. There are two parts on the page: title bar and chart bar. Considering the display effect of the chart bar, use multiple **** components in stead of one **** component. +The **detail** page displays the air quality data of a week in a chart. There are two parts on the page: title bar and chart bar. Considering the display effect of the chart bar, use multiple **** components instead of one **** component. -Add a root ****, set the **flex-direction** attribute to **column** to arrange the two bars vertically. The example code is as follows: +Add a root ****, set the **flex-direction** attribute to **column** to arrange the two bars vertically. The sample code is as follows: ```
    @@ -21,7 +21,7 @@ Add a root ****, set the **flex-direction** attribute to **column** t
    ``` -In the preceding example, **onclick="backMain"** indicates that the application returns to the home page when the click event is triggered. The example code for **detail.js** is as follows: +In the preceding example, **onclick="backMain"** indicates that the application returns to the home page when the click event is triggered. The sample code for **detail.js** is as follows: ``` import router from '@system.router' @@ -42,7 +42,7 @@ export default { Add **** components to the **** component to form a chart. -The complete example code in the three files is as follows. +The complete sample code in the three files is as follows. ## detail.hml diff --git a/en/device-dev/guide/faqs.md b/en/device-dev/guide/device-camera-visual-faqs.md similarity index 100% rename from en/device-dev/guide/faqs.md rename to en/device-dev/guide/device-camera-visual-faqs.md diff --git a/en/device-dev/guide/building-the-home-page.md b/en/device-dev/guide/device-camera-visual-first-page.md similarity index 98% rename from en/device-dev/guide/building-the-home-page.md rename to en/device-dev/guide/device-camera-visual-first-page.md index e50391cee73..5fe705f70f0 100644 --- a/en/device-dev/guide/building-the-home-page.md +++ b/en/device-dev/guide/device-camera-visual-first-page.md @@ -10,7 +10,7 @@ The home page of AirQuality consists of three parts: The following steps describe how to build the home page with a flexible layout that has three rows vertically arranged. -1. Add a root **** to the **.hml** file. Note that each **.hml** file can contain only one root component. The example code is as follows: +1. Add a root **** to the **.hml** file. Note that each **.hml** file can contain only one root component. The sample code is as follows: ```
    @@ -29,7 +29,7 @@ The following steps describe how to build the home page with a flexible layout t The height and width of the root component **** are set in the style class. Note that the height and width must be explicitly specified \(except for some components, such as ****\). Otherwise, the component may fail to display. In the **container** style class, the **flex-direction** attribute is set to **column**, which means that child components of **** are vertically arranged from top to bottom for implementing the flexible page layout. -2. Add the title bar. The title bar consists of an exit button and title text that are horizontally arranged. Add a **** to hold the title bar and set the **flex-direction** attribute to **row** to arrange the child components from left to right. Add an **** and a **** component in sequence. The example code is as follows: +2. Add the title bar. The title bar consists of an exit button and title text that are horizontally arranged. Add a **** to hold the title bar and set the **flex-direction** attribute to **row** to arrange the child components from left to right. Add an **** and a **** component in sequence. The sample code is as follows: ```
    @@ -83,7 +83,7 @@ The following steps describe how to build the home page with a flexible layout t After the code is compiled, run the project on the simulator. The following figure shows the display effect. **Figure 1** Title bar - ![](figures/title-bar.png "title-bar") + ![](figure/title-bar.png "title-bar") 3. The **** component is required to implement the switching between screens. @@ -177,7 +177,7 @@ The following steps describe how to build the home page with a flexible layout t After the code is compiled, the display effect on the simulator is as follows. **Figure 2** Title bar and information bar - ![](figures/title-bar-and-information-bar.png "title-bar-and-information-bar") + ![](figure/title-bar-and-information-bar.png "title-bar-and-information-bar") 5. Add the indicator bar. Currently, the **** component does not support indicator settings. You need to implement a dots indicator by adding **** components and setting the style. Add a **** as a child component to the root node and set the style. Add two **** to the parent ****, set **border-radius** for the two child ****, and dynamically change the background colors of the **** components in the swiping event. @@ -189,9 +189,9 @@ The following steps describe how to build the home page with a flexible layout t ``` **Figure 3** Indicator bar - ![](figures/indicator-bar.png "indicator-bar") + ![](figure/indicator-bar.png "indicator-bar") -6. Set the style, animation effect, and dynamic data binding for all components. The complete example code is as follows: +6. Set the style, animation effect, and dynamic data binding for all components. The complete sample code is as follows: - **index.hml** diff --git a/en/device-dev/guide/overview-6.md b/en/device-dev/guide/device-camera-visual-overview.md similarity index 62% rename from en/device-dev/guide/overview-6.md rename to en/device-dev/guide/device-camera-visual-overview.md index 13a51493759..bf44297f7f4 100644 --- a/en/device-dev/guide/overview-6.md +++ b/en/device-dev/guide/device-camera-visual-overview.md @@ -2,7 +2,7 @@ - [Display Effects](#section3997224182313) -This document describes how to quickly set up an application development environment \(using the Hi3516DV300 development board\) for event data recorders running on OpenHarmony. An air quality monitoring application, AirQuality, is used as an example to describe how to create, develop, and debug your application. +This document describes how to quickly set up an application development environment \(using the Hi3516D V300 development board\) for event data recorders running on OpenHarmony. An air quality monitoring application, AirQuality, is used as an example to describe how to create, develop, and debug your application. ## Display Effects @@ -11,5 +11,5 @@ AirQuality displays information about the urban air quality on two pages, the ho **Figure 1** Display effects of the AirQuality -![](figures/video_2020-07-25_173141.gif) +![](figure/video_2020-07-25_173141.gif) diff --git a/en/device-dev/guide/preparations.md b/en/device-dev/guide/device-camera-visual-prepare.md similarity index 96% rename from en/device-dev/guide/preparations.md rename to en/device-dev/guide/device-camera-visual-prepare.md index 9b4572fc686..52beaf139d6 100644 --- a/en/device-dev/guide/preparations.md +++ b/en/device-dev/guide/device-camera-visual-prepare.md @@ -15,7 +15,7 @@ Download and install DevEco Studio. For details, see the [HUAWEI DevEco Studio 2. Choose the **Smart Vision** for **Device** and **Empty Feature Ability** for **Template**. - ![](figures/en-us_image_0000001082434703.png) + ![](figure/en-us_image_0000001082434703.png) 3. Click **Next** and configure the project. - **Project Name**: project name. diff --git a/en/device-dev/guide/running-on-the-device.md b/en/device-dev/guide/device-camera-visual-run.md similarity index 65% rename from en/device-dev/guide/running-on-the-device.md rename to en/device-dev/guide/device-camera-visual-run.md index 79167a2934c..3668d68d278 100644 --- a/en/device-dev/guide/running-on-the-device.md +++ b/en/device-dev/guide/device-camera-visual-run.md @@ -1,8 +1,8 @@ # Running on the Device -Before you install the application and run it on the development board, install the DevEco Device Tool by following operations provided in [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/tool_install-0000001050164976). Burn OpenHarmony into the development board, and run it on the board. For details about how to compile, burn, and run an image, see the [Getting Started with Hi3516](../quick-start/hi3516-development-board.md). After the image is running normally and the system is started properly, perform the following steps to install or uninstall the application: +Before you install the application and run it on the development board, install the DevEco Device Tool by following operations provided in [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905). Burn OpenHarmony into the development board, and run it on the board. For details about how to compile, burn, and run an image, see the [Hi3516 Development Board](../quick-start/quickstart-lite-introduction-hi3516.md#section26131214194212). After the image is running normally and the system is started properly, perform the following steps to install or uninstall the application: -1. Store the compiled unsigned application installation package and installation tool in an SD card and insert the SD card into the development board slot. The installation tool is in **idev\_tools** of the directory where the image file is generated. +1. Store the compiled unsigned application installation package and installation tool in an SD card and insert the SD card into the development board slot. The installation tool is in **dev\_tools** of the directory where the image file is generated. 2. Run the following command to disable signature verification, which is enabled by default for application installation: ``` @@ -20,7 +20,7 @@ Before you install the application and run it on the development board, install 4. After the application is installed, touch the application icon on the home screen to enter the application. **Figure 1** Home screen - ![](figures/home-screen.png "home-screen") + ![](figure/home-screen.png "home-screen") 5. \(Optional\) Uninstall the application. diff --git a/en/device-dev/guide/device-camera-visual.md b/en/device-dev/guide/device-camera-visual.md new file mode 100644 index 00000000000..183a3c5758f --- /dev/null +++ b/en/device-dev/guide/device-camera-visual.md @@ -0,0 +1,19 @@ +# Visual Application Development + +- **[Overview](device-camera-visual-overview.md)** + +- **[Preparations](device-camera-visual-prepare.md)** + +- **[Adding Pages](device-camera-visual-addpage.md)** + +- **[Building the Home Page](device-camera-visual-first-page.md)** + +- **[Building the Details Page](device-camera-visual-details.md)** + +- **[Debugging and Packaging](device-camera-visual-debug.md)** + +- **[Running on the Device](device-camera-visual-run.md)** + +- **[FAQs](device-camera-visual-faqs.md)** + + diff --git a/en/device-dev/guide/cameras-with-a-screen.md b/en/device-dev/guide/device-camera.md similarity index 34% rename from en/device-dev/guide/cameras-with-a-screen.md rename to en/device-dev/guide/device-camera.md index b212cc236c7..3fab60c51ec 100644 --- a/en/device-dev/guide/cameras-with-a-screen.md +++ b/en/device-dev/guide/device-camera.md @@ -1,7 +1,7 @@ # Cameras with a Screen -- **[Screen and Camera Control](screen-and-camera-control.md)** +- **[Screen and Camera Control](device-camera-control.md)** -- **[Visual Application Development](visual-application-development.md)** +- **[Visual Application Development](device-camera-visual.md)** diff --git a/en/device-dev/guide/development-12.md b/en/device-dev/guide/device-drive-demo.md similarity index 80% rename from en/device-dev/guide/development-12.md rename to en/device-dev/guide/device-drive-demo.md index 59fb5d8e5ee..7abded8c938 100644 --- a/en/device-dev/guide/development-12.md +++ b/en/device-dev/guide/device-drive-demo.md @@ -1,14 +1,47 @@ -# Development +# Development Example for Platform Drivers -- [Instantiating the Driver Entry](#section6586911816) -- [Setting Related Parameters](#section114323217503) -- [Adding a Controller](#section115187812516) +- [Overview](#section194201316174215) +- [Preparations](#section6926133918422) +- [Development](#section65801539470) + - [File Description](#section0708184454414) + - [Instantiating the Driver Entry](#section85325864412) + - [Setting Related Parameters](#section8155172019453) + - [Adding a Controller](#section1335374114452) -Platform driver development includes the following procedures: +- [Building Source Code and Burning Images](#section164824754712) -1. Instantiate the driver entry: Instantiate an **HdfDriverEntry** object as the driver entry. -2. Set related parameters: Configure the **device\_info.hcs** file and obtain and parse device configuration parameters from the HCS to ensure that the driver can be correctly loaded. -3. Add a controller: Initialize the controller hardware, call core-layer APIs to add or delete devices to or from the core layer, and implement a hook. +## Overview + +This document uses the I2C driver as an example to describe how to develop platform drivers based on the hardware driver foundation \(HDF\). + +>![](../public_sys-resources/icon-caution.gif) **CAUTION:** +>The sample code in this document is for reference only and cannot be directly used for commercial integration. + +The HDF provides a standard driver framework for common peripherals. To use the APIs provided by the HDF to perform operations on peripherals, you only need to adapt the specific driver to the HDF. + +In this example, an I2C driver is used. [Figure 1](#fig148041484161) shows the sequence diagram of the I2C driver. + +**Figure 1** I2C driver sequence diagram + + +![](figure/en-us_image_0000001169991055.png) + +- User Business: business-triggered driver +- i2cManagerEntry: entry to the I2C manager, which is used to register the I2C manager with the HDF +- I2cManager: I2C manager, which manages the I2C controller +- I2cCntlr: I2C controller +- i2cDriverEntry: entry to the I2C controller, which is used to register the I2C controller with the HDF + +## Preparations + +Follow the instructions in [Environment Setup for Standard System](../quick-start/quickstart-standard.md). + +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>This development example applies to standard, small, and mini OpenHarmony systems. The following sections use the standard system as an example. You can refer to the specific guide for your system to set up the environment. + +## Development + +### File Description The following table lists the files involved in this example and their paths. @@ -39,7 +72,7 @@ The following table lists the files involved in this example and their paths.

    - @@ -72,12 +105,12 @@ The following table lists the files involved in this example and their paths.

    Parameter

    + - @@ -393,3 +469,89 @@ void WatchdogClose\(DevHandle handle\); ret = WatchdogClose(handle); ``` +## Usage Example + +This example provides a complete process for using a watchdog. + +In this example, open a watchdog, set the timeout duration, and start the watchdog. + +- Feed the watchdog periodically to ensure that the system is not reset due to timer expiry. +- Stop feeding the watchdog and check whether the system is reset after the timer expires. + +Example: + +``` +#include "watchdog_if.h" +#include "hdf_log.h" +#include "osal_irq.h" +#include "osal_time.h" + +#define WATCHDOG_TEST_TIMEOUT 2 +#define WATCHDOG_TEST_FEED_TIME 6 + +static int32_t TestCaseWatchdog(void) +{ + int32_t i; + int32_t ret; + uint32_t timeout; + DevHandle handle = NULL; + + /* Open watchdog 0. */ + handle = WatchdogOpen(0); + if (handle == NULL) { + HDF_LOGE("Open watchdog fail!"); + return -1; + } + + /* Set the timeout duration. */ + ret = WatchdogSetTimeout(handle, WATCHDOG_TEST_TIMEOUT); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set timeout fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + + /* Obtain the configured timeout duration. */ + ret = WatchdogGetTimeout(handle, &timeout); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: get timeout fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + HDF_LOGI("%s: read timeout back:%u\n", __func__, timeout); + + /* Start the watchdog. The timer starts. */ + ret = WatchdogStart(handle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: satrt fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + + /* Feed the watchdog every 1s. */ + for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { + HDF_LOGE("%s: feeding watchdog %d times... \n", __func__, i); + ret = WatchdogFeed(handle); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: feed dog fail! ret:%d\n", __func__, ret); + WatchdogClose(handle); + return ret; + } + OsalSleep(1); + } + /* Because the interval for feeding the watchdog is shorter than the timeout duration, the system does not reset, and logs can be printed normally. */ + HDF_LOGE("%s: no reset ... feeding test OK!!!\n", __func__); + + /* Enable the timer to expire by stopping feeding the watchdog. */ + for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { + HDF_LOGE("%s: watiting dog buck %d times... \n", __func__, i); + OsalSleep(1); + } + + /* The system resets when the timer expires. If the code is correct, the log below is not displayed. */ + HDF_LOGE("%s: dog has't buck!!! \n", __func__, i); + WatchdogClose(handle); + return -1; +} +``` + diff --git a/en/device-dev/driver/drive-platform.md b/en/device-dev/driver/drive-platform.md new file mode 100644 index 00000000000..98ac4fa1908 --- /dev/null +++ b/en/device-dev/driver/drive-platform.md @@ -0,0 +1,19 @@ +# Platform Drivers + +- **[GPIO](drive-platform-gpio-des.md)** + +- **[I2C](drive-platform-i2c-des.md)** + +- **[RTC](drive-platform-rtc-des.md)** + +- **[SDIO](drive-platform-sdio-des.md)** + +- **[SPI](drive-platform-spi-des.md)** + +- **[UART](drive-platform-uart-des.md)** + +- **[Watchdog](drive-platform-watchdog-des.md)** + +- **[MIPI DSI](drive-platform-mipidsi-des.md)** + + diff --git a/en/device-dev/driver/drive.md b/en/device-dev/driver/drive.md new file mode 100644 index 00000000000..b448704264a --- /dev/null +++ b/en/device-dev/driver/drive.md @@ -0,0 +1,9 @@ +# Driver Usage Guidelines + +- **[HDF](drive-hdf.md)** + +- **[Platform Drivers](drive-platform.md)** + +- **[Peripherals](drive-peripherals.md)** + + diff --git a/en/device-dev/driver/driver-platform.md b/en/device-dev/driver/driver-platform.md deleted file mode 100644 index d75727d7407..00000000000 --- a/en/device-dev/driver/driver-platform.md +++ /dev/null @@ -1,19 +0,0 @@ -# Driver Platform - -- **[GPIO](gpio.md)** - -- **[I2C](i2c.md)** - -- **[RTC](rtc.md)** - -- **[SDIO](sdio.md)** - -- **[SPI](spi.md)** - -- **[UART](uart.md)** - -- **[WATCHDOG](watchdog.md)** - -- **[MIPI DSI](mipi-dsi.md)** - - diff --git a/en/device-dev/driver/figures/architecture-of-the-display-driver-model.png b/en/device-dev/driver/figure/architecture-of-the-display-driver-model.png similarity index 100% rename from en/device-dev/driver/figures/architecture-of-the-display-driver-model.png rename to en/device-dev/driver/figure/architecture-of-the-display-driver-model.png diff --git a/en/device-dev/driver/figures/architecture-of-the-input-driver-model.png b/en/device-dev/driver/figure/architecture-of-the-input-driver-model.png similarity index 100% rename from en/device-dev/driver/figures/architecture-of-the-input-driver-model.png rename to en/device-dev/driver/figure/architecture-of-the-input-driver-model.png diff --git a/en/device-dev/driver/figures/architecture-of-the-sensor-driver-model.png b/en/device-dev/driver/figure/architecture-of-the-sensor-driver-model.png similarity index 100% rename from en/device-dev/driver/figures/architecture-of-the-sensor-driver-model.png rename to en/device-dev/driver/figure/architecture-of-the-sensor-driver-model.png diff --git a/en/device-dev/driver/figures/common-pins-of-the-touchscreen.png b/en/device-dev/driver/figure/common-pins-of-the-touchscreen.png similarity index 100% rename from en/device-dev/driver/figures/common-pins-of-the-touchscreen.png rename to en/device-dev/driver/figure/common-pins-of-the-touchscreen.png diff --git a/en/device-dev/driver/figures/dsi-transmitting-and-receiving-interface.png b/en/device-dev/driver/figure/dsi-transmitting-and-receiving-interface.png similarity index 100% rename from en/device-dev/driver/figures/dsi-transmitting-and-receiving-interface.png rename to en/device-dev/driver/figure/dsi-transmitting-and-receiving-interface.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001053405727.png b/en/device-dev/driver/figure/en-us_image_0000001053405727.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001053405727.png rename to en/device-dev/driver/figure/en-us_image_0000001053405727.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054280608.png b/en/device-dev/driver/figure/en-us_image_0000001054280608.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054280608.png rename to en/device-dev/driver/figure/en-us_image_0000001054280608.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054564784.png b/en/device-dev/driver/figure/en-us_image_0000001054564784.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054564784.png rename to en/device-dev/driver/figure/en-us_image_0000001054564784.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001057902344.png b/en/device-dev/driver/figure/en-us_image_0000001123509750.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001057902344.png rename to en/device-dev/driver/figure/en-us_image_0000001123509750.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001072553354.png b/en/device-dev/driver/figure/en-us_image_0000001123514210.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001072553354.png rename to en/device-dev/driver/figure/en-us_image_0000001123514210.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054440624.png b/en/device-dev/driver/figure/en-us_image_0000001123540984.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054440624.png rename to en/device-dev/driver/figure/en-us_image_0000001123540984.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054007499.png b/en/device-dev/driver/figure/en-us_image_0000001123582482.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054007499.png rename to en/device-dev/driver/figure/en-us_image_0000001123582482.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054728498.png b/en/device-dev/driver/figure/en-us_image_0000001123675706.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054728498.png rename to en/device-dev/driver/figure/en-us_image_0000001123675706.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054726248.png b/en/device-dev/driver/figure/en-us_image_0000001123703482.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054726248.png rename to en/device-dev/driver/figure/en-us_image_0000001123703482.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054142582.png b/en/device-dev/driver/figure/en-us_image_0000001123742254.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054142582.png rename to en/device-dev/driver/figure/en-us_image_0000001123742254.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001057342245.png b/en/device-dev/driver/figure/en-us_image_0000001170187071.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001057342245.png rename to en/device-dev/driver/figure/en-us_image_0000001170187071.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001054006983.png b/en/device-dev/driver/figure/en-us_image_0000001170227689.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001054006983.png rename to en/device-dev/driver/figure/en-us_image_0000001170227689.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001057622716.png b/en/device-dev/driver/figure/en-us_image_0000001170229891.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001057622716.png rename to en/device-dev/driver/figure/en-us_image_0000001170229891.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001053926237.png b/en/device-dev/driver/figure/en-us_image_0000001170262141.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001053926237.png rename to en/device-dev/driver/figure/en-us_image_0000001170262141.png diff --git a/en/device-dev/driver/figures/en-us_image_0000001055299108.png b/en/device-dev/driver/figure/en-us_image_0000001170383063.png similarity index 100% rename from en/device-dev/driver/figures/en-us_image_0000001055299108.png rename to en/device-dev/driver/figure/en-us_image_0000001170383063.png diff --git a/en/device-dev/driver/figures/mipi-dsi.png b/en/device-dev/driver/figure/mipi-dsi.png similarity index 100% rename from en/device-dev/driver/figures/mipi-dsi.png rename to en/device-dev/driver/figure/mipi-dsi.png diff --git a/en/device-dev/driver/figures/physical-connection-diagram-for-i2c.png b/en/device-dev/driver/figure/physical-connection-diagram-for-i2c.png similarity index 100% rename from en/device-dev/driver/figures/physical-connection-diagram-for-i2c.png rename to en/device-dev/driver/figure/physical-connection-diagram-for-i2c.png diff --git a/en/device-dev/driver/figures/ttl-interface.png b/en/device-dev/driver/figure/ttl-interface.png similarity index 100% rename from en/device-dev/driver/figures/ttl-interface.png rename to en/device-dev/driver/figure/ttl-interface.png diff --git "a/en/device-dev/driver/figures/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" "b/en/device-dev/driver/figure/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" similarity index 100% rename from "en/device-dev/driver/figures/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" rename to "en/device-dev/driver/figure/\346\216\245\345\217\243\345\210\206\345\270\203\345\233\2764.png" diff --git a/en/device-dev/driver/gpio.md b/en/device-dev/driver/gpio.md deleted file mode 100644 index a35dc16408f..00000000000 --- a/en/device-dev/driver/gpio.md +++ /dev/null @@ -1,9 +0,0 @@ -# GPIO - -- **[GPIO Overview](gpiooverview.md)** - -- **[GPIO Usage Guidelines](gpiousage-guidelines.md)** - -- **[GPIO Usage Example](gpiousage-example.md)** - - diff --git a/en/device-dev/driver/gpiooverview.md b/en/device-dev/driver/gpiooverview.md deleted file mode 100644 index a05df150d2b..00000000000 --- a/en/device-dev/driver/gpiooverview.md +++ /dev/null @@ -1,85 +0,0 @@ -# GPIO Overview - -- [Introduction](#section15318165672215) -- [Available APIs](#section18977142162418) - -## Introduction - -GPIO is short for general-purpose input/output. Generally, a GPIO controller manages all GPIO pins by group. Each group of GPIO pins is associated with one or more registers. The GPIO pins are operated by reading data from and writing data to the registers. - -The GPIO APIs define a set of standard functions for performing operations on GPIO pins, including: - -- Setting the pin direction, which can be input or output \(High impedance is not supported currently.\) - -- Reading and writing level values, which can be low or high -- Setting an interrupt service routine \(ISR\) function and interrupt trigger mode for a pin -- Enabling or disabling a pin interrupt - -## Available APIs - -**Table 1** APIs available for the GPIO driver - - -

    Parameter

    Description

    +

    Description

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    GPIO read/write

    -

    GpioRead

    -

    Reads the level value of a GPIO pin.

    -

    GpioWrite

    -

    Writes the level value of a GPIO pin.

    -

    GPIO settings

    -

    GpioSetDir

    -

    Sets the direction for a GPIO pin.

    -

    GpioGetDir

    -

    Obtains the direction for a GPIO pin.

    -

    GPIO interrupt settings

    -

    -

    -

    -

    GpioSetIrq

    -

    Sets the ISR function for a GPIO pin.

    -

    GpioUnSetIrq

    -

    Cancels the setting of the ISR function for a GPIO pin.

    -

    GpioEnableIrq

    -

    Enables a GPIO interrupt.

    -

    GpioDisableIrq

    -

    Disables a GPIO interrupt.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions provided in this document can be called only in kernel mode. - diff --git a/en/device-dev/driver/gpiousage-example.md b/en/device-dev/driver/gpiousage-example.md deleted file mode 100644 index bfdb21eed1d..00000000000 --- a/en/device-dev/driver/gpiousage-example.md +++ /dev/null @@ -1,79 +0,0 @@ -# GPIO Usage Example - -In this example, we test the interrupt trigger of a GPIO pin as follows: Set the ISR function for the pin, set the trigger mode to rising edge and failing edge, write high and low levels to the pin alternately to generate level fluctuation, and observe the execution of the ISR function. - -Select an idle GPIO pin. This example uses a Hi3516D V300 development board and GPIO pin GPIO10\_3, which is numbered GPIO83. - -You can select an idle GPIO pin based on the development board and schematic diagram. - -``` -#include "gpio_if.h" -#include "hdf_log.h" -#include "osal_irq.h" -#include "osal_time.h" - -static uint32_t g_irqCnt; - -/* ISR function */ -static int32_t TestCaseGpioIrqHandler(uint16_t gpio, void *data) -{ - HDF_LOGE("%s: irq triggered! on gpio:%u, data=%p", __func__, gpio, data); - g_irqCnt++; /* If the ISR function is triggered, the number of global interrupts is incremented by 1. */ - return GpioDisableIrq(gpio); -} - -/* Test case function */ -static int32_t TestCaseGpioIrqEdge(void) -{ - int32_t ret; - uint16_t valRead; - uint16_t mode; - uint16_t gpio = 83; /* Number of the GPIO pin to test */ - uint32_t timeout; - - /* Set the output direction for the pin. */ - ret = GpioSetDir(gpio, GPIO_DIR_OUT); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set dir fail! ret:%d\n", __func__, ret); - return ret; - } - - /* Disable the interrupt of the pin. */ - ret = GpioDisableIrq(gpio); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: disable irq fail! ret:%d\n", __func__, ret); - return ret; - } - - /* Set the ISR function for the pin. The trigger mode is both rising edge and falling edge. */ - mode = OSAL_IRQF_TRIGGER_RISING | OSAL_IRQF_TRIGGER_FALLING; - HDF_LOGE("%s: mode:%0x\n", __func__, mode); - ret = GpioSetIrq(gpio, mode, TestCaseGpioIrqHandler, NULL); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set irq fail! ret:%d\n", __func__, ret); - return ret; - } - - /* Enable the interrupt for this pin. */ - ret = GpioEnableIrq(gpio); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: enable irq fail! ret:%d\n", __func__, ret); - (void)GpioUnSetIrq(gpio); - return ret; - } - - g_irqCnt = 0; /* Reset the global counter. */ - timeout = 0; /* Reset the waiting time. */ - /* Wait for the ISR function of this pin to trigger. The timeout duration is 1000 ms. */ - while (g_irqCnt <= 0 && timeout < 1000) { - (void)GpioRead(gpio, &valRead); - (void)GpioWrite(gpio, (valRead == GPIO_VAL_LOW) ? GPIO_VAL_HIGH : GPIO_VAL_LOW); - HDF_LOGE("%s: wait irq timeout:%u\n", __func__, timeout); - OsalMDelay(200); /* wait for irq trigger */ - timeout += 200; - } - (void)GpioUnSetIrq(gpio); - return (g_irqCnt > 0) ? HDF_SUCCESS : HDF_FAILURE; -} -``` - diff --git a/en/device-dev/driver/hdf.md b/en/device-dev/driver/hdf.md deleted file mode 100644 index 05183747d4a..00000000000 --- a/en/device-dev/driver/hdf.md +++ /dev/null @@ -1,15 +0,0 @@ -# HDF - -- **[HDF Overview](hdfoverview.md)** - -- **[Driver Development](driver-development.md)** - -- **[Driver Service Management](driver-service-management.md)** - -- **[Driver Message Mechanism Management](driver-message-mechanism-management.md)** - -- **[Driver Configuration Management](driver-configuration-management.md)** - -- **[HDF Development Example](hdfdevelopment-example.md)** - - diff --git a/en/device-dev/driver/i2c-overview.md b/en/device-dev/driver/i2c-overview.md deleted file mode 100644 index 407a149be21..00000000000 --- a/en/device-dev/driver/i2c-overview.md +++ /dev/null @@ -1,60 +0,0 @@ -# I2C Overview - -- [Introduction](#section5361140416) -- [Available APIs](#section7606310210) - -## Introduction - -- The Inter-Integrated Circuit \(I2C\) is a simple, bidirectional, and synchronous serial bus that uses merely two wires. -- In an I2C communication, one controller communicates with one or more devices through the serial data line \(SDA\) and serial clock line \(SCL\), as shown in [Figure 1](#fig1135561232714). - -- I2C data transfer must begin with a **START** condition and end with a **STOP** condition. Data is transmitted byte-by-byte from the most significant bit to the least significant bit. -- Each I2C node is recognized by a unique address and can serve as either a controller or a device. When the controller needs to communicate with a device, it writes the device address to the bus through broadcast. A device matching this address sends a response to set up a data transfer channel. - -- The I2C APIs define a set of common functions for I2C data transfer, including: - - - I2C controller management: opening or closing an I2C controller - - I2C message transfer: custom transfer by using a message array - - **Figure 1** Physical connection diagram for I2C - ![](figures/physical-connection-diagram-for-i2c.png "physical-connection-diagram-for-i2c") - - -## Available APIs - -**Table 1** APIs available for the I2C driver - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    I2C controller management

    -

    I2cOpen

    -

    Opens an I2C controller.

    -

    I2cClose

    -

    Closes an I2C controller.

    -

    I2C message transfer

    -

    I2cTransfer

    -

    Performs a custom transfer.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions provided in this document can be called only in kernel mode. - diff --git a/en/device-dev/driver/i2c-usage-example.md b/en/device-dev/driver/i2c-usage-example.md deleted file mode 100644 index 438961611a6..00000000000 --- a/en/device-dev/driver/i2c-usage-example.md +++ /dev/null @@ -1,192 +0,0 @@ -# I2C Usage Example - -This example describes how to use I2C APIs by using an I2C device on a development board. - -This example shows a simple register read/write operation on TouchPad on a Hi3516D V300 development board. The basic hardware information is as follows: - -- SoC: hi3516dv300 - -- Touch IC: The I2C address is 0x38, and the bit width of Touch IC's internal register is 1 byte. - -- Schematic diagram: TouchPad is mounted to I2C controller 3. The reset pin of Touch IC is GPIO3. - -In this example, first we reset Touch IC. \(The development board supplies power to Touch IC by default after being powered on, and this use case does not consider the power supply\). Then, we perform a read/wirte operation on an internal register to test whether the I2C channel is normal. - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->The example focuses on I2C device access and verifies the I2C channel. The read and write values of the device register are not concerned. The behavior caused by the read and write operations on the register is determined by the device itself. - -Example: - -``` -#include "i2c_if.h" /* Header file of I2C APIs */ -#include "gpio_if.h" /* Header file of GPIO APIs */ -#include "hdf_log.h" /* Header file for log APIs */ -#include "osal_io.h" /* Header file of I/O read and write APIs */ -#include "osal_time.h" /* Header file of delay and sleep APIs */ - -/* Define a TP device structure to store I2C and GPIO hardware information. */ -struct TpI2cDevice { - uint16_t rstGpio; /* Reset pin */ - uint16_t busId; /* I2C bus ID */ - uint16_t addr; /* I2C device address */ - uint16_t regLen; /* Register bit width */ - DevHandle i2cHandle; /* I2C controller handle */ -}; - -/* I2C pin I/O configuration. For details, see the SoC register manual. */ -#define I2C3_DATA_REG_ADDR 0x112f008c /* Address of the SDA pin configuration register of I2C controller 3 -#define I2C3_CLK_REG_ADDR 0x112f0090 /* Address of the SCL pin configuration register of I2C controller 3 -#define I2C_REG_CFG 0x5f1 /* Configuration values of SDA and SCL pins of I2C controller 3 - -static void TpSocIoCfg(void) -{ - /* Set the I/O function of the two pins corresponding to I2C controller 3 to I2C. */ - OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_DATA_REG_ADDR)); - OSAL_WRITEL(I2C_REG_CFG, IO_DEVICE_ADDR(I2C3_CLK_REG_ADDR)); -} - -/* Initialize the reset pin of the TP. Pull up the pin for 20 ms, pull down the pin for 50 ms, and then pull up the pin for 20 ms to complete the resetting. */ -static int32_t TestCaseGpioInit(struct TpI2cDevice *tpDevice) -{ - int32_t ret; - - /* Set the output direction for the reset pin. */ - ret = GpioSetDir(tpDevice->rstGpio, GPIO_DIR_OUT); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst dir fail!:%d", __func__, ret); - return ret; - } - - ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst hight fail!:%d", __func__, ret); - return ret; - } - OsalMSleep(20); - - ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_LOW); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst low fail!:%d", __func__, ret); - return ret; - } - OsalMSleep(50); - - ret = GpioWrite(tpDevice->rstGpio, GPIO_VAL_HIGH); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set rst high fail!:%d", __func__, ret); - return ret; - } - OsalMSleep(20); - - return HDF_SUCCESS; -} - -/* Use I2cTransfer to encapsulate a register read/write auxiliary function. Use flag to indicate the read or write operation. */ -static int TpI2cReadWrite(struct TpI2cDevice *tpDevice, unsigned int regAddr, - unsigned char *regData, unsigned int dataLen, uint8_t flag) -{ - int index = 0; - unsigned char regBuf[4] = {0}; - struct I2cMsg msgs[2] = {0}; - - /* Perform length adaptation for the single- or dual-byte register. */ - if (tpDevice->regLen == 1) { - regBuf[index++] = regAddr & 0xFF; - } else { - regBuf[index++] = (regAddr >> 8) & 0xFF; - regBuf[index++] = regAddr & 0xFF; - } - - /* Fill in the I2cMsg message structure. */ - msgs[0].addr = tpDevice->addr; - msgs[0].flags = 0; /* The flag is 0, indicating the write operation. */ - msgs[0].len = tpDevice->regLen; - msgs[0].buf = regBuf; - - msgs[1].addr = tpDevice->addr; - msgs[1].flags = (flag == 1)? I2C_FLAG_READ: 0; /* Add the read flag. */ - msgs[1].len = dataLen; - msgs[1].buf = regData; - - if (I2cTransfer(tpDevice->i2cHandle, msgs, 2) != 2) { - HDF_LOGE("%s: i2c read err", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -/* TP register read function */ -static inline int TpI2cReadReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, - unsigned char *regData, unsigned int dataLen) -{ - return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 1); -} - -/* TP register write function */ -static inline int TpI2cWriteReg(struct TpI2cDevice *tpDevice, unsigned int regAddr, - unsigned char *regData, unsigned int dataLen) -{ - return TpI2cReadWrite(tpDevice, regAddr, regData, dataLen, 0); -} - -/* Main entry of I2C */ -static int32_t TestCaseI2c(void) -{ - int32_t i; - int32_t ret; - unsigned char bufWrite[7] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xA, 0xB, 0xC }; - unsigned char bufRead[7] = {0}; - static struct TpI2cDevice tpDevice; - - /* I/O pin function configuration */ - TpSocIoCfg(); - - /* Initialize TP device information. */ - tpDevice.rstGpio = 3; - tpDevice.busId = 3; - tpDevice.addr = 0x38; - tpDevice.regLen = 1; - tpDevice.i2cHandle = NULL; - - /* Initialize the GPIO pin. */ - ret = TestCaseGpioInit(&tpDevice); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: gpio init fail!:%d", __func__, ret); - return ret; - } - - /* Open an I2C controller. */ - tpDevice.i2cHandle = I2cOpen(tpDevice.busId); - if (tpDevice.i2cHandle == NULL) { - HDF_LOGE("%s: Open I2c:%u fail!", __func__, tpDevice.busId); - return -1; - } - - /* Continuously write 7-byte data to register 0xD5 of TP-IC. */ - ret = TpI2cWriteReg(&tpDevice, 0xD5, bufWrite, 7); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: tp i2c write reg fail!:%d", __func__, ret); - I2cClose(tpDevice.i2cHandle); - return -1; - } - OsalMSleep(10); - - /* Continuously read 7-byte data from register 0xDO of TP-IC. */ - ret = TpI2cReadReg(&tpDevice, 0xD5, bufRead, 7); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: tp i2c read reg fail!:%d", __func__, ret); - I2cClose(tpDevice.i2cHandle); - return -1; - } - - HDF_LOGE("%s: tp i2c write&read reg success!", __func__); - for (i = 0; i < 7; i++) { - HDF_LOGE("%s: bufRead[%d] = 0x%x", __func__, i, bufRead[i]); - } - - /* Close the I2C controller. */ - I2cClose(tpDevice.i2cHandle); - return ret; -} -``` - diff --git a/en/device-dev/driver/i2c.md b/en/device-dev/driver/i2c.md deleted file mode 100644 index 12167aeab96..00000000000 --- a/en/device-dev/driver/i2c.md +++ /dev/null @@ -1,9 +0,0 @@ -# I2C - -- **[I2C Overview](i2c-overview.md)** - -- **[I2C Usage Guidelines](i2c-usage-guidelines.md)** - -- **[I2C Usage Example](i2c-usage-example.md)** - - diff --git a/en/device-dev/driver/lcd.md b/en/device-dev/driver/lcd.md deleted file mode 100644 index 9930511412c..00000000000 --- a/en/device-dev/driver/lcd.md +++ /dev/null @@ -1,9 +0,0 @@ -# LCD - -- **[LCD Overview](lcdoverview.md)** - -- **[LCD Development Guidelines](lcddevelopment-guidelines.md)** - -- **[LCD Development Example](lcddevelopment-example.md)** - - diff --git a/en/device-dev/driver/lcddevelopment-guidelines.md b/en/device-dev/driver/lcddevelopment-guidelines.md deleted file mode 100644 index a7d0f9cb745..00000000000 --- a/en/device-dev/driver/lcddevelopment-guidelines.md +++ /dev/null @@ -1,23 +0,0 @@ -# LCD Development Guidelines - -- [How to Develop](#section3904154911218) - -The display driver model is developed based on the HDF, platform APIs, and APIs at the OS abstraction layer \(OSAL\), and provides a unified driver model for the LCD regardless of the OS \(LiteOS or Linux OS\) and chip platforms \(such as Hi35xx, Hi38xx, and V3S\). - -## How to Develop - -1. Add the LCD driver-related hardware descriptions. -2. Add a driver that adapts to the chip at the SoC adapter layer. -3. Add the LCD panel driver and register the panel driver functions in the driver entry function **Init**. The functions provide capabilities for: - - Powering on/off the LCD device - - Based on the LCD hardware connection, use the GPIO interfaces provided by the platform to perform operations on the LCD pins, such as the reset pin and IOVCC pin. For details about the power-on sequence, see the SPEC provided by the LCD supplier. - - - Sending the initialization sequence - - Based on the LCD hardware interfaces, use the I2C, SPI, and MIPI interfaces provided by the platform to download the LCD initialization sequence. For details, see the SPEC provided by the LCD supplier. - - -4. Implement other HDF interfaces as required, for example, the **Release** interface. -5. Use the HDF to create other device nodes for implementing service logic or debugging as required. - diff --git a/en/device-dev/driver/lcdoverview.md b/en/device-dev/driver/lcdoverview.md deleted file mode 100644 index 08ba05e1f40..00000000000 --- a/en/device-dev/driver/lcdoverview.md +++ /dev/null @@ -1,46 +0,0 @@ -# LCD Overview - -- [Introduction](#section3781515122118) -- [API Description](#section20280192712120) - -## Introduction - -The Liquid Crystal Display \(LCD\) driver powers on the LCD and initializes internal LCD registers APIs to enable the LCD to work properly. The display driver is developed based on the hardware driver foundation \([HDF](hdfoverview.md)\). It provides power-on, power-off, and sending of the initialization sequence for LCD hardware across OSs and platforms. The display driver model is shown in [Figure 1](#fig69138814229). - -**Figure 1** Architecture of the display driver model -![](figures/architecture-of-the-display-driver-model.png "architecture-of-the-display-driver-model") - -- **Display driver model** - - The display driver model consists of the display common driver layer, SoC adapter layer, and third-party chip driver layer. It is developed based on the HDF and hides the differences between kernel forms through platform and OSAL APIs so the LCD driver can be migrated to different OSs and chip platforms. The display driver connects to the display common HAL, supports the implementation of Hardware Driver Interfaces \(HDIs\), and provides various driver interfaces for the graphics service through the display HDI. - - - Display common driver layer: connects to the display common HAL through the IOService data channel provided by the HDF to receive and process various upper-layer calls in a centralized manner. - - - SoC adapter layer: decouples the display driver from the SoC driver, configures parameters related to the chip platform, and passes the calls at the platform driver layer to the LCD driver layer. - - - Third-party chip driver layer: provides LCD-related APIs for sending the LCD initialization sequence, powering on or off the LCD device, and setting the backlight. - - Based on the display driver model, various capabilities, and APIs, you can greatly simplify the display driver development and improve the efficiency. - - -## API Description - -The LCD interfaces are classified into the Mobile Industry Processor Interface \(MIPI\) Display Serial Interface \(DSI\), Transistor Transistor Logic \(TTL\) interfaces, and Low Voltage Differential Signaling \(LVDS\) interfaces. The MIPI DSI and TTL interfaces are commonly used. Here is a brief introduction to them. - -- MIPI DSI - - **Figure 2** MIPI DSI - ![](figures/mipi-dsi.png "mipi-dsi") - - The MIPI DSI is defined by MIPI Alliance. It is mainly used for mobile terminal display. The MIPI DSI is used to transmit image data, in compliance with the MIPI protocol. Generally, control information of the MIPI DSI is sent to the peer IC in the form of MIPI packets through the MIPI DSI. No additional interface is required. - -- TTL interface - - **Figure 3** TTL interface - ![](figures/ttl-interface.png "ttl-interface") - - TTL level signals are generated by TTL devices, which are a major type of digital integrated circuits. They are manufactured using the bipolar process and feature high speed, low power consumption, and multiple types. - - The TTL interface is used to transmit data in parallel mode. It transmits data signals, clock signals, and control signals \(such as line synchronization signals, frame synchronization signals, and data validity signals\) under the control of control signals. Generally, the LCD of the TTL interface and the read/write of internal registers require additional peripheral interfaces, such as the Serial Peripheral Interface \(SPI\) and Inter-Integrated Circuit \(I2C\). - - diff --git a/en/device-dev/driver/mipi-dsi-overview.md b/en/device-dev/driver/mipi-dsi-overview.md deleted file mode 100644 index ec579fba093..00000000000 --- a/en/device-dev/driver/mipi-dsi-overview.md +++ /dev/null @@ -1,84 +0,0 @@ -# MIPI DSI Overview - -- [Introduction](#section1369320102013) -- [Available APIs](#section6577545192317) - -## Introduction - -- The Display Serial Interface \(DSI\) is a specification stipulated by the Mobile Industry Processor Interface \(MIPI\) Alliance, aiming to reduce the cost of display controllers in a mobile device. It defines a serial bus and communication protocol among the host, the source of image data, and the target device. In this way, the DSI can send pixel data or commands to peripherals \(usually LCDs or similar display devices\) in serial mode, or reads information such as status and pixel from the peripherals. - -- MIPI DSI is capable of working in both high speed \(HS\) mode and low power \(LP\) mode. All data lanes can only travel from the DSI host to a peripheral in HS mode, except the first data lane, which can also receive data such as status information and pixels from the peripheral in LP mode. The clock lane is dedicated to transmitting synchronization clock signals in HS mode. - - [Figure 1](#fig1122611461203) shows a simplified DSI interface. Conceptually, a DSI-compliant interface has the same features as interfaces complying with DBI-2 and DPI-2 standards. It sends pixels or commands to a peripheral and can read status or pixel information from the peripheral. The main difference is that the DSI serializes all pixel data, commands, and events that, in traditional interfaces, are conveyed to and from the peripheral on a parallel data bus with additional control signals. - - **Figure 1** DSI transmitting and receiving Interface - ![](figures/dsi-transmitting-and-receiving-interface.png "dsi-transmitting-and-receiving-interface") - - - -## Available APIs - -**Table 1** APIs for MIPI DSI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    Setting/Obtaining MIPI DSI configuration parameters

    -

    MipiDsiSetCfg

    -

    Sets configuration parameters for a MIPI DSI device.

    -

    MipiDsiGetCfg

    -

    Obtains the configuration parameters of a MIPI DSI device.

    -

    Obtaining /Releasing device handles

    -

    MipiDsiOpen

    -

    Obtains a MIPI DSI device handle.

    -

    MipiDsiClose

    -

    Releases a specified MIPI DSI device handle.

    -

    Setting the LP or HS mode

    -

    MipiDsiSetLpMode

    -

    Sets LP mode for a MIPI DSI device.

    -

    MipiDsiSetHsMode

    -

    Sets HS mode for a MIPI DSI device.

    -

    Reading/Sending commands

    -

    MipiDsiTx

    -

    Sends a display command set (DCS) command for sending data.

    -

    MipiDsiRx

    -

    Receives a DCS command for reading data with the specified length.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions described in this document can be called only in kernel space. - diff --git a/en/device-dev/driver/mipi-dsi.md b/en/device-dev/driver/mipi-dsi.md deleted file mode 100644 index f50672962f5..00000000000 --- a/en/device-dev/driver/mipi-dsi.md +++ /dev/null @@ -1,9 +0,0 @@ -# MIPI DSI - -- **[MIPI DSI Overview](mipi-dsi-overview.md)** - -- **[Usage Guidelines](usage-guidelines.md)** - -- **[Usage Example](usage-example.md)** - - diff --git a/en/device-dev/driver/peripherals.md b/en/device-dev/driver/peripherals.md deleted file mode 100644 index 42016f572c9..00000000000 --- a/en/device-dev/driver/peripherals.md +++ /dev/null @@ -1,11 +0,0 @@ -# Peripherals - -- **[LCD](lcd.md)** - -- **[TOUCHSCREEN](touchscreen.md)** - -- **[SENSOR](sensor.md)** - -- **[WLAN](wlan.md)** - - diff --git a/en/device-dev/driver/public_sys-resources/icon-caution.gif b/en/device-dev/driver/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/driver/public_sys-resources/icon-danger.gif b/en/device-dev/driver/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/driver/public_sys-resources/icon-note.gif b/en/device-dev/driver/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/driver/public_sys-resources/icon-notice.gif b/en/device-dev/driver/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/driver/rtc-overview.md b/en/device-dev/driver/rtc-overview.md deleted file mode 100644 index 97aa8a24369..00000000000 --- a/en/device-dev/driver/rtc-overview.md +++ /dev/null @@ -1,103 +0,0 @@ -# RTC Overview - -- [Introduction](#section104842041574) -- [Available APIs](#section16892932155715) - -## Introduction - -The real-time clock \(RTC\) driver provides precise real time for the operating system \(OS\). If the OS is powered off, the RTC driver continues to keep track of the system time using an external battery. - -## Available APIs - -**Table 1** APIs provided by the RTC driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    RTC handle

    -

    RtcOpen

    -

    Opens the RTC device to obtain its handle.

    -

    RtcClose

    -

    Releases a specified handle of the RTC device.

    -

    RTC time

    -

    RtcReadTime

    -

    Reads time information from the RTC driver, including the year, month, the day of the week, day, hour, minute, second, and millisecond.

    -

    RtcWriteTime

    -

    Writes time information from the RTC driver, including the year, month, the day of the week, day, hour, minute, second, and millisecond.

    -

    RTC alarm

    -

    RtcReadAlarm

    -

    Reads the RTC alarm time that was set last time.

    -

    RtcWriteAlarm

    -

    Writes the RTC alarm time based on the alarm index.

    -

    RtcRegisterAlarmCallback

    -

    Registers RtcAlarmCallback that will be invoked when an alarm is generated at the specified time.

    -

    RtcAlarmInterruptEnable

    -

    Enables or disables RTC alarm interrupts.

    -

    RTC configuration

    -

    RtcGetFreq

    -

    Reads the frequency of the external crystal oscillator connected to the RTC driver.

    -

    RtcSetFreq

    -

    Sets the frequency of the external crystal oscillator connected to the RTC driver.

    -

    RtcReset

    -

    Resets the RTC.

    -

    Custom register

    -

    RtcReadReg

    -

    Reads the configuration of a custom RTC register based on the register index.

    -

    RtcWriteReg

    -

    Writes the configuration of a custom RTC register based on the register index.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions provided in this document can be called only in kernel mode. - diff --git a/en/device-dev/driver/rtc-usage-example.md b/en/device-dev/driver/rtc-usage-example.md deleted file mode 100644 index e546c2f1433..00000000000 --- a/en/device-dev/driver/rtc-usage-example.md +++ /dev/null @@ -1,97 +0,0 @@ -# RTC Usage Example - -This section describes the process of using RTC APIs: - -1. During the OS startup, the HDF identifies the RTC component in the system. -2. The HDF initializes and creates the RTC device. -3. You can perform operations on the RTC device by calling different APIs. -4. Call the **RtcClose** function to release the device handle and device resources. - -Example: - -``` -#include "rtc_if.h" -int32_t RtcAlarmACallback(enum RtcAlarmIndex alarmIndex) -{ - if (alarmIndex == RTC_ALARM_INDEX_A) { - /* Process alarm A. */ - printf("RTC Alarm A callback function\n\r"); - } else if (alarmIndex == RTC_ALARM_INDEX_B) { - /* Process alarm B. */ - printf("RTC Alarm B callback function\n\r"); - } else { - /* Process the error. */ - } - return 0; -} - -void RtcTestSample(void) -{ - int32_t ret; - struct RtcTime tm; - struct RtcTime alarmTime; - uint32_t freq; - DevHandle handle = NULL; - - /* Obtain the RTC device handle. */ - handle = RtcOpen(); - if (handle == NULL) { - /* Process the error. */ - } - /* Register RtcAlarmCallback for alarm A. */ - ret = RtcRegisterAlarmCallback(handle, RTC_ALARM_INDEX_A, RtcAlarmACallback); - if (ret != 0) { - /* Process the error. */ - } - /* Set the RTC external crystal frequency. Note that the frequency must be configured in accordance with the requirements specified in the product manual of the in-use component. */ - freq = 32768; /* 32768 Hz */ - ret = RtcSetFreq(handle, freq); - if (ret != 0) { - /* Process the error. */ - } - /* Enable the RTC alarm interrupts. */ - ret = RtcAlarmInterruptEnable(handle, RTC_ALARM_INDEX_A, 1); - if (ret != 0) { - /* Process the error. */ - } - /* Set the RTC time to 2020/01/01 00:00:10 .990. */ - tm.year = 2020; - tm.month = 01; - tm.day = 01; - tm.hour= 0; - tm.minute = 0; - tm.second = 10; - tm.millisecond = 990; - /* Write the RTC time information. */ - ret = RtcWriteTime(handle, &tm); - if (ret != 0) { - /* Process the error. */ - } - /* Set the RTC alarm time to 2020/01/01 00:00:30 .100. */ - alarmTime.year = 2020; - alarmTime.month = 01; - alarmTime.day = 01; - alarmTime.hour = 0; - alarmTime.minute = 0; - alarmTime.second = 30; - alarmTime.millisecond = 100; - /* Set the alarm time information for RTC_ALARM_INDEX_A. When the specified time is reached, "RTC Alarm A callback function" is printed. */ - ret = RtcWriteAlarm(handle, RTC_ALARM_INDEX_A, &alarmTime); - if (ret != 0) { - /* Process the error. */ - } - - /* Read the RTC real time. */ - ret = RtcReadTime(handle, &tm); - if (ret != 0) { - /* Process the error. */ - } - sleep(5) - printf("RTC read time:\n\r"); - printf("year-month-date-weekday hour:minute:second .millisecond %04u-%02u-%02u-%u %02u:%02u:%02u .%03u", - tm.year, tm.month, tm.day, tm.weekday, tm.hour, tm.minute, tm.second, tm.millisecond); - /* Release the RTC device handle. */ - RtcClose(handle); -} -``` - diff --git a/en/device-dev/driver/rtc.md b/en/device-dev/driver/rtc.md deleted file mode 100644 index 50b89f7b7c1..00000000000 --- a/en/device-dev/driver/rtc.md +++ /dev/null @@ -1,9 +0,0 @@ -# RTC - -- **[RTC Overview](rtc-overview.md)** - -- **[RTC Usage Guidelines](rtc-usage-guidelines.md)** - -- **[RTC Usage Example](rtc-usage-example.md)** - - diff --git a/en/device-dev/driver/sdio.md b/en/device-dev/driver/sdio.md deleted file mode 100644 index 43fb7620519..00000000000 --- a/en/device-dev/driver/sdio.md +++ /dev/null @@ -1,9 +0,0 @@ -# SDIO - -- **[SDIO Overview](sdiooverview.md)** - -- **[SDIO Usage Guidelines](sdiousage-guidelines.md)** - -- **[SDIO Usage Example](sdiousage-example.md)** - - diff --git a/en/device-dev/driver/sdiooverview.md b/en/device-dev/driver/sdiooverview.md deleted file mode 100644 index 9890cf8f3c6..00000000000 --- a/en/device-dev/driver/sdiooverview.md +++ /dev/null @@ -1,149 +0,0 @@ -# SDIO Overview - -- [Introduction](#section1155271783811) -- [Available APIs](#section10204143763819) - -## Introduction - -- Secure Digital Input/Output \(SDIO\) is a peripheral interface evolved from the Secure Digital \(SD\) memory card interface. The SDIO interface is compatible with SD memory cards and can be connected to devices that support the SDIO interface. -- SDIO is widely used. Currently, many smartphones support SDIO, and many SDIO peripherals are developed for connections to smartphones. Common SDIO peripherals include WLAN, GPS, cameras, and Bluetooth. -- The SDIO bus has two ends, named host and device. All communication starts when the host sends a command. The device can communicate with the host as long as it can parse the command of the host. An SDIO host can connect to multiple devices, as shown in the figure below. - - - CLK signal: clock signal sent from the host to the device - - VDD signal: power signal - - VSS signal: ground signal - - D0-3 signal: four data lines. The DAT1 signal cable is multiplexed as the interrupt line. In 1-bit mode, DAT0 is used to transmit data. In 4-bit mode, DAT0 to DAT3 are used to transmit data. - - CMD signal: used by the host to send commands and the device to respond to commands. - - **Figure 1** Connections between the host and devices in SDIO - - - ![](figures/en-us_image_0000001054280608.png) - -- The SDIO interface defines a set of common methods for operating an SDIO device, including opening and closing an SDIO controller, exclusively claiming and releasing the host, enabling and disabling devices, claiming and releasing an SDIO IRQ, reading and writing data based on SDIO, and obtaining and setting common information. - -## Available APIs - -**Table 1** APIs available for the SDIO driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    SDIO device opening/closing

    -

    SdioOpen

    -

    Opens an SDIO controller with a specified bus number.

    -

    SdioClose

    -

    Closes an SDIO controller.

    -

    SDIO reading/writing

    -

    SdioReadBytes

    -

    Incrementally reads a given length of data from a specified SDIO address.

    -

    SdioWriteBytes

    -

    Incrementally writes a given length of data into a specified SDIO address.

    -

    SdioReadBytesFromFixedAddr

    -

    Reads a given length of data from a fixed SDIO address.

    -

    SdioWriteBytesToFixedAddr

    -

    Writes a given length of data into a fixed SDIO address.

    -

    SdioReadBytesFromFunc0

    -

    Reads a given length of data from the address space of SDIO function 0.

    -

    SdioWriteBytesToFunc0

    -

    Writes a given length of data into the address space of SDIO function 0.

    -

    SDIO block size setting

    -

    SdioSetBlockSize

    -

    Sets the block size.

    -

    SDIO common information retrieval/setting

    -

    SdioGetCommonInfo

    -

    Obtains common information.

    -

    SdioSetCommonInfo

    -

    Sets common information.

    -

    SDIO data flushing

    -

    SdioFlushData

    -

    Flushes data.

    -

    SDIO host exclusively claiming or releasing

    -

    SdioClaimHost

    -

    Claims a host exclusively.

    -

    SdioReleaseHost

    -

    Releases the exclusively claimed host.

    -

    SDIO device enablement

    -

    SdioEnableFunc

    -

    Enables an SDIO device.

    -

    SdioDisableFunc

    -

    Disables an SDIO device.

    -

    SDIO IRQ claiming/releasing

    -

    SdioClaimIrq

    -

    Claims an SDIO IRQ.

    -

    SdioReleaseIrq

    -

    Releases an SDIO IRQ.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions provided in this document can be called only in kernel mode. - diff --git a/en/device-dev/driver/sdiousage-example.md b/en/device-dev/driver/sdiousage-example.md deleted file mode 100644 index 558f4cf1912..00000000000 --- a/en/device-dev/driver/sdiousage-example.md +++ /dev/null @@ -1,129 +0,0 @@ -# SDIO Usage Example - -The following example shows how to use an SDIO device. First, open an SDIO controller whose bus number is 1, exclusively claim a host, enable the SDIO device, claim an SDIO IRQ, and then perform SDIO communication \(such as reading and writing\). After the SDIO communication, release the SDIO IRQ, disable the SDIO device, release the host, and close the SDIO controller. - -``` -#include "hdf_log.h" -#include "sdio_if.h" - -#define TEST_FUNC_NUM 1 /* The I/O function whose ID is 1 is used. */ -#define TEST_FBR_BASE_ADDR 0x100 /* FBR base address of the I/O function whose ID is 1 */ -#define TEST_ADDR_OFFSET 9 /* Address offset of the register to read or write */ -#define TEST_DATA_LEN 3 /* Length of the data to read or write */ -#define TEST_BLOCKSIZE 2 /* Size of a data block, in bytes */ - -/* Implement the SDIO IRQ function based on the application. */ -static void SdioIrqFunc(void *data) -{ - if (data == NULL) { - HDF_LOGE("SdioIrqFunc: data is NULL.\n"); - return; - } - /* You need to add specific implementations. */ -} - -void SdioTestSample(void) -{ - int32_t ret; - DevHandle handle = NULL; - uint8_t data[TEST_DATA_LEN] = {0}; - struct SdioFunctionConfig config = {1, 0x123, 0x456}; - uint8_t val; - uint32_t addr; - - /* Open an SDIO controller whose bus number is 1. */ - handle = SdioOpen(1, &config); - if (handle == NULL) { - HDF_LOGE("SdioOpen: failed!\n"); - return; - } - /* Claim a host exclusively. */ - SdioClaimHost(handle); - /* Enable the SDIO device. */ - ret = SdioEnableFunc(handle); - if (ret != 0) { - HDF_LOGE("SdioEnableFunc: failed, ret %d\n", ret); - goto ENABLE_ERR; - } - /* Claim an SDIO IRQ. */ - ret = SdioClaimIrq(handle, SdioIrqFunc); - if (ret != 0) { - HDF_LOGE("SdioClaimIrq: failed, ret %d\n", ret); - goto CLAIM_IRQ_ERR; - } - /* Set the block size to 2 bytes. */ - ret = SdioSetBlockSize(handle, TEST_BLOCKSIZE); - if (ret != 0) { - HDF_LOGE("SdioSetBlockSize: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Read 3-byte data from the incremental address of an SDIO device. */ - addr = TEST_FBR_BASE_ADDR * TEST_FUNC_NUM + TEST_ADDR_OFFSET; - ret = SdioReadBytes(handle, data, addr, TEST_DATA_LEN); - if (ret != 0) { - HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Write 3-byte data into the incremental address of an SDIO device. */ - ret = SdioWriteBytes(handle, data, addr, TEST_DATA_LEN); - if (ret != 0) { - HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Read 1-byte data from the SDIO device. */ - ret = SdioReadBytes(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioReadBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Write 1-byte data into the SDIO device. */ - ret = SdioWriteBytes(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioWriteBytes: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Read 3-byte data from the fixed address of an SDIO device. */ - ret = SdioReadBytesFromFixedAddr(handle, data, addr, TEST_DATA_LEN, 0); - if (ret != 0) { - HDF_LOGE("SdioReadBytesFromFixedAddr: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Write 1-byte data to the fixed address of an SDIO device. */ - ret = SdioWriteBytesToFixedAddr(handle, data, addr, 1, 0); - if (ret != 0) { - HDF_LOGE("SdioWriteBytesToFixedAddr: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Read 1-byte data from SDIO function 0. */ - addr = 0x02; - ret = SdioReadBytesFromFunc0(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioReadBytesFromFunc0: failed, ret %d\n", ret); - goto COMM_ERR; - } - /* Write 1-byte data into SDIO function 0. */ - ret = SdioWriteBytesToFunc0(handle, &val, addr, 1); - if (ret != 0) { - HDF_LOGE("SdioWriteBytesToFunc0: failed, ret %d\n", ret); - goto COMM_ERR; - } -COMM_ERR: - /* Release the SDIO IRQ. */ - ret = SdioReleaseIrq(handle); - if (ret != 0) { - HDF_LOGE("SdioReleaseIrq: failed, ret %d\n", ret); - } -CLAIM_IRQ_ERR: - /* Disable the SDIO device. */ - ret = SdioDisableFunc(handle); - if (ret != 0) { - HDF_LOGE("SdioDisableFunc: failed, ret %d\n", ret); - } -ENABLE_ERR: - /* Release the exclusively claimed host. */ - SdioReleaseHost(handle); - /* Close an SDIO controller. */ - SdioClose(handle); -} -``` - diff --git a/en/device-dev/driver/sensor-driver-development-example.md b/en/device-dev/driver/sensor-driver-development-example.md deleted file mode 100644 index acab2c70f8f..00000000000 --- a/en/device-dev/driver/sensor-driver-development-example.md +++ /dev/null @@ -1,583 +0,0 @@ -# Sensor Driver Development Example - -This section provides a code example of how to load and start the acceleration sensor driver based on the HDF driver model. For details about the mechanism, see [HDF Driver Development](driver-development.md). This example uses the Bosch BMI160 acceleration sensor that communicates over I2C. - -1. Register the driver entry of the acceleration sensor. - -- Implementation of the entry function - -``` -/* Register the entry structure object of the acceleration sensor. */ -struct HdfDriverEntry g_sensorAccelDevEntry = { - .moduleVersion = 1, /* Version number of the acceleration sensor module */ - .moduleName = "HDF_SENSOR_ACCEL", /* Name of the acceleration sensor module. The value must be the same as that of moduleName in the device_info.hcs file. */ - .Bind = BindAccelDriver, /* Binding function of the acceleration sensor */ - .Init = InitAccelDriver, /* Initialization function of the acceleration sensor */ - .Release = ReleaseAccelDriver, /* Resource release function of the acceleration sensor */ -}; - -/* Call HDF_INIT to register the driver entry with the HDF. When loading the driver, the HDF calls the Bind function first and then the Init function. If the Init function fails to be called, the HDF will call Release to release the driver resource and exit. -HDF_INIT(g_sensorAccelDevEntry); -``` - -- Acceleration sensor configuration - -The acceleration sensor model uses the HCS as the configuration source code. For details about the HCS configuration fields, see [Driver Configuration Management](driver-configuration-management.md). - -``` -/* HCS configuration of the acceleration sensor device */ -device_sensor_accel :: device { - device0 :: deviceNode { - policy = 1; /* Policy for providing the driver service */ - priority = 105; /* Driver startup priority (0–200). A larger value indicates a lower priority. The default value 100 is recommended. The sequence for loading devices with the same priority is random. */ - preload = 2; /* Field for specifying whether to load the driver. Value 0 means to load the driver, and 2 means the opposite. */ - permission = 0664; /* Permission for the driver to create device nodes */ - moduleName = "HDF_SENSOR_ACCEL"; /* Driver name. The value must be the same as that of moduleName in the driver entry structure. */ - serviceName = "sensor_accel"; /* Name of the service provided by the driver. The name must be unique. */ - deviceMatchAttr = "hdf_sensor_accel_driver"; /* Keyword matching the private data of the driver. The value must be the same as that of match_attr in the private data configuration table of the driver. */ - } -} -``` - -1. Initialize and deinitialize the acceleration sensor driver. - -- Initialization entry function **init** - -``` -/* Bind the service provided by the acceleration sensor driver to the HDF. */ -int32_t BindAccelDriver(struct HdfDeviceObject *device) -{ - CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - - static struct IDeviceIoService service = { - .object = {0}, - .Dispatch = DispatchAccel, - }; - device->service = &service; - - return HDF_SUCCESS; -} -/* After detecting that the device is in position, call RegisterAccelChipOps to register the differentiation adaptation function. */ -int32_t RegisterAccelChipOps(struct AccelOpsCall *ops) -{ - struct AccelDrvData *drvData = NULL; - - CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); - - drvData = AccelGetDrvData(); - drvData->ops.Init = ops->Init; - drvData->ops.ReadData = ops->ReadData; - return HDF_SUCCESS; -} -/* Hook the acceleration sensor driver normalization function. */ -static int32_t InitAccelOps(struct SensorDeviceInfo *deviceInfo) -{ - struct AccelDrvData *drvData = AccelGetDrvData(); - - (void)memset_s((void *)deviceInfo, sizeof(*deviceInfo), 0, sizeof(*deviceInfo)); - deviceInfo->ops.GetInfo = SetAccelInfo; - deviceInfo->ops.Enable = SetAccelEnable; - deviceInfo->ops.Disable = SetAccelDisable; - deviceInfo->ops.SetBatch = SetAccelBatch; - deviceInfo->ops.SetMode = SetAccelMode; - deviceInfo->ops.SetOption = SetAccelOption; - - if (memcpy_s(&deviceInfo->sensorInfo, sizeof(deviceInfo->sensorInfo), - &drvData->accelCfg->sensorInfo, sizeof(drvData->accelCfg->sensorInfo)) != EOK) { - HDF_LOGE("%s: copy sensor info failed", __func__); - return HDF_FAILURE; - } - /* The sensor type ID can be configured in the HCS configuration file or here. */ - drvData->accelCfg->sensorInfo.sensorTypeId = SENSOR_TAG_ACCELEROMETER; - drvData->accelCfg->sensorInfo.sensorId = SENSOR_TAG_ACCELEROMETER; - - return HDF_SUCCESS; -} -/* Initialize the sensor register. */ -static int32_t InitAccelAfterConfig(void) -{ - struct SensorDeviceInfo deviceInfo; - - if (InitAccelConfig() != HDF_SUCCESS) { - HDF_LOGE("%s: init accel config failed", __func__); - return HDF_FAILURE; - } - - if (InitAccelOps(&deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: init accel ops failed", __func__); - return HDF_FAILURE; - } - - if (AddSensorDevice(&deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: add accel device failed", __func__); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} -/* Call the device detection function to hook the differentiated device function. */ -static int32_t DetectAccelChip(void) -{ - int32_t num; - int32_t ret; - int32_t loop; - struct AccelDrvData *drvData = AccelGetDrvData(); - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); - - num = sizeof(g_accelDetectIfList) / sizeof(g_accelDetectIfList[0]); - for (loop = 0; loop < num; ++loop) { - if (g_accelDetectIfList[loop].DetectChip != NULL) { - ret = g_accelDetectIfList[loop].DetectChip(drvData->accelCfg); - if (ret == HDF_SUCCESS) { - drvData->detectFlag = true; - break; - } - } - } - - if (loop == num) { - HDF_LOGE("%s: detect accel device failed", __func__); - drvData->detectFlag = false; - return HDF_FAILURE; - } - return HDF_SUCCESS; -} -/* The entry function of the acceleration sensor driver is used to initialize the structure object of the sensor private data, allocate space for the HCS data configuration object of the sensor, invoke the entry function for initializing the sensor HCS data configuration, detect whether the sensor device is in position, create the sensor data reporting timer, implement the sensor normalization API, and register the sensor device. */ -int32_t InitAccelDriver(struct HdfDeviceObject *device) -{ - /* Obtain the private data structure object of the sensor. */ - struct AccelDrvData *drvData = AccelGetDrvData(); - - /* When detecting sensors of the same type from different vendors, the function checks whether this type of sensors is in position. If yes, it no longer detects the other sensors of this type and directly returns the result. */ - if (drvData->detectFlag) { - HDF_LOGE("%s: accel sensor have detected", __func__); - return HDF_SUCCESS; - } - - CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - /* Allocate space for the private data structure objects for storing sensor data configurations. The allocated space needs to be released when the driver is released. */ - drvData->accelCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*cfg)); - if (drvData->accelCfg == NULL) { - HDF_LOGE("%s: malloc sensor config data failed", __func__); - return HDF_FAILURE; - } - - drvData->accelCfg->regCfgGroup = &g_regCfgGroup[0]; - /* Initializing the sensor configuration data aims to parse the configuration information of the sensor communication bus, basic sensor information, sensor attributes, whether the sensor is in position, and register group information. */ - if (GetSensorBaseConfigData(device->property, drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: get sensor base config failed", __func__); - goto Base_CONFIG_EXIT; - } - - if (DetectAccelChip() != HDF_SUCCESS) { - HDF_LOGE("%s: accel sensor detect device no exist", __func__); - goto DETECT_CHIP_EXIT; - } - drvData->detectFlag = true; - if (ParseSensorRegConfig(drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: detect sensor device failed", __func__); - goto REG_CONFIG_EXIT; - } - - if (InitAccelAfterConfig() != HDF_SUCCESS) { - HDF_LOGE("%s: init accel after config failed", __func__); - goto INIT_EXIT; - } - - HDF_LOGI("%s: init accel driver success", __func__); - return HDF_SUCCESS; - -INIT_EXIT: - DestroySensorThread(&drvData->thread, &drvData->threadStatus); - (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); -REG_CONFIG_EXIT: - ReleaseSensorAllRegConfig(drvData->accelCfg); - (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); -DETECT_CHIP_EXIT: - drvData->detectFlag = false; -BASE_CONFIG_EXIT: - drvData->accelCfg->root = NULL; - drvData->accelCfg->regCfgGroup = NULL; - OsalMemFree(drvData->accelCfg); - drvData->accelCfg = NULL; - return HDF_FAILURE; -} - -/* Release the resources allocated during driver initialization. */ -void ReleaseAccelDriver(struct HdfDeviceObject *device) -{ - (void)device; - struct AccelDrvData *drvData = NULL; - - drvData = AccelGetDrvData(); - (void)DestroySensorThread(&drvData->thread, &drvData->threadStatus); - (void)DeleteSensorDevice(SENSOR_TAG_ACCELEROMETER); - drvData->detectFlag = false; - - if (drvData->accelCfg != NULL) { - drvData->accelCfg->root = NULL; - drvData->accelCfg->regCfgGroup = NULL; - ReleaseSensorAllRegConfig(drvData->accelCfg); - (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); - OsalMemFree(drvData->accelCfg); - drvData->accelCfg = NULL; - } - - drvData->initStatus = false; -} -``` - -1. Configure the acceleration sensor register group. - -You only need to configure the acceleration sensor data according to the template. Template configuration parsing has been implemented via the **InitSensorConfigData** function and only needs to be called during initialization. If new configuration items are added, you need to modify this function accordingly. - -``` -Acceleration sensor data configuration template (accel_config.hcs) -root { - sensorAccelConfig { - accelChipConfig { - /* Sensor information template */ - template sensorInfo { - sensorName = "accelerometer"; /* Acceleration sensor name. The value contains a maximum of 16 bytes. */ - vendorName = "borsh_bmi160"; /* Sensor vendor name. The value contains a maximum of 16 bytes. */ - firmwareVersion = "1.0"; /* Sensor firmware version number. The default value is 1.0. The value contains a maximum of 16 bytes. */ - hardwareVersion = "1.0"; /* Sensor hardware version number. The default value is 1.0. The value contains a maximum of 16 bytes. */ - sensorTypeId = 1; /* Sensor type ID. For details, see SensorTypeTag. */ - sensorId = 1; /* Sensor ID, which is defined by the sensor driver developer. The SensorTypeTag enums are recommended. */ - maxRange = 8; /* Maximum measurement range of the sensor. Set this parameter based on your business requirements. */ - precision = 0; /* Sensor accuracy, which is used together with sensor data reporting. For details, see SensorEvents. */ - power = 230; /* Power consumption of the sensor */ - } - /* Template of the bus type and configuration information used by the sensor */ - template sensorBusConfig { - busType = 0; /* 0 for the I2C bus and 1 for the SPI bus */ - busNum = 6; /* Device ID allocated to the sensor on the chip */ - busAddr = 0; /* Address allocated to the sensor on the chip */ - regWidth = 1; /* Width of the sensor register address */ - regBigEndian = 0; /* Endian mode of the sensor register */ - } - /* Sensor attribute template */ - template sensorAttr { - chipName = ""; /* Sensor chip name */ - chipIdRegister = 0xf; /* Address of the register detecting whether the sensor is in position */ - chipIdValue = 0xd1; /* Value of the register detecting whether the sensor is in position */ - } - } - } -} - -/* You can modify the template configuration based on the differences of sensor devices. If no modification is made, the default template configuration is used. */ -root { - sensorAccelConfig { - accel_bmi160_chip_config : accelChipConfig { - match_attr = "hdf_sensor_accel_driver"; /* The value must be the same as the match_attr field configured for the acceleration sensor. */ - accelInfo :: sensorInfo { - vendorName = "borsh_bmi160"; - sensorTypeId = 1; - sensorId = 1; - } - accelBusConfig :: sensorBusConfig { - busType = 0; /* I2C communication mode */ - busNum = 6; - busAddr = 0x68; - regWidth = 1; /* 1-byte bit width */ - } - accelAttr :: sensorAttr { - chipName = "bmi160"; - chipIdRegister = 0x00; - chipIdValue = 0xd1; - } - accelRegConfig { - /* regAddr: Register address - value: Register value - mask: Mask of the register value - len: Length (in bytes) of the register value - delay: Register delay (in milliseconds) - opsType: Operation type. The options can be 0 (no operation), 1 (read), 2 (write), 3 (read and check), and 4 (bit update). - calType: Calculation type. The options can be 0 (none), 1 (write), 2 (negate), 3 (XOR) 4, (left shift), and 5 (right shift). - shiftNum: Number of shifts - debug: Debugging switch. The value can be 0 (disabled) or 1 (enabled). - save: Data saving switch. The value can be 0 (not save data) or 1 (save data). - */ - /* Groups of sensor register operations. Registers can be configured in sequence based on the groups. */ - /* Register address, register value, mask of the register value, data length of the register value, register delay, operation type, calculation type, number of shifts, debugging switch, data saving switch */ - /* Initialize the register groups. */ - initSeqConfig = [ - 0x7e, 0xb6, 0xff, 1, 5, 2, 0, 0, 0, 0, - 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 - ]; - /* Enable the register groups. */ - enableSeqConfig = [ - 0x7e, 0x11, 0xff, 1, 5, 2, 0, 0, 0, 0, - 0x41, 0x03, 0xff, 1, 0, 2, 0, 0, 0, 0, - 0x40, 0x08, 0xff, 1, 0, 2, 0, 0, 0, 0 - ]; - /* Disable the register groups. */ - disableSeqConfig = [ - 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0 - ]; - } - } - } -} -``` - -1. Implement APIs for acceleration sensor driver operations. - -You need to implement normalized APIs based on sensor types. - -``` -/* Leave a function empty if it is not used. */ -static int32_t SetAccelInfo(struct SensorBasicInfo *info) -{ - (void)info; - - return HDF_ERR_NOT_SUPPORT; -} -/* Deliver the configuration of enabling the register groups. */ -static int32_t SetAccelEnable(void) -{ - int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); - - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); - ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel sensor disable config failed", __func__); - return HDF_FAILURE; - } - - drvData->threadStatus = SENSOR_THREAD_RUNNING; - - return HDF_SUCCESS; -} -/* Deliver the configuration of disabling the register groups. */ -static int32_t SetAccelDisable(void) -{ - int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); - - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); - - ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel sensor disable config failed", __func__); - return HDF_FAILURE; - } - - drvData->threadStatus = SENSOR_THREAD_STOPPED; - - return HDF_SUCCESS; -} -/* Set the sampling interval and data reporting interval of the sensor. */ -static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) -{ - (void)interval; - - struct AccelDrvData *drvData = AccelGetDrvData(); - drvData->interval = samplingInterval; - - return HDF_SUCCESS; -} -/* Set the data reporting mode of the sensor. Currently, the real-time mode is supported. */ -static int32_t SetAccelMode(int32_t mode) -{ - return (mode == SENSOR_WORK_MODE_REALTIME) ? HDF_SUCCESS : HDF_FAILURE; -} -/* Set the sensor options. */ -static int32_t SetAccelOption(uint32_t option) -{ - (void)option; - return HDF_ERR_NOT_SUPPORT; -} -``` - -- Differentiated processing APIs - - ``` - /* If a device is successfully detected, register the differentiated processing function to the accel driver model. */ - int32_t DetectAccelBim160Chip(struct SensorCfgData *data) - { - int32_t ret; - struct AccelOpsCall ops; - CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); - - if (strcmp(ACCEL_CHIP_NAME_BMI160, data->sensorAttr.chipName) != 0) { - return HDF_SUCCESS; - } - ret = InitAccelPreConfig(); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: init BMI160 bus mux config", __func__); - return HDF_FAILURE; - } - if (DetectSensorDevice(data) != HDF_SUCCESS) { - return HDF_FAILURE; - } - - /* Differentiated processing function */ - ops.Init = InitBmi160; - ops.ReadData = ReadBmi160Data; - ret = RegisterAccelChipOps(&ops); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: register BMI160 accel failed", __func__); - (void)ReleaseSensorBusHandle(&data->busCfg); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - /* Initialization processing function */ - static int32_t InitBmi160(struct SensorCfgData *data) - { - int32_t ret; - - CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); - ret = SetSensorRegCfgArray(&data->busCfg, data->regCfgGroup[SENSOR_INIT_GROUP]); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: bmi160 sensor init config failed", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - /* Data processing function */ - int32_t ReadBmi160Data(struct SensorCfgData *data) - { - int32_t ret; - struct AccelData rawData = { 0, 0, 0 }; - int32_t tmp[ACCEL_AXIS_NUM]; - struct SensorReportEvent event; - - (void)memset_s(&event, sizeof(event), 0, sizeof(event)); - - ret = ReadBmi160RawData(data, &rawData, &event.timestamp); - if (ret != HDF_SUCCESS) { - return HDF_FAILURE; - } - - event.sensorId = SENSOR_TAG_ACCELEROMETER; - event.option = 0; - event.mode = SENSOR_WORK_MODE_REALTIME; - - rawData.x = rawData.x * BMI160_ACC_SENSITIVITY_2G; - rawData.y = rawData.y * BMI160_ACC_SENSITIVITY_2G; - rawData.z = rawData.z * BMI160_ACC_SENSITIVITY_2G; - - tmp[ACCEL_X_AXIS] = (rawData.x * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; - tmp[ACCEL_Y_AXIS] = (rawData.y * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; - tmp[ACCEL_Z_AXIS] = (rawData.z * SENSOR_1K_UNIT) / SENSOR_CONVERT_UNIT; - - event.dataLen = sizeof(tmp); - event.data = (uint8_t *)&tmp; - ret = ReportSensorEvent(&event); - return ret; - } - ``` - -- Data processing function - -Create a sensor timer to periodically sample data based on the configured sampling interval and report the data to the data subscriber. - -``` -/* Scheduled working thread of the sensor */ -static int32_t ReadAccelDataThreadWorker(void *arg) -{ - (void)arg; - int64_t interval; - struct AccelDrvData *drvData = AccelGetDrvData(); - - drvData->threadStatus = SENSOR_THREAD_START; - while (true) { - if (drvData->threadStatus == SENSOR_THREAD_RUNNING) { - if (drvData->ops.ReadData != NULL) { - (void)drvData->ops.ReadData(drvData->accelCfg); - } - interval = OsalDivS64(drvData->interval, (SENSOR_CONVERT_UNIT * SENSOR_CONVERT_UNIT)); - OsalMSleep(interval); - } else if (drvData->threadStatus == SENSOR_THREAD_DESTROY) { - break; - } else { - OsalMSleep(ACC_DEFAULT_SAMPLING_200_MS / SENSOR_CONVERT_UNIT / SENSOR_CONVERT_UNIT); - } - - if ((!drvData->initStatus) || (drvData->interval < 0) || drvData->threadStatus != SENSOR_THREAD_RUNNING) { - continue; - } - } - - return HDF_SUCCESS; -} -/* Create a sensor timer and initialize the sensor device. */ -static int32_t InitAccelConfig(void) -{ - int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); - - if (drvData->threadStatus != SENSOR_THREAD_NONE && drvData->threadStatus != SENSOR_THREAD_DESTROY) { - HDF_LOGE("%s: accel thread have created", __func__); - return HDF_SUCCESS; - } - - ret = CreateSensorThread(&drvData->thread, ReadAccelDataThreadWorker, "hdf_sensor_accel", drvData); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel create thread failed", __func__); - drvData->threadStatus = SENSOR_THREAD_NONE; - return HDF_FAILURE; - } - - CHECK_NULL_PTR_RETURN_VALUE(drvData->ops.Init, HDF_ERR_INVALID_PARAM); - - ret = drvData->ops.Init(drvData->accelCfg); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: accel create thread failed", __func__); - drvData->threadStatus = SENSOR_THREAD_NONE; - return HDF_FAILURE; - } - drvData->initStatus = true; - return HDF_SUCCESS; -} -``` - -- Major data structures - -``` -/* Sensor conversion units */ -#define SENSOR_CONVERT_UNIT 1000 -#define SENSOR_1K_UNIT 1024 -/* Sensitivity conversion value of the sensor with a 2g measurement range */ -#define BMI160_ACC_SENSITIVITY_2G 61 -/* Address of the sensor data sampling register */ -#define BMI160_ACCEL_X_LSB_ADDR 0X12 -#define BMI160_ACCEL_X_MSB_ADDR 0X13 -#define BMI160_ACCEL_Y_LSB_ADDR 0X14 -#define BMI160_ACCEL_Y_MSB_ADDR 0X15 -#define BMI160_ACCEL_Z_LSB_ADDR 0X16 -#define BMI160_ACCEL_Z_MSB_ADDR 0X17 -/* Data dimension of the sensor */ -enum AccelAxisNum { - ACCEL_X_AXIS = 0, - ACCEL_Y_AXIS = 1, - ACCEL_Z_AXIS = 2, - ACCEL_AXIS_NUM = 3, -}; -/* Each dimension of the sensor */ -struct AccelData { - int32_t x; - int32_t y; - int32_t z; -}; -/* Private data structure of the sensor */ -struct AccelDrvData { - bool detectFlag; - uint8_t threadStatus; - uint8_t initStatus; - int64_t interval; - struct SensorCfgData *accelCfg; - struct OsalThread thread; - struct AccelOpsCall ops; -}; -/* Differentiation adaptation function */ -struct AccelOpsCall { - int32_t (*Init)(struct SensorCfgData *data); - int32_t (*ReadData)(struct SensorCfgData *data); -}; -``` - diff --git a/en/device-dev/driver/sensor-driver-development-guidelines.md b/en/device-dev/driver/sensor-driver-development-guidelines.md deleted file mode 100644 index afbb833cac7..00000000000 --- a/en/device-dev/driver/sensor-driver-development-guidelines.md +++ /dev/null @@ -1,16 +0,0 @@ -# Sensor Driver Development Guidelines - -- [How to Develop](#section18816105182315) - -Regardless of the OS and system on a chip \(SoC\), the sensor driver is developed based on the HDF, platform, and OSAL APIs to provide a unified driver model for sensor devices. This section uses the acceleration sensor as an example to describe how to develop a sensor driver. - -## How to Develop - -1. Register the acceleration sensor driver. The HDF provides a unified driver management model. The HDF identifies and loads the target module driver based on the configuration information of the acceleration sensor module. -2. Initialize and deinitialize the acceleration sensor driver. Using the **init** function, the HDF starts loading the sensor device driver and allocating configuration resources for sensor device data, respectively. Using the **release** function, the HDF releases the resources and configurations loaded by the driver. -3. Parse the configurations of the acceleration sensor register group. For different types of sensors, you need to configure their respective HCS configuration files in the HCS, check whether the sensor device is in position during the device driver startup, and then load the corresponding configuration file to generate the configuration structure object. -4. Implement APIs for acceleration sensor driver operations. The driver APIs for various types of sensors, such as **init**, **GetInfo**, **Enable**, **Disable**, **SetBatch**, **SetMode**, **SetOption**, and **ReadSensorData**, are normalized to deliver sensor driver configurations and report sensor data. - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->The sensor driver model provides a collection of APIs to implement sensor driver capabilities, including the driver device management capabilities, abstract bus and platform operation capabilities, general configuration capabilities, and configuration parsing capabilities. For details about the APIs, see [Table 2](sensor-driver-overview.md#table1156812588320). You need to implement the following APIs: some operations to perform on sensors \([Table 3](sensor-driver-overview.md#table1083014911336)\), differentiated data configuration of the sensor HCS, and verification of basic driver functions. - diff --git a/en/device-dev/driver/sensor-driver-test-guidelines.md b/en/device-dev/driver/sensor-driver-test-guidelines.md deleted file mode 100644 index 042112036cd..00000000000 --- a/en/device-dev/driver/sensor-driver-test-guidelines.md +++ /dev/null @@ -1,82 +0,0 @@ -# Sensor Driver Test Guidelines - -After the driver is developed, you can develop self-test cases in the sensor unit test to verify the basic functions of the driver. The developer self-test platform is used as the test environment. - -``` -/* Specify whether to report sensor data. */ -static int32_t g_sensorDataFlag = 0; -/* Retain the address of the sensor interface instance. */ -static const struct SensorInterface *g_sensorDev = nullptr; - -/* Register the data reporting function. */ -static int SensorTestDataCallback(struct SensorEvents *event) -{ - if (event == nullptr) { - return -1; - } - float *data = (float*)event->data; - printf("time [%lld] sensor id [%d] x-[%f] y-[%f] z-[%f]\n\r", event->timestamp, - event->sensorId, (*data), *(data + 1), *(data + g_axisZ)); - if (*data > 1e-5) { - g_sensorDataFlag = 1; - } - return 0; -} -/* Initialize the sensor interface instance before executing the test cases. */ -void HdfSensorTest::SetUpTestCase() -{ - g_sensorDev = NewSensorInterfaceInstance(); - if (g_sensorDev == nullptr) { - printf("test sensorHdi get Module instace failed\n\r"); - } -} -/* Release case resources. */ -void HdfSensorTest::TearDownTestCase() -{ - if (g_sensorDev != nullptr) { - FreeSensorInterfaceInstance(); - g_sensorDev = nullptr; - } -} -/* Verify the sensor driver. */ -HWTEST_F(HdfSensorTest,TestAccelDriver_001, TestSize.Level0) -{ - int32_t sensorInterval = 1000000000; /* Data sampling interval, in nanoseconds */ - int32_t pollTime = 5; /* Data sampling duration, in seconds */ - int32_t accelSensorId = 1; /* Acceleration sensor type ID, which is 1 */ - int32_t count = 0; - int ret; - struct SensorInformation *sensorInfo = nullptr; - - ret = g_sensorDev->Register(SensorTestDataCallback) - EXPECT_EQ(SENSOR_NULL_PTR, ret); - - ret = g_sensorDev->GetAllSensors(&sensorInfo, &count); - EXPECT_EQ(0, ret); - if (sensorInfo == nullptr) { - EXPECT_NE(nullptr, sensorInfo); - return; - } - /* Print the obtained sensor list. */ - for (int i = 0; i < count; i++) { - printf("get sensoriId[%d], info name[%s]\n\r", sensorInfo[i]->sensorId, sensorInfo[i]->sensorName); - } - ret = g_sensorDev->Enable(accelSensorId); - EXPECT_EQ(0, ret); - g_sensorDataFlag = 0; - - ret = g_sensorDev->SetBatch(accelSensorId, sensorInterval, pollTime); - EXPECT_EQ(0, ret); - /* Observe the printed data within the period specified by pollTime. */ - OsalSleep(pollTime); - EXPECT_EQ(1, g_sensorDataFlag); - - ret = g_sensorDev->Disable(accelSensorId); - g_sensorDataFlag = 0; - EXPECT_EQ(0, ret); - - ret = g_sensorDev->Unregister(); - EXPECT_EQ(0, ret); -} -``` - diff --git a/en/device-dev/driver/sensor.md b/en/device-dev/driver/sensor.md deleted file mode 100644 index f9e8d552c0c..00000000000 --- a/en/device-dev/driver/sensor.md +++ /dev/null @@ -1,11 +0,0 @@ -# SENSOR - -- **[Sensor Driver Overview](sensor-driver-overview.md)** - -- **[Sensor Driver Development Guidelines](sensor-driver-development-guidelines.md)** - -- **[Sensor Driver Development Example](sensor-driver-development-example.md)** - -- **[Sensor Driver Test Guidelines](sensor-driver-test-guidelines.md)** - - diff --git a/en/device-dev/driver/spi.md b/en/device-dev/driver/spi.md deleted file mode 100644 index c635810c74c..00000000000 --- a/en/device-dev/driver/spi.md +++ /dev/null @@ -1,9 +0,0 @@ -# SPI - -- **[SPI Overview](spioverview.md)** - -- **[SPI Usage Guidelines](spiusage-guidelines.md)** - -- **[SPI Usage Example](spiusage-example.md)** - - diff --git a/en/device-dev/driver/spioverview.md b/en/device-dev/driver/spioverview.md deleted file mode 100644 index 46303b336ba..00000000000 --- a/en/device-dev/driver/spioverview.md +++ /dev/null @@ -1,107 +0,0 @@ -# SPI Overview - -- [Introduction](#section9202632114011) -- [Available APIs](#section1859594134119) - -## Introduction - -- Serial Peripheral Interface \(SPI\) is a serial bus specification used for high-speed, full-duplex, and synchronous communication. -- SPI is developed by Motorola. It is commonly used for communication with flash memory, real-time clocks, sensors, and analog-to-digital \(A/D\) converters. -- SPI works in controller/device mode. Generally, there is one SPI controller that controls one or more SPI devices. They are connected via four wires: - - SCLK: clock signals output from the SPI controller - - MOSI: data output from the SPI controller and input into an SPI device - - MISO: data output from an SPI device and input into the SPI controller - - CS: signals enabled by an SPI device and controlled by the SPI controller - - -- [Figure 1](#fig15227181812587) shows the connection between one SPI controller and two SPI devices \(device A and device B\). In this figure, device A and device B share three pins \(SCLK, MISO, and MOSI\) of the controller. CS0 of device A and CS1 of device B are connected to CS0 and CS1 of the controller, respectively. - -**Figure 1** SPI controller/device connection - - -![](figures/en-us_image_0000001054142582.png) - -- SPI communication is usually initiated by the SPI controller and is operated as follows: - -1. A single SPI device is selected at a time via the CS to communicate with the SPI controller. -2. Clock signals are provided for the selected SPI device via the SCLK. -3. The SPI controller sends data to SPI devices via the MOSI, and receives data from SPI devices via the MISO. - -- SPI can work in one of the following four modes, equivalent to one of the four possible states for Clock Polarity \(CPOL\) and Clock Phase \(CPHA\): - - If both CPOL and CPHA are **0**, the clock signal level is low in the idle state and data is sampled on the first clock edge. - - If CPOL is **0** and CPHA is **1**, the clock signal level is low in the idle state and data is sampled on the second clock edge. - - If CPOL is **1** and CPHA is **0**, the clock signal level is high in the idle state and data is sampled on the first clock edge. - - If both CPOL and CPHA are **1**, the clock signal level is high in the idle state and data is sampled on the second clock edge. - - -- SPI defines a set of common functions for operating an SPI device, including those for: - - Obtaining and releasing the handle of an SPI device. - - Reading or writing data of a specified length from or into an SPI device. - - Customizing data reading or writing via **SpiMsg**. - - Obtaining and setting SPI device configuration parameters. - - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->Currently, these functions are only applicable in the communication initiated by the SPI controller. - -## Available APIs - -**Table 1** APIs for the SPI driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    SPI device handle obtaining/releasing

    -

    SpiOpen

    -

    Obtains an SPI device handle.

    -

    SpiClose

    -

    Releases an SPI device handle.

    -

    SPI reading/writing

    -

    SpiRead

    -

    Reads data of a specified length from an SPI device.

    -

    SpiWrite

    -

    Writes data of a specified length into an SPI device.

    -

    SpiTransfer

    -

    Transfers SPI data.

    -

    SPI device configuration

    -

    -

    SpiSetCfg

    -

    Sets configuration parameters for an SPI device.

    -

    SpiGetCfg

    -

    Obtains configuration parameters of an SPI device.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions provided in this document can be called only in kernel space. - diff --git a/en/device-dev/driver/spiusage-example.md b/en/device-dev/driver/spiusage-example.md deleted file mode 100644 index f3d6cb2b6f6..00000000000 --- a/en/device-dev/driver/spiusage-example.md +++ /dev/null @@ -1,70 +0,0 @@ -# SPI Usage Example - -The following is a usage example of an SPI device, including how to obtain an SPI device handle, set the configuration parameters, and then read or write data from or into the SPI device, and finally destroy the SPI device handle. - -``` -#include "hdf_log.h" -#include "spi_if.h" - -void SpiTestSample(void) -{ - int32_t ret; - struct SpiCfg cfg; /* SPI device configuration information */ - struct SpiDevInfo spiDevinfo; /* SPI device descriptor */ - DevHandle spiHandle = NULL; /* SPI device handle */ - struct SpiMsg msg; /* Custom message to be transferred */ - uint8_t rbuff[4] = { 0 }; - uint8_t wbuff[4] = { 0x12, 0x34, 0x56, 0x78 }; - uint8_t wbuff2[4] = { 0xa1, 0xb2, 0xc3, 0xd4 }; - - spiDevinfo.busNum = 0; /* SPI device bus number */ - spiDevinfo.csNum = 0; /* SPI device CS number */ - spiHandle = SpiOpen(&spiDevinfo); /* Obtain an SPI device handle based on spiDevinfo. */ - if (spiHandle == NULL) { - HDF_LOGE("SpiOpen: failed\n"); - return; - } - /* Obtain configuration parameters of an SPI device. */ - ret = SpiGetCfg(spiHandle, &cfg); - if (ret != 0) { - HDF_LOGE("SpiGetCfg: failed, ret %d\n", ret); - goto err; - } - cfg.maxSpeedHz = 115200; /* Change the maximum clock frequency to 115200. */ - cfg.bitsPerWord = 8; /* Change the word width to 8 bits. */ - /* Set configuration parameters for an SPI device. */ - ret = SpiSetCfg(spiHandle, &cfg); - if (ret != 0) { - HDF_LOGE("SpiSetCfg: failed, ret %d\n", ret); - goto err; - } - /* Write specified length of data into an SPI device. */ - ret = SpiWrite(spiHandle, wbuff, 4); - if (ret != 0) { - HDF_LOGE("SpiWrite: failed, ret %d\n", ret); - goto err; - } - /* Read data of a specified length from an SPI device. */ - ret = SpiRead(spiHandle, rbuff, 4); - if (ret != 0) { - HDF_LOGE("SpiRead: failed, ret %d\n", ret); - goto err; - } - msg.wbuf = wbuff2; /* Pointer to the data to write */ - msg.rbuf = rbuff; /* Pointer to the data to read */ - msg.len = 4; /* The length of the data to be read or written is 4 bits. */ - msg.csChange = 1; /* Disable the CS before the next transfer. */ - msg.delayUs = 0; /* No delay before the next transfer */ - msg.speed = 115200; /* Speed of this transfer */ - /* Launch a custom transfer. The number of messages to be transferred is 1. */ - ret = SpiTransfer(spiHandle, &msg, 1); - if (ret != 0) { - HDF_LOGE("SpiTransfer: failed, ret %d\n", ret); - goto err; - } -err: - /* Destroy the SPI device handle. */ - SpiClose(spiHandle); -} -``` - diff --git a/en/device-dev/driver/touchscreen.md b/en/device-dev/driver/touchscreen.md deleted file mode 100644 index 49b35d23fb1..00000000000 --- a/en/device-dev/driver/touchscreen.md +++ /dev/null @@ -1,9 +0,0 @@ -# TOUCHSCREEN - -- **[Touchscreen Overview](touchscreenoverview.md)** - -- **[Touchscreen Development Guidelines](touchscreendevelopment-guidelines.md)** - -- **[Touchscreen Development Example](touchscreendevelopment-example.md)** - - diff --git a/en/device-dev/driver/touchscreendevelopment-guidelines.md b/en/device-dev/driver/touchscreendevelopment-guidelines.md deleted file mode 100644 index 9e1543c1e66..00000000000 --- a/en/device-dev/driver/touchscreendevelopment-guidelines.md +++ /dev/null @@ -1,35 +0,0 @@ -# Touchscreen Development Guidelines - -- [How to Develop](#section1255740132616) - -Regardless of the OS and system on a chip \(SoC\), the input driver is developed based on the HDF, platform, and OSAL APIs to provide a unified driver model for touchscreen devices. - -- The following uses the touchscreen driver as an example to describe the loading process of the input driver model: - - Add the touchscreen driver-related descriptions: You can add the touchscreen driver-related descriptions, such as the loading priority, board-level hardware information, and private data, by referring to the existing template. - - - Load the input device manager driver: The HDF automatically loads the input device manager driver, which then creates the device manager and initializes it. - - - Load the touchscreen common driver: The HDF automatically loads the touchscreen common driver, which then parses the board-level configuration, initializes the hardware, and provides the API for registering the touchscreen. - - - Load the touchscreen chip driver: The HDF automatically loads the touchscreen chip driver, which then instantiates the touchscreen device, parses the private data, and implements differentiated APIs provided by the platform. - - - Register the touchscreen device with the platform driver: Register the instantiated touchscreen device with the platform driver, bind this device to the platform driver, and complete touchscreen initialization such as interrupt registration and power-on and power-off. - - - Register the input device: Instantiate the input device and register it with the input manager after the touchscreen is initialized. - - -## How to Develop - -1. Add the touchscreen driver-related descriptions. - - Currently, the input driver is developed based on the HDF and is loaded and started by the HDF. Register the driver information, such as whether to load the driver and the loading priority in the configuration file. Then, the HDF starts the registered driver modules one by one. For details about the driver configuration, see [How to Develop](driver-development.md#section1969312275533). - -2. Complete the board-level configuration and private data configuration of the touchscreen. - - Configure the required I/O pins. For example, configure a register for the I2C pin reserved for the touchscreen to use I2C for transmitting data. - -3. Implement differentiated adaptation APIs of the touchscreen. - - Use the platform APIs to perform operations for the reset pins, interrupt pins and power based on the communications interfaces designed for boards. For details about the GPIO-related operations, see [GPIO Usage Guidelines](gpiousage-guidelines.md). - - diff --git a/en/device-dev/driver/touchscreenoverview.md b/en/device-dev/driver/touchscreenoverview.md deleted file mode 100644 index b136894e5ad..00000000000 --- a/en/device-dev/driver/touchscreenoverview.md +++ /dev/null @@ -1,71 +0,0 @@ -# Touchscreen Overview - -- [Introduction](#section124332411260) -- [Available APIs](#section10542625172618) - -## Introduction - -- **Functions of the Touchscreen driver** - - The Touchscreen driver is used to power on its integrated circuit \(IC\), configure and initialize hardware pins, register interrupts, configure Inter-Integrated Circuit \(I2C\) or SPI APIs, set input-related configurations, and download and update firmware. - - -- **Layers of the Touchscreen driver** - - This section describes how to develop the touchscreen driver based on the input driver model. [Figure 1](#fig6251184817261) shows an overall architecture of the touchscreen driver. - - The input driver is developed based on the hardware driver foundation \(HDF\), platform APIs, and operating system abstraction layer \(OSAL\) APIs. It provides hardware driver capabilities through the input Hardware Driver Interfaces \(HDIs\) for upper-layer input services to control the touchscreen. - - -**Figure 1** Architecture of the input driver model -![](figures/architecture-of-the-input-driver-model.png "architecture-of-the-input-driver-model") - -- **Input driver model** - - The input driver model mainly consists of the device manager, common drivers, and chip drivers. The platform data channel provides capabilities for sending data generated by the touchscreen from the kernel to the user space. The driver model adapts to different touchscreen devices and hardware platforms via the configuration file, improving the efficiency of the touchscreen development. The description for each part of the input driver model is as follows: - - - Input device manager: provides various input device drivers with the APIs for registering or unregistering input devices and manages the input device list. - - - Input common driver: provides common abstract drivers \(such as the touchscreen common driver\) of various input devices for initializing the board-level hardware, processing hardware interrupts, and registering input devices with the input device manager. - - - Input chip driver: provides different chip drivers of each vendor. You can minimize the workload for the input chip driver development by calling differentiated APIs reserved by the input platform driver. - - - Event hub: provides a unified data reporting channel, which enables various input devices to report input events. - - - HDF input config: parses and manages the board-level configuration as well as the private configuration of input devices. - - -- **Advantages of developing drivers based on the HDF** - - The touchscreen driver is developed based on the HDF and is implemented via calls to the OSAL and platform APIs, including bus APIs and OS native APIs \(such as memory, lock, thread, and timer\). The OSAL and platform APIs hide the differences of underlying hardware, so that the touchscreen driver can be migrated across platforms and OSs. In this regard, you can develop the touchscreen driver only once but deploy it on multiple devices. - - -## Available APIs - -Based on the attributes of the pins, interfaces on the touchscreens can be classified into the following types: - -- Power interfaces -- I/O control interfaces -- Communications interfaces - -**Figure 2** Common pins of the touchscreen -![](figures/common-pins-of-the-touchscreen.png "common-pins-of-the-touchscreen") - -The interfaces shown in the figure are described as follows: - -1. **Power interfaces** - - LDO\_1P8: 1.8 V digital circuits - - LDO\_3P3: 3.3 V analog circuits - - Generally, the touchscreen driver IC is separated from the LCD driver IC. In this case, the touchscreen driver IC requires both 1.8 V and 3.3 V power supplies. Nowadays, the touchscreen driver IC and LCD driver IC can be integrated. Therefore, the touchscreen, requires only the 1.8 V power supply, and the 3.3 V power required internally is supplied by the LCD VSP power \(typical value: 5.5 V\) in the driver IC. - - -2. **I/O control interfaces** - - RESET: reset pin, which is used to reset the driver IC on the host when suspending or resuming the system. - - INT: interrupt pin, which needs to be set to the input direction and pull-up status during driver initialization. After detecting an external touch signal, the driver triggers the interrupt by operating the interrupt pin. The driver reads the touch reporting data in the ISR function. - -3. **Communications interfaces** - - I2C: Since only a small amount of touch data is reported by the touchscreen, I2C is used to transmit the reported data. For details about the I2C protocol and interfaces, see [I2C Usage Guidelines](i2c-usage-guidelines.md). - - SPI: In addition to touch reporting data coordinates, some vendors need to obtain basic capacitance data. Therefore, Serial Peripheral Interface \(SPI\) is used to transmit such huge amount of data. For details about the SPI protocol and interfaces, see [SPI Usage Guidelines](spiusage-guidelines.md). - - diff --git a/en/device-dev/driver/uart.md b/en/device-dev/driver/uart.md deleted file mode 100644 index 9abd98bb4e6..00000000000 --- a/en/device-dev/driver/uart.md +++ /dev/null @@ -1,9 +0,0 @@ -# UART - -- **[UART Overview](uartoverview.md)** - -- **[UART Usage Guidelines](uartusage-guidelines.md)** - -- **[UART Usage Example](uartusage-example.md)** - - diff --git a/en/device-dev/driver/uartoverview.md b/en/device-dev/driver/uartoverview.md deleted file mode 100644 index 2238f2ca556..00000000000 --- a/en/device-dev/driver/uartoverview.md +++ /dev/null @@ -1,106 +0,0 @@ -# UART Overview - -- [Introduction](#section14770623164917) -- [Available APIs](#section149505462492) - -## Introduction - -- The Universal Asynchronous Receiver/Transmitter \(UART\) is a universal serial data bus used for asynchronous communication. It enables bi-directional communication between devices in full-duplex mode. -- UART is widely used to print information for debugging or to connect to various external modules such as GPS and Bluetooth. -- A UART is connected to other modules through two wires \(as shown in [Figure 1](#fig209936401896)\) or four wires \(as shown in [Figure 2](#fig1435614171015)\). - - TX: TX pin of the transmitting UART. It is connected to the RX pin of the peer UART. - - RX: RX pin of the receiving UART. It is connected to the TX pin of the peer UART. - - RTS: Request to Send signal pin. It is connected to the CTS pin of the peer UART and is used to indicate whether the local UART is ready to receive data. - - CTS: Clear to Send signal pin. It is connected to the RTS pin of the peer UART and is used to indicate whether the local UART is allowed to send data to the peer end. - - **Figure 1** 2-wire UART communication - - - ![](figures/en-us_image_0000001053926237.png) - - **Figure 2** 4-wire UART communication - - - ![](figures/en-us_image_0000001054007499.png) - - -- The transmitting and receiving UARTs must ensure that they have the same settings on particular attributes such as the baud rate and data format \(start bit, data bit, parity bit, and stop bit\) before they start to communicate. During data transmission, a UART sends data to the peer end over the TX pin and receives data from the peer end over the RX pin. When the size of the buffer used by a UART for storing received data reaches the preset threshold, the RTS signal of the UART changes to **1** \(data cannot be received\), and the peer UART stops sending data to it because its CTS signal does not allow it to send data. -- The UART interface defines a set of common functions for operating a UART port, including obtaining and releasing device handles, reading and writing data of a specified length, and obtaining and setting the baud rate, as well as the device attributes. - -## Available APIs - -**Table 1** APIs for the UART driver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    Obtaining and releasing device handles

    -

    -

    UartOpen

    -

    Obtains the UART device handle.

    -

    UartClose

    -

    Releases a specified UART device handle.

    -

    Reading and writing data

    -

    -

    UartRead

    -

    Reads data of a specified length from a UART device.

    -

    UartWrite

    -

    Writes data of a specified length into a UART device.

    -

    Obtaining and setting the baud rate

    -

    UartGetBaud

    -

    Obtains the UART baud rate.

    -

    UartSetBaud

    -

    Sets the UART baud rate.

    -

    Obtaining and setting device attributes

    -

    -

    UartGetAttribute

    -

    Obtains the UART device attributes.

    -

    UartSetAttribute

    -

    Sets the UART device attributes.

    -

    Setting the transmission mode

    -

    UartSetTransMode

    -

    Sets the UART transmission mode.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All functions provided in this document can be called only in kernel space. - diff --git a/en/device-dev/driver/uartusage-example.md b/en/device-dev/driver/uartusage-example.md deleted file mode 100644 index 32572d40521..00000000000 --- a/en/device-dev/driver/uartusage-example.md +++ /dev/null @@ -1,67 +0,0 @@ -# UART Usage Example - -The following is a usage example of a UART device, including how to obtain the UART device handle, set the baud rate, device attributes, and transmission mode, read data from or write data into the UART device, and then destroy the UART device handle. - -``` -#include "hdf_log.h" -#include "uart_if.h" - -void UartTestSample(void) -{ - int32_t ret; - uint32_t port; - DevHandle handle = NULL; - uint8_t wbuff[5] = { 1, 2, 3, 4, 5 }; - uint8_t rbuff[5] = { 0 }; - struct UartAttribute attribute; - attribute.dataBits = UART_ATTR_DATABIT_7; /* Set the number of data bits to 7. */ - attribute.parity = UART_ATTR_PARITY_NONE; /* Set the parity bit to no parity. */ - attribute.stopBits = UART_ATTR_STOPBIT_1; /* Set the stop bit to 1. */ - attribute.rts = UART_ATTR_RTS_DIS; /* Disable the RTS signal. */ - attribute.cts = UART_ATTR_CTS_DIS; /* Disable the CTS signal. */ - attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; /* Enable RX FIFO. */ - attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN; /* Enable TX FIFO. */ - /* Set the UART port number actually used. */ - port = 1; - /* Obtain the UART device handle. */ - handle = UartOpen(port); - if (handle == NULL) { - HDF_LOGE("UartOpen: failed!\n"); - return; - } - /* Set the UART baud rate to 9600. */ - ret = UartSetBaud(handle, 9600); - if (ret != 0) { - HDF_LOGE("UartSetBaud: failed, ret %d\n", ret); - goto _ERR; - } - /* Set the UART device attributes. */ - ret = UartSetAttribute(handle, &attribute); - if (ret != 0) { - HDF_LOGE("UartSetAttribute: failed, ret %d\n", ret); - goto _ERR; - } - /* Set the UART transmission mode to non-blocking mode. */ - ret = UartSetTransMode(handle, UART_MODE_RD_NONBLOCK); - if (ret != 0) { - HDF_LOGE("UartSetTransMode: failed, ret %d\n", ret); - goto _ERR; - } - /* Write 5-byte data into the UART device. */ - ret = UartWrite(handle, wbuff, 5); - if (ret != 0) { - HDF_LOGE("UartWrite: failed, ret %d\n", ret); - goto _ERR; - } - /* Read 5-byte data from the UART device. */ - ret = UartRead(handle, rbuff, 5); - if (ret < 0) { - HDF_LOGE("UartRead: failed, ret %d\n", ret); - goto _ERR; - } -_ERR: - /* Destroy the UART device handle. */ - UartClose(handle); -} -``` - diff --git a/en/device-dev/driver/usage-example.md b/en/device-dev/driver/usage-example.md deleted file mode 100644 index e16e8f2eead..00000000000 --- a/en/device-dev/driver/usage-example.md +++ /dev/null @@ -1,98 +0,0 @@ -# Usage Example - -The following is an example of using a MIPI DSI device: - -``` -#include "hdf.h" -#include "mipi_dsi_if.h" - -void PalMipiDsiTestSample(void) -{ - uint8_t chnId; - int32_t ret; - DevHandle handle = NULL; - - /* Device channel ID */ - chnId = 0; - /* Obtain the MIPI DSI device handle based on a specified channel ID. */ - handle = MipiDsiOpen(chnId); - if (handle == NULL) { - HDF_LOGE("MipiDsiOpen: failed!\n"); - return; - } - /* MIPI DSI configuration parameters */ - struct MipiCfg cfg = {0}; - cfg.lane = DSI_4_LANES; - cfg.mode = DSI_CMD_MODE; - cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; - cfg.format = FORMAT_RGB_24_BIT; - cfg.pixelClk = 174; - cfg.phyDataRate = 384; - cfg.timingInfo.hsaPixels = 50; - cfg.timingInfo.hbpPixels = 55; - cfg.timingInfo.hlinePixels = 1200; - cfg.timingInfo.yResLines = 1800; - cfg.timingInfo.vbpLines = 33; - cfg.timingInfo.vsaLines = 76; - cfg.timingInfo.vfpLines = 120; - cfg.timingInfo.xResPixels = 1342; - /* Set MIPI DSI configuration parameters. */ - ret = MipiDsiSetCfg(g_handle, &cfg); - if (ret != 0) { - HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); - return; - } - /* Send the command for initializing the PANEL register. */ - struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); - if (cmd == NULL) { - return; - } - cmd->dtype = DTYPE_DCS_WRITE; - cmd->dlen = 1; - cmd->payload = OsalMemCalloc(sizeof(uint8_t)); - if (cmd->payload == NULL) { - HdfFree(cmd); - return; - } - *(cmd->payload) = DTYPE_GEN_LWRITE; - MipiDsiSetLpMode(mipiHandle); - ret = MipiDsiTx(mipiHandle, cmd); - MipiDsiSetHsMode(mipiHandle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: MipiDsiTx fail! ret=%d\n", __func__, ret); - HdfFree(cmd->payload); - HdfFree(cmd); - return; - } - HdfFree(cmd->payload); - HdfFree(cmd); - /* Pointer to the register that reads the PANEL status */ - uint8_t readVal = 0; - struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); - if (cmdRead == NULL) { - return; - } - cmdRead->dtype = DTYPE_DCS_READ; - cmdRead->dlen = 1; - cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); - if (cmdRead->payload == NULL) { - HdfFree(cmdRead); - return; - } - *(cmdRead->payload) = DDIC_REG_STATUS; - MipiDsiSetLpMode(g_handle); - ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); - MipiDsiSetHsMode(g_handle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); - HdfFree(cmdRead->payload); - HdfFree(cmdRead); - return; - } - HdfFree(cmdRead->payload); - HdfFree(cmdRead); - /* Release the MIPI DSI device handle. */ - MipiDsiClose(handle); -} -``` - diff --git a/en/device-dev/driver/usage-guidelines.md b/en/device-dev/driver/usage-guidelines.md deleted file mode 100644 index 1934eaf6e0b..00000000000 --- a/en/device-dev/driver/usage-guidelines.md +++ /dev/null @@ -1,365 +0,0 @@ -# Usage Guidelines - -- [How to Use](#section8982671284) -- [Obtaining a MIPI DSI Device Handle](#section57982569176) -- [Setting MIPI DSI Configuration Parameters](#section5935410201815) -- [Sending/Receiving the Pointer to a Command](#section611661316194) -- [Releasing the MIPI DSI Device Handle](#section217313211199) - -## How to Use - -[Figure 1](#fig99821771782) shows the process of using a MIPI DSI device. - -**Figure 1** Process of using a MIPI DSI device - - -![](figures/en-us_image_0000001072553354.png) - -## Obtaining a MIPI DSI Device Handle - -Before performing MIPI DSI communication, obtain a MIPI DSI device handle by calling **MipiDsiOpen**. This function returns a MIPI DSI device handle with a specified channel ID. - -DevHandle MipiDsiOpen\(uint8\_t id\); - -**Table 1** Description of **MipiDsiOpen** - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    id

    -

    MIPI DSI channel ID.

    -

    Return Value

    -

    Description

    -

    NULL

    -

    Failed to obtain the MIPI DSI channel ID.

    -

    Device handle

    -

    MIPI DSI device handle with a specified channel ID, whose data type is DevHandle.

    -
    - -The following example shows how to obtain a MIPI DSI device handle with the channel ID **0**: - -``` -DevHandle mipiDsiHandle = NULL; /* Device handle */ -chnId = 0; /* MIPI DSI channel ID */ - -/* Obtain the MIPI DSI device handle based on a specified channel ID. */ -mipiDsiHandle = MipiDsiOpen(chnId); -if (mipiDsiHandle == NULL) { - HDF_LOGE("MipiDsiOpen: failed\n"); - return; -} -``` - -## Setting MIPI DSI Configuration Parameters - -- Set MIPI DSI configuration parameters by calling the following function: - -int32\_t MipiDsiSetCfg\(DevHandle handle, struct MipiCfg \*cfg\); - -**Table 2** Description of **MipiDsiSetCfg** - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    handle

    -

    MIPI DSI device handle

    -

    cfg

    -

    Pointer to MIPI DSI configuration parameters

    -

    Return Value

    -

    Description

    -

    0

    -

    Succeeded in setting MIPI DSI configuration parameters.

    -

    Negative value

    -

    Failed to set MIPI DSI configuration parameters.

    -
    - -``` -int32_t ret; -struct MipiCfg cfg = {0}; - -/* Configuration parameters of the connected device are as follows: */ -cfg.lane = DSI_4_LANES; -cfg.mode = DSI_CMD_MODE; -cfg.burstMode = VIDEO_NON_BURST_MODE_SYNC_EVENTS; -cfg.format = FORMAT_RGB_24_BIT; -cfg.pixelClk = 174; -cfg.phyDataRate = 384; -cfg.timingInfo.hsaPixels = 50; -cfg.timingInfo.hbpPixels = 55; -cfg.timingInfo.hlinePixels = 1200; -cfg.timingInfo.yResLines = 1800; -cfg.timingInfo.vbpLines = 33; -cfg.timingInfo.vsaLines = 76; -cfg.timingInfo.vfpLines = 120; -cfg.timingInfo.xResPixels = 1342; -/* Set MIPI DSI configuration parameters. */ -ret = MipiDsiSetCfg(g_handle, &cfg); -if (ret != 0) { - HDF_LOGE("%s: SetMipiCfg fail! ret=%d\n", __func__, ret); - return -1; -} -``` - -- Obtain MIPI DSI configuration parameters by calling the following function: - -int32\_t MipiDsiGetCfg\(DevHandle handle, struct MipiCfg \*cfg\); - -**Table 3** Description of **MipiDsiGetCfg** - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    handle

    -

    MIPI DSI device handle

    -

    cfg

    -

    Pointer to MIPI DSI configuration parameters

    -

    Return Value

    -

    Description

    -

    0

    -

    Succeeded in obtaining MIPI DSI configuration parameters.

    -

    Negative value

    -

    Failed to obtain MIPI DSI configuration parameters.

    -
    - -``` -int32_t ret; -struct MipiCfg cfg; -memset(&cfg, 0, sizeof(struct MipiCfg)); -ret = MipiDsiGetCfg(g_handle, &cfg); -if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: GetMipiCfg fail!\n", __func__); - return HDF_FAILURE; -} -``` - -## Sending/Receiving the Pointer to a Command - -- Send the pointer to a specified command by calling the following function: - -int32\_t MipiDsiTx\(PalHandle handle, struct DsiCmdDesc \*cmd\); - -**Table 4** Description of **MipiDsiTx** - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    handle

    -

    MIPI DSI device handle

    -

    cmd

    -

    Pointer to the command to be sent

    -

    Return Value

    -

    Description

    -

    0

    -

    Succeeded in sending the specified command.

    -

    Negative value

    -

    Failed to send the specified command.

    -
    - -``` -int32_t ret; -struct DsiCmdDesc *cmd = OsalMemCalloc(sizeof(struct DsiCmdDesc)); -if (cmd == NULL) { - return HDF_FAILURE; -} -cmd->dtype = DTYPE_DCS_WRITE; -cmd->dlen = 1; -cmd->payload = OsalMemCalloc(sizeof(uint8_t)); -if (cmd->payload == NULL) { - HdfFree(cmd); - return HDF_FAILURE; -} -*(cmd->payload) = DTYPE_GEN_LWRITE; -MipiDsiSetLpMode(mipiHandle); -ret = MipiDsiTx(mipiHandle, cmd); -MipiDsiSetHsMode(mipiHandle); -if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: PalMipiDsiTx fail! ret=%d\n", __func__, ret); - HdfFree(cmd->payload); - HdfFree(cmd); - return HDF_FAILURE; -} -HdfFree(cmd->payload); -HdfFree(cmd); -``` - -- Receive a specified command by calling the following function: - -int32\_t MipiDsiRx\(DevHandle handle, struct DsiCmdDesc \*cmd, uint32\_t readLen, uint8\_t \*out\); - -**Table 5** Description of **MipiDsiRx** - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    handle

    -

    MIPI DSI device handle

    -

    cmd

    -

    Pointer to the command to be received

    -

    readLen

    -

    Length of the data to read.

    -

    out

    -

    Pointer to the read data.

    -

    Return Value

    -

    Description

    -

    0

    -

    Succeeded in receiving the specified command.

    -

    Negative value

    -

    Failed to receive the specified command.

    -
    - -``` -int32_t ret; -uint8_t readVal = 0; - -struct DsiCmdDesc *cmdRead = OsalMemCalloc(sizeof(struct DsiCmdDesc)); -if (cmdRead == NULL) { - return HDF_FAILURE; -} -cmdRead->dtype = DTYPE_DCS_READ; -cmdRead->dlen = 1; -cmdRead->payload = OsalMemCalloc(sizeof(uint8_t)); -if (cmdRead->payload == NULL) { - HdfFree(cmdRead); - return HDF_FAILURE; -} -*(cmdRead->payload) = DDIC_REG_STATUS; -MipiDsiSetLpMode(g_handle); -ret = MipiDsiRx(g_handle, cmdRead, sizeof(readVal), &readVal); -MipiDsiSetHsMode(g_handle); -if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: MipiDsiRx fail! ret=%d\n", __func__, ret); - HdfFree(cmdRead->payload); - HdfFree(cmdRead); - return HDF_FAILURE; -} -HdfFree(cmdRead->payload); -HdfFree(cmdRead); -``` - -## Releasing the MIPI DSI Device Handle - -After the MIPI DSI communication, release the MIPI DSI device handle by calling the following function: - -void MipiDsiClose\(DevHandle handle\); - -This function releases the resources requested by **MipiDsiOpen**. - -**Table 6** Description of **MipiDsiClose** - - - - - - - - - - -

    Parameter

    -

    Description

    -

    handle

    -

    MIPI DSI device handle

    -
    - -``` -MipiDsiClose(mipiHandle); /* Release the MIPI DSI device handle */ -``` - diff --git a/en/device-dev/driver/watchdog.md b/en/device-dev/driver/watchdog.md deleted file mode 100644 index b8f20d1dad9..00000000000 --- a/en/device-dev/driver/watchdog.md +++ /dev/null @@ -1,9 +0,0 @@ -# WATCHDOG - -- **[Watchdog Overview](watchdogoverview.md)** - -- **[Watchdog Usage Guidelines](watchdogusage-guidelines.md)** - -- **[Watchdog Usage Example](watchdogusage-example.md)** - - diff --git a/en/device-dev/driver/watchdogoverview.md b/en/device-dev/driver/watchdogoverview.md deleted file mode 100644 index 04b3b373d03..00000000000 --- a/en/device-dev/driver/watchdogoverview.md +++ /dev/null @@ -1,78 +0,0 @@ -# Watchdog Overview - -- [Introduction](#section3579126111816) -- [Available APIs](#section17429111981812) - -## Introduction - -A watchdog, also called a watchdog timer, is a hardware timing device. If an error occurs in the main program of the system and fails to reset the watchdog timer, the watchdog timer sends a reset signal to restore the system to a normal state. - -## Available APIs - -**Table 1** Watchdog APIs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Capability

    -

    Function

    -

    Description

    -

    Open/Close

    -

    WatchdogOpen

    -

    Opens a watchdog.

    -

    WatchdogClose

    -

    Closes a watchdog.

    -

    Start/Stop

    -

    WatchdogStart

    -

    Starts a watchdog.

    -

    WatchdogStop

    -

    Stops a watchdog.

    -

    Timeout duration

    -

    WatchdogSetTimeout

    -

    Sets the watchdog timeout duration.

    -

    WatchdogGetTimeout

    -

    Obtains the watchdog timeout duration.

    -

    Status

    -

    WatchdogGetStatus

    -

    Obtains the watchdog status.

    -

    Feeding

    -

    WatchdogFeed

    -

    Feeds a watchdog, or resets a watchdog timer.

    -
    - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->All watchdog functions provided in this document can be called only in kernel mode. - diff --git a/en/device-dev/driver/watchdogusage-example.md b/en/device-dev/driver/watchdogusage-example.md deleted file mode 100644 index 98f6acfa0e3..00000000000 --- a/en/device-dev/driver/watchdogusage-example.md +++ /dev/null @@ -1,86 +0,0 @@ -# Watchdog Usage Example - -This example provides a complete process for using a watchdog. - -In this example, open a watchdog, set the timeout duration, and start the watchdog. - -- Feed the watchdog periodically to ensure that the system is not reset due to timer expiry. -- Stop feeding the watchdog and check whether the system is reset after the timer expires. - -Example: - -``` -#include "watchdog_if.h" -#include "hdf_log.h" -#include "osal_irq.h" -#include "osal_time.h" - -#define WATCHDOG_TEST_TIMEOUT 2 -#define WATCHDOG_TEST_FEED_TIME 6 - -static int32_t TestCaseWatchdog(void) -{ - int32_t i; - int32_t ret; - uint32_t timeout; - DevHandle handle = NULL; - - /* Open watchdog 0. */ - handle = WatchdogOpen(0); - if (handle == NULL) { - HDF_LOGE("Open watchdog fail!"); - return -1; - } - - /* Set the timeout duration. */ - ret = WatchdogSetTimeout(handle, WATCHDOG_TEST_TIMEOUT); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: set timeout fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - - /* Obtain the configured timeout duration. */ - ret = WatchdogGetTimeout(handle, &timeout); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: get timeout fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - HDF_LOGI("%s: read timeout back:%u\n", __func__, timeout); - - /* Start the watchdog. The timer starts. */ - ret = WatchdogStart(handle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: satrt fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - - /* Feed the watchdog every 1s. */ - for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { - HDF_LOGE("%s: feeding watchdog %d times... \n", __func__, i); - ret = WatchdogFeed(handle); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: feed dog fail! ret:%d\n", __func__, ret); - WatchdogClose(handle); - return ret; - } - OsalSleep(1); - } - /* Because the interval for feeding the watchdog is shorter than the timeout duration, the system does not reset, and logs can be printed normally. */ - HDF_LOGE("%s: no reset ... feeding test OK!!!\n", __func__); - - /* Enable the timer to expire by stopping feeding the watchdog. */ - for (i = 0; i < WATCHDOG_TEST_FEED_TIME; i++) { - HDF_LOGE("%s: watiting dog buck %d times... \n", __func__, i); - OsalSleep(1); - } - - /* The system resets when the timer expires. If the code is correct, the log below is not displayed. */ - HDF_LOGE("%s: dog has't buck!!! \n", __func__, i); - WatchdogClose(handle); - return -1; -} -``` - diff --git a/en/device-dev/driver/wlan.md b/en/device-dev/driver/wlan.md deleted file mode 100644 index d6d1fba4014..00000000000 --- a/en/device-dev/driver/wlan.md +++ /dev/null @@ -1,9 +0,0 @@ -# WLAN - -- **[WLAN Overview](wlanoverview.md)** - -- **[WLAN Development Guidelines](wlandevelopment-guidelines.md)** - -- **[WLAN Development Example](wlandevelopment-example.md)** - - diff --git a/en/device-dev/driver/wlandevelopment-example.md b/en/device-dev/driver/wlandevelopment-example.md deleted file mode 100644 index 23c68799d2e..00000000000 --- a/en/device-dev/driver/wlandevelopment-example.md +++ /dev/null @@ -1,372 +0,0 @@ -# WLAN Development Example - -This section describes how to initialize the WLAN module on a Hi3881 WLAN chip. - -1. Set parameters for the WLAN module based on hardware attributes. - -``` -/* Set parameters in the wlan_platform.hcs file based on hardware attributes. The following is an example of the WLAN platform configuration. */ -hisi :& deviceList { - device0 :: deviceInst { - deviceInstId = 0; - powers { - power0 { - powerSeqDelay = 0; /* Power supply sequencing delay */ - powerType = 1; /* Power supply type. Value 0 indicates that the power supply is always on, and value 1 indicates power supply through general-purpose input/output (GPIO). */ - gpioId = 1; /* GPIO pin ID */ - activeLevel=1; /* Active level. Value 0 indicates a low level, and value 1 indicates a high level. */ - } - power1 { - powerSeqDelay = 0; /* Power supply sequencing delay */ - powerType = 0; /* Power supply type. Value 0 indicates that the power supply is always on, and value 1 indicates power supply through GPIO. */ - } - } - reset { - resetType = 0; /* Reset type. Value 0 indicates that reset is not supported, and value 1 indicates reset through GPIO. */ - gpioId = 2; /* GPIO pin ID */ - activeLevel=1; /* Active level. Value 0 indicates a low level, and value 1 indicates a high level. */ - resetHoldTime = 30; /* Hold time (ms) for a reset */ - } - bootUpTimeout = 30; /* Boot timeout duration (ms) */ - bus { - busType = 0; /* Bus type. Value 0 indicates secure digital input/output (SDIO). */ - busId = 2; /* Bus ID */ - funcNum = [1]; /* SDIO function number */ - timeout = 1000; /* Timeout duration for data read/write */ - blockSize = 512; /* Size of the data block to read or write */ - } - } -} -/* Add configuration file wlan_chip_.hcs (for example, wlan_chip_hi3881.hcs) for each chip and set parameters. The following takes the Hi3881 chip as an example. */ -root { - wlan_config { - hi3881 :& chipList { - chipHi3881 :: chipInst { - match_attr = "hdf_wlan_chips_hi3881"; /* Match attribute */ - chipName = "hi3881"; /* WLAN chip name */ - sdio { - vendorId = 0x0296; /* Vendor ID */ - deviceId = [0x5347]; /* Device ID */ - } - } - } - } -} -``` - -2. Mount the **init** and **deinit** functions of the WLAN chip and WLAN chip driver. - -``` -/* WLAN module initialization and mount process */ -#include "hdf_device_desc.h" -#include "hdf_wifi_product.h" -#include "hdf_log.h" -#include "osal_mem.h" -#include "hdf_wlan_chipdriver_manager.h" -#include "securec.h" -#include "wifi_module.h" -#include "hi_wifi_api.h" -#include "hi_types_base.h" - -#define HDF_LOG_TAG Hi3881Driver - -/* Functions for initializing and deinitializing the WLAN chip */ -int32_t InitHi3881Chip(struct HdfWlanDevice *device); -int32_t DeinitHi3881Chip(struct HdfWlanDevice *device); -/* Functions for initializing and deinitializing the WLAN chip driver */ -int32_t Hi3881Deinit(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); -int32_t Hi3881Init(struct HdfChipDriver* chipDriver, struct NetDevice *netDevice); - -/* Initialize mac80211 and mount functions of the chip. */ -hi_void HiMac80211Init(struct HdfChipDriver *chipDriver); - -static const char* const HI3881_DRIVER_NAME = "hisi"; - -/* Mount the WLAN chip driver and the functions of mac80211 and the chip. */ -static struct HdfChipDriver *BuildHi3881Driver(struct HdfWlanDevice *device, uint8_t ifIndex) -{ - struct HdfChipDriver *specificDriver = NULL; - if (device == NULL) { - HDF_LOGE("%s fail : channel is NULL", __func__); - return NULL; - } - (void)device; - (void)ifIndex; - specificDriver = (struct HdfChipDriver *)OsalMemCalloc(sizeof(struct HdfChipDriver)); - if (specificDriver == NULL) { - HDF_LOGE("%s fail: OsalMemCalloc fail!", __func__); - return NULL; - } - if (memset_s(specificDriver, sizeof(struct HdfChipDriver), 0, sizeof(struct HdfChipDriver)) != EOK) { - HDF_LOGE("%s fail: memset_s fail!", __func__); - OsalMemFree(specificDriver); - return NULL; - } - - if (strcpy_s(specificDriver->name, MAX_WIFI_COMPONENT_NAME_LEN, HI3881_DRIVER_NAME) != EOK) { - HDF_LOGE("%s fail : strcpy_s fail", __func__); - OsalMemFree(specificDriver); - return NULL; - } - specificDriver->init = Hi3881Init; - specificDriver->deinit = Hi3881Deinit; - - HiMac80211Init(specificDriver); - - return specificDriver; -} - -/* Release the WLAN chip driver. */ -static void ReleaseHi3881Driver(struct HdfChipDriver *chipDriver) -{ - if (chipDriver == NULL) { - return; - } - if (strcmp(chipDriver->name, HI3881_DRIVER_NAME) != 0) { - HDF_LOGE("%s:Not my driver!", __func__); - return; - } - OsalMemFree(chipDriver); -} - -static uint8_t GetHi3881GetMaxIFCount(struct HdfChipDriverFactory *factory) { - (void)factory; - return 1; -} - -/* Register functions related to the WLAN chip. */ -static int32_t HDFWlanRegHisiDriverFactory(void) -{ - static struct HdfChipDriverFactory tmpFactory = { 0 }; - struct HdfChipDriverManager *driverMgr = NULL; - driverMgr = HdfWlanGetChipDriverMgr(); - if (driverMgr == NULL && driverMgr->RegChipDriver != NULL) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - tmpFactory.driverName = HI3881_DRIVER_NAME; - tmpFactory.GetMaxIFCount = GetHi3881GetMaxIFCount; - tmpFactory.InitChip = InitHi3881Chip; - tmpFactory.DeinitChip = DeinitHi3881Chip; - tmpFactory.Build = BuildHi3881Driver; - tmpFactory.Release = ReleaseHi3881Driver; - tmpFactory.ReleaseFactory = NULL; - if (driverMgr->RegChipDriver(&tmpFactory) != HDF_SUCCESS) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - - return HDF_SUCCESS; -} - -static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) -{ - (void)device; - return HDFWlanRegHisiDriverFactory(); -} - -struct HdfDriverEntry g_hdfHisiChipEntry = { - .moduleVersion = 1, - .Init = HdfWlanHisiChipDriverInit, - .moduleName = "HDF_WLAN_CHIPS" -}; - -HDF_INIT(g_hdfHisiChipEntry); -``` - -``` -#include "hdf_wifi_product.h" -#include "hi_wifi_api.h" -#if (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION) -#include "oal_thread.h" -#include "osal_time.h" -#endif -#include "wifi_mac80211_ops.h" -#include "wal_cfg80211.h" -#include "net_adpater.h" -#include "hdf_wlan_utils.h" - -#define HDF_LOG_TAG Hi3881Driver - -/* Initialize the WLAN chip. */ -int32_t InitHi3881Chip(struct HdfWlanDevice *device) -{ - uint8_t maxPortCount = 1; - int32_t ret = HI_SUCCESS; - uint8_t maxRetryCount = 2; - if (device == NULL) { - HDF_LOGE("%s:NULL ptr!", __func__); - return HI_FAIL; - } - - do { - if (ret != HI_SUCCESS) { - if (device->reset != NULL && device->reset->Reset != NULL) { - device->reset->Reset(device->reset); - } - HDF_LOGE("%s:Retry init hi3881!last ret=%d", __func__, ret); - } - ret = hi_wifi_init(maxPortCount); - } while (ret != 0 && --maxRetryCount > 0); - - if (ret != 0) { - HDF_LOGE("%s:Init hi3881 driver failed!", __func__); - return ret; - } - return HI_SUCCESS; -} - -/* Deinitialize the WLAN chip. */ -int32_t DeinitHi3881Chip(struct HdfWlanDevice *device) -{ - (void)device; - int32_t ret = hi_wifi_deinit(); - if (ret != 0) { - HDF_LOGE("%s:Deinit failed!ret=%d", __func__, ret); - } - return ret; -} - -/* Initialize the WLAN chip driver. */ -int32_t Hi3881Init(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) -{ - HDF_LOGI("%s: start...", __func__); - hi_u16 mode = wal_get_vap_mode(); - int32_t ret; - nl80211_iftype_uint8 type; - (void)chipDriver; - - if (mode >= WAL_WIFI_MODE_BUTT) { - oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); - return HI_FAIL; - } - - if (mode == WAL_WIFI_MODE_STA) { - type = NL80211_IFTYPE_STATION; - } else if (mode == WAL_WIFI_MODE_AP) { - type = NL80211_IFTYPE_AP; - } else { - oam_error_log1(0, 0, "wal_init_drv_netdev:: invalid mode[%d]", mode); - return HI_FAIL; - } - - ret = wal_init_drv_wlan_netdev(type, WAL_PHY_MODE_11N, netDevice); - if (ret != HI_SUCCESS) { - oam_error_log2(0, OAM_SF_ANY, "wal_init_drv_netdev %s failed.l_return:%d\n", netDevice->name, ret); - } - return ret; -} - -/* Deinitialize the WLAN chip driver. */ -int32_t Hi3881Deinit(struct HdfChipDriver *chipDriver, struct NetDevice *netDevice) -{ - (void)chipDriver; - int32_t ret = wal_deinit_drv_wlan_netdev(netDevice); - if (ret != HDF_SUCCESS) { - return ret; - } - return ReleasePlatformNetDevice(netDevice); -} -``` - -3. During the chip initialization, call the **NetDeviceInit\(\)** function to initialize a network device, call the **NetDeviceAdd\(\)** function to add the network device to a protocol stack, and implement some function pointers of **netdev**. - -``` -hi_s32 wal_init_drv_wlan_netdev(nl80211_iftype_uint8 type, wal_phy_mode mode, hi_char* ifname, hi_u32* len) -{ - oal_net_device_stru *netdev = HI_NULL; - - ...... - /* Initialize the network device and obtain the initialized instance. */ - netdev = NetDeviceInit(ifname, *len, LITE_OS); - oal_wireless_dev *wdev = (oal_wireless_dev *)oal_mem_alloc(OAL_MEM_POOL_ID_LOCAL, sizeof(oal_wireless_dev)); - ret = wal_init_netif(type, netdev, wdev); - - ...... - - return HI_SUCCESS; -} -/* Mount some function pointers of {@link NetDeviceInterFace}. */ -oal_net_device_ops_stru g_wal_net_dev_ops = -{ - .getStats = wal_netdev_get_stats, - .open = wal_netdev_open, - .stop = wal_netdev_stop, - .xmit = hmac_bridge_vap_xmit, - .ioctl = wal_net_device_ioctl, - .changeMtu = oal_net_device_change_mtu, - .init = oal_net_device_init, - .deInit = oal_net_free_netdev, -#if (defined(_PRE_WLAN_FEATURE_FLOWCTL) || defined(_PRE_WLAN_FEATURE_OFFLOAD_FLOWCTL)) - .selectQueue = wal_netdev_select_queue, -#endif - .setMacAddr = wal_netdev_set_mac_addr, -#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION) - .netifNotify = HI_NULL, -#endif - .specialEtherTypeProcess = SpecialEtherTypeProcess, -}; - -hi_s32 wal_init_netif(nl80211_iftype_uint8 type, oal_net_device_stru *netdev, const oal_wireless_dev *wdev) -{ - /* Add the network device to a protocol stack. */ - hi_u32 ret = NetDeviceAdd(netdev, (Protocol80211IfType)type); - - ...... - - return HI_SUCCESS; -} -``` - -4. Implement functions of **WifiMac80211Ops**. - -``` -/* Mount some function pointers of mac80211. */ - -/* MAC-layer APIs for basic capabilities that need to be implemented by the driver */ -static struct HdfMac80211BaseOps g_baseOps = { - .SetMode = WalSetMode, - .AddKey = WalAddKey, - .DelKey = WalDelKey, - .SetDefaultKey = WalSetDefaultKey, - .GetDeviceMacAddr = WalGetDeviceMacAddr, - .SetMacAddr = WalSetMacAddr, - .SetTxPower = WalSetTxPower, - .GetValidFreqsWithBand = WalGetValidFreqsWithBand, - .GetHwCapability = WalGetHwCapability -}; - -/* MAC-layer APIs for station capabilities that need to be implemented by the driver */ -static struct HdfMac80211STAOps g_staOps = { - .Connect = WalConnect, - .Disconnect = WalDisconnect, - .StartScan = WalStartScan, - .AbortScan = WalAbortScan, - .SetScanningMacAddress = WalSetScanningMacAddress, -}; - -/* MAC-layer APIs for AP capabilities that need to be implemented by the driver */ -static struct HdfMac80211APOps g_apOps = { - .ConfigAp = WalConfigAp, - .StartAp = WalStartAp, - .StopAp = WalStopAp, - .ConfigBeacon = WalChangeBeacon, - .DelStation = WalDelStation, - .SetCountryCode = WalSetCountryCode, - .GetAssociatedStasCount = WalGetAssociatedStasCount, - .GetAssociatedStasInfo = WalGetAssociatedStasInfo -}; - -/* Initialize mac80211 and mount functions of the chip. */ -hi_void HiMac80211Init(struct HdfChipDriver *chipDriver) -{ - if (chipDriver == NULL) { - oam_error_log(0, OAM_SF_ANY, "%s:input is NULL!", __func__); - return; - } - chipDriver->ops = &g_baseOps; - chipDriver->staOps = &g_staOps; - chipDriver->apOps = &g_apOps; -} -``` - diff --git a/en/device-dev/driver/wlandevelopment-guidelines.md b/en/device-dev/driver/wlandevelopment-guidelines.md deleted file mode 100644 index 4b270cadbc9..00000000000 --- a/en/device-dev/driver/wlandevelopment-guidelines.md +++ /dev/null @@ -1,18 +0,0 @@ -# WLAN Development Guidelines - -- [How to Develop](#section96091936185820) - -The WLAN driver is developed based on the HDF and PLATFORM. It provides a unified driver model for WLAN modules of different vendors regardless of the operating system \(OS\) and system on a chip \(SoC\). - -## How to Develop - -1. Set hardware parameters such as **module** \(different features\) and **chip** in the **wifi\_config.hcs** file. -2. Parse the **wifi\_config.hcs** file and generate a structure with the configured parameters. -3. Initialize and create a module. -4. Mount and initialize the chip. -5. Initialize the bus. -6. Mount the upper-layer WPA service. - ->![](public_sys-resources/icon-note.gif) **NOTE:** ->Some of the above adaptation steps have been provided. For details, see the third part **[WLAN Development Example](wlandevelopment-example.md)**. The steps waiting to be performed by developers include setting configuration parameters based on hardware attributes, adapting and mounting a chip, and performing tests and verification. - diff --git a/en/device-dev/get-code/Readme-EN.md b/en/device-dev/get-code/Readme-EN.md index 5431040667d..c3df0fde610 100644 --- a/en/device-dev/get-code/Readme-EN.md +++ b/en/device-dev/get-code/Readme-EN.md @@ -1,7 +1,7 @@ # Source Code Acquisition -- [Source Code Acquisition](source-code-acquisition.md) -- [Tool Acquisition](tool-acquisition.md) - - [Docker Environment](docker-environment.md) - - [IDE](ide.md) +- [Source Code Acquisition](sourcecode.md) +- [Tool Acquisition](gettools.md) + - [Docker Environment](gettools-acquire.md) + - [IDE](gettools-ide.md) diff --git a/en/device-dev/get-code/figures/3.png b/en/device-dev/get-code/figure/3-22.png similarity index 100% rename from en/device-dev/get-code/figures/3.png rename to en/device-dev/get-code/figure/3-22.png diff --git a/en/device-dev/get-code/figures/en-us_image_0000001101413884.png b/en/device-dev/get-code/figure/en-us_image_0000001101413884.png similarity index 100% rename from en/device-dev/get-code/figures/en-us_image_0000001101413884.png rename to en/device-dev/get-code/figure/en-us_image_0000001101413884.png diff --git a/en/device-dev/get-code/figures/en-us_image_0000001119755646.png b/en/device-dev/get-code/figure/en-us_image_0000001119755646.png similarity index 100% rename from en/device-dev/get-code/figures/en-us_image_0000001119755646.png rename to en/device-dev/get-code/figure/en-us_image_0000001119755646.png diff --git a/en/device-dev/get-code/figures/en-us_image_0000001119915556.png b/en/device-dev/get-code/figure/en-us_image_0000001119915556.png similarity index 100% rename from en/device-dev/get-code/figures/en-us_image_0000001119915556.png rename to en/device-dev/get-code/figure/en-us_image_0000001119915556.png diff --git a/en/device-dev/get-code/figures/en-us_image_0000001166715379.png b/en/device-dev/get-code/figure/en-us_image_0000001166715379.png similarity index 100% rename from en/device-dev/get-code/figures/en-us_image_0000001166715379.png rename to en/device-dev/get-code/figure/en-us_image_0000001166715379.png diff --git a/en/device-dev/get-code/docker-environment.md b/en/device-dev/get-code/gettools-acquire.md similarity index 96% rename from en/device-dev/get-code/docker-environment.md rename to en/device-dev/get-code/gettools-acquire.md index a9dce7ccc7b..453cce21c04 100644 --- a/en/device-dev/get-code/docker-environment.md +++ b/en/device-dev/get-code/gettools-acquire.md @@ -74,9 +74,9 @@ OpenHarmony provides the following two types of Docker environments for you to q Before using the Docker environment, perform the following operations: 1. Install Docker. For details, see [Install Docker Engine](https://docs.docker.com/engine/install/). -2. Obtain the OpenHarmony source code. For details, see [Source Code Acquisition](source-code-acquisition.md). +2. Obtain the OpenHarmony source code. For details, see [Source Code Acquisition](sourcecode-acquire.md). - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >You do not need to obtain the source code for the HPM-based Docker environment. @@ -153,9 +153,9 @@ hb set **Figure 1** Setting page -![](figures/en-us_image_0000001101413884.png) +![](figure/en-us_image_0000001101413884.png) ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The mapping between the development board and the building GUI: >- Hi3861: wifiiot\_hispark\_pegasus@hisilicon >- Hi3516: ipcamera\_hispark\_taurus@hisilicon @@ -231,12 +231,12 @@ hb set Files generated during building are stored in the **out/ohos-arm-release/** directory, and the generated image is stored in the **out/ohos-arm-release/packages/phone/images/** directory. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >You can exit Docker by simply running the **exit** command. ## HPM-based Docker Environment -**docker\_dist** is a template component in the [HPM](https://hpm.harmonyos.com/#/en/home) system. It helps to quickly initialize an HPM project and use the Docker image to quickly build a distribution of OpenHarmony, greatly simplifying environment configurations needed for building. After configuring the Ubuntu and [hpm-cli](https://device.harmonyos.com/en/docs/develop/bundles/oem_bundle_guide_prepare-0000001050129846) development environments, perform the following steps to access the Docker environment: +**docker\_dist** is a template component in the [HPM](https://hpm.harmonyos.com/#/en/home) system. It helps to quickly initialize an HPM project and use the Docker image to quickly build a distribution of OpenHarmony, greatly simplifying environment configurations needed for building. After configuring the Ubuntu and [hpm-cli](../bundles/bundles-guide-prepare.md) development environments, perform the following steps to access the Docker environment: ### Setting Up the Docker Environment diff --git a/en/device-dev/get-code/ide.md b/en/device-dev/get-code/gettools-ide.md similarity index 98% rename from en/device-dev/get-code/ide.md rename to en/device-dev/get-code/gettools-ide.md index f3551de3126..ec5de1cf9a4 100644 --- a/en/device-dev/get-code/ide.md +++ b/en/device-dev/get-code/gettools-ide.md @@ -9,7 +9,7 @@ HUAWEI DevEco Device Tool is a one-stop integrated development environment \(IDE The roadmap of Huawei DevEco Device Tool for supporting OpenHarmony device development is shown in the figure below. -![](figures/3.png) +![](figure/3-22.png) ## Acquiring the Application Development Tool \(HUAWEI DevEco Studio\) diff --git a/en/device-dev/get-code/tool-acquisition.md b/en/device-dev/get-code/gettools.md similarity index 43% rename from en/device-dev/get-code/tool-acquisition.md rename to en/device-dev/get-code/gettools.md index dd1797b1042..95366cdb4c3 100644 --- a/en/device-dev/get-code/tool-acquisition.md +++ b/en/device-dev/get-code/gettools.md @@ -1,7 +1,7 @@ # Tool Acquisition -- **[Docker Environment](docker-environment.md)** +- **[Docker Environment](gettools-acquire.md)** -- **[IDE](ide.md)** +- **[IDE](gettools-ide.md)** diff --git a/en/device-dev/get-code/public_sys-resources/icon-caution.gif b/en/device-dev/get-code/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/get-code/public_sys-resources/icon-danger.gif b/en/device-dev/get-code/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/get-code/public_sys-resources/icon-note.gif b/en/device-dev/get-code/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/get-code/public_sys-resources/icon-notice.gif b/en/device-dev/get-code/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/get-code/source-code-acquisition.md b/en/device-dev/get-code/sourcecode-acquire.md similarity index 93% rename from en/device-dev/get-code/source-code-acquisition.md rename to en/device-dev/get-code/sourcecode-acquire.md index a7d68fe82d7..5fc6a1f3a12 100644 --- a/en/device-dev/get-code/source-code-acquisition.md +++ b/en/device-dev/get-code/sourcecode-acquire.md @@ -21,12 +21,12 @@ OpenHarmony is an open-source project launched by the OpenAtom Foundation. The p The open-source code repositories are available at [https://openharmony.gitee.com](https://openharmony.gitee.com). ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >At present, OpenHarmony source code can only be compiled in the Linux environment. ## Overview of Source Code Acquisition -This document describes how to acquire OpenHarmony source code and provides its directory structure. The OpenHarmony code is open to you as [bundles](../bundles/overview.md), which can be obtained in any of the following ways: +This document describes how to acquire OpenHarmony source code and provides its directory structure. The OpenHarmony code is open to you as [bundles](../bundles/bundles-standard-rules.md), which can be obtained in any of the following ways: - **Method 1**: Acquire the source code from a code repository. You can use the **repo** or **git** tool to download the latest code from the code repository. - **Method 2**: Obtain the source code from the HarmonyOS Package Manager \(HPM\). Visit the [HPM](https://hpm.harmonyos.com/#/en/home) website, search for your desired open-source distribution, and download the bundle list \(or customize bundles and download the bundle list\). Then use **hpm-cli** to download and install the bundles and compilation toolchain on your local PC. @@ -40,9 +40,9 @@ This document describes how to acquire OpenHarmony source code and provides its - You have interconnected your software with OpenHarmony and need official certification from OpenHarmony. -- You want to contribute code to the OpenHarmony community after chips, modules, and applications are certified by OpenHarmony. +- You want to contribute code to the OpenHarmony community after obtaining official OpenHarmony certification for chips, modules, and applications. -- You need to address OpenHarmony issues. +- You need to rectify OpenHarmony issues. - You want to learn OpenHarmony source code. @@ -51,7 +51,7 @@ This document describes how to acquire OpenHarmony source code and provides its 1. Register your account with Gitee. 2. Register an SSH public key for access to Gitee. -3. Install the [git client](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading), and configure basic user information. +3. Install the [git client](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)), and configure basic user information. ``` git config --global user.name "yourname" @@ -70,9 +70,9 @@ This document describes how to acquire OpenHarmony source code and provides its ### How to Use -**Obtaining the Source Code for Mini, Small, and Standard Systems \(2.0 Canary\)** +**Obtaining the Source Code for Mini/Small/Standard Systems \(2.0 Canary\)** ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >You can obtain the latest features from the master code, and develop commercial functionalities based on the release code, which is more stable. - **Obtaining OpenHarmony master code** @@ -96,7 +96,7 @@ This document describes how to acquire OpenHarmony source code and provides its - **Obtaining Latest OpenHarmony\_1.0.1\_release code** - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >Currently, only the source code for mini and small systems can be obtained through this release. Use the **repo** tool to download the release code. @@ -109,7 +109,7 @@ This document describes how to acquire OpenHarmony source code and provides its - Obtaining the source code of other OpenHarmony releases - For details about how to obtain the source code of other releases, see the [Release Notes](https://gitee.com/openharmony/docs/blob/master/en/release-notes/OpenHarmony-Release-Notes.md). + For details about how to obtain the source code of other OpenHarmony releases, see the [Release Notes](https://gitee.com/openharmony/docs/blob/master/en/release-notes/OpenHarmony-Release-Notes.md). ## Method 2: Acquiring Source Code from HPM @@ -160,7 +160,7 @@ You must install **Node.js** and HPM on your local PC. The installation proced **Figure 1** HPM page - ![](figures/en-us_image_0000001119915556.png) + ![](figure/en-us_image_0000001119915556.png) 2. Learn more about the distribution. @@ -172,7 +172,7 @@ You must install **Node.js** and HPM on your local PC. The installation proced **Figure 2** Example distribution - ![](figures/en-us_image_0000001119755646.png) + ![](figure/en-us_image_0000001119755646.png) 3. Customize bundles. 1. Access the **Custom solution** page, as shown in the following figure. @@ -183,7 +183,7 @@ You must install **Node.js** and HPM on your local PC. The installation proced **Figure 3** Customizing bundles - ![](figures/en-us_image_0000001166715379.png) + ![](figure/en-us_image_0000001166715379.png) 4. Download and install bundles. @@ -196,8 +196,8 @@ You must install **Node.js** and HPM on your local PC. The installation proced To ensure the download performance, you are advised to download the source code or the corresponding solution from the image library of the respective site listed in the table below. ->![](public_sys-resources/icon-note.gif) **NOTE:** ->- The table below provides only the sites for downloading the source code of the latest OpenHarmony Master and LTS versions. For details about earlier versions and how to obtain their source code, see the [Release Notes](https://gitee.com/openharmony/docs/tree/master/en/release-notes). +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>- The table below provides only the sites for downloading the latest OpenHarmony master and LTS code. For details about how to obtain the source code of earlier versions, see the [Release Notes](https://gitee.com/openharmony/docs/tree/master/en/release-notes). >- The Master 1.0 version is no longer maintained. **Table 1** Sites for acquiring source code from image sites @@ -225,7 +225,7 @@ To ensure the download performance, you are advised to download the source code

    1.1.1

    Site

    +

    Download

    Download

    1.1.1

    Download

    +

    Download

    -

    Version Information

    Site

    +

    Site

    SHA-256 Verification Code

    +

    SHA-256 Verification Code

    Full code (for standard systems)

    2.0 Canary

    Download (Site 1) Download (Site 2)

    +

    Download (Site 1) Download (Site 2)

    Download

    +

    Download

    Full code (for mini and small systems)

    @@ -324,7 +324,7 @@ To ensure the download performance, you are advised to download the source code

    Version Information

    Site

    +

    Site

    SHA-256 Verification Code

    -

    Site

    +

    Download

    -

    Configuration parameter file

    +

    Configuration file

    /drivers/adapter/khdf/linux/hcs/platform/i2c_config.hcs

    ->![](public_sys-resources/icon-caution.gif) **CAUTION:** +>![](../public_sys-resources/icon-caution.gif) **CAUTION:** >The file paths involved in this example are used for demonstration only. Determine the paths for storing the source files as required when developing your driver. -## Instantiating the Driver Entry +### Instantiating the Driver Entry -The driver entry must be a global variable of the **HdfDriverEntry** type \(which is defined in **hdf\_device\_desc.h**\), and the value of **moduleName** must be the same as that in **device\_info.hcs**. When loading the driver, the HDF calls the **Bind** function first and then the **Init** function. If an error occurred during the calling of the **Init** function, the HDF calls **Release** to release the driver resource and exit. +Instantiate an **HdfDriverEntry** object as the driver entry. The driver entry must be a global variable of the **HdfDriverEntry** type \(which is defined in **hdf\_device\_desc.h**\), and the value of **moduleName** must be the same as that in **device\_info.hcs**. When loading the driver, the HDF calls the **Bind** function first and then the **Init** function. If an error occurred during the calling of the **Init** function, the HDF calls **Release** to release the driver resource and exit. The **Bind** function is not implemented in the I2C driver because the I2C controller is managed by the I2C manager and the **Bind** function has been implemented in the manager. Therefore, services do not need to be bound in the I2C driver. @@ -95,7 +128,9 @@ struct HdfDriverEntry g_sampleI2cDriverEntry = { HDF_INIT(g_sampleI2cDriverEntry); ``` -## Setting Related Parameters +### Setting Related Parameters + +Configure the **device\_info.hcs** file and obtain and parse device configuration parameters from the HCS to ensure that the driver can be correctly loaded. 1. \(Mandatory\) Add a device service node. @@ -109,8 +144,8 @@ HDF_INIT(g_sampleI2cDriverEntry); device2 :: deviceNode { // Device node of an I2C driver policy = 0; // Policy for releasing the driver service priority = 55; // Driver startup priority - permission = 0644; // Permission for the driver to create a device node. - moduleName = "demo_i2c_driver"; // Driver name. The value of this field must be the same as the value of moduleName in the driver entry data structure. + permission = 0644; // Permission for the driver to create a device node + moduleName = "demo_i2c_driver"; // Driver name. The value of this field must be the same as that of moduleName in the driver entry data structure. serviceName = "DEMO_I2C_DRIVER"; // Name of the service released by the driver. The name must be unique. deviceMatchAttr = "demo_i2c_config"; // Keyword matching the private data of the driver. The value must be the same as that of // match_attr in the private configuration data table of the driver. @@ -118,14 +153,15 @@ HDF_INIT(g_sampleI2cDriverEntry); } } } + ``` - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The **priority** attribute \(an integer ranging from 0 to 200\) in the configuration file indicates the priority of a host or drivers. Drivers in a host with a smaller priority value have a higher loading priority than those in other hosts. The driver with a smaller priority value in a host has a higher loading priority than the other drivers in the host. The loading sequence is random for drivers with the same priority. 2. \(Optional\) Add configuration parameters. - The driver may require private configuration information to ensure that the register configuration meets the requirements of different products. If private configuration data is required, you can add a driver configuration file to store some default configuration information about the driver. When loading the driver, the HDF obtains the specified configuration information, saves it in the **property** attribute of **HdfDeviceObject**, and passes it to the driver via **Bind** and **Init**. For details about how to use **Bind** and **Init**, see [Driver Development](../driver/driver-development.md). You can create a configuration file and reference it in the **hdf.hcs** file of the board-level driver. In this example, configuration parameters are directly added to the existing configuration file **i2c\_config.hcs**. + The driver may require private configuration information to ensure that the register configuration meets the requirements of different products. If private configuration data is required, you can add a driver configuration file to store some default configuration information about the driver. When loading the driver, the HDF obtains the specified configuration information, saves it in the **property** attribute of **HdfDeviceObject**, and passes it to the driver via **Bind** and **Init**. For details about how to use **Bind** and **Init**, see [Driver Development](../driver/drive-hdf-development.md). You can create a configuration file and reference it in the **hdf.hcs** file of the board-level driver. In this example, configuration parameters are directly added to the existing configuration file **i2c\_config.hcs**. The following configuration parameters are added to the **i2c\_config.hcs** file: @@ -133,7 +169,7 @@ HDF_INIT(g_sampleI2cDriverEntry); root { platform { i2c_config_demo { - match_attr = "demo_i2c_config"; // The value of this field must be the same as the value of deviceMatchAttr in device_info.hcs. + match_attr = "demo_i2c_config"; // The value of this field must be the same as that of deviceMatchAttr in device_info.hcs. template i2c_controller { // Parameter template bus = 0; @@ -165,7 +201,7 @@ HDF_INIT(g_sampleI2cDriverEntry); 3. Enable the driver to obtain configuration parameters from the HCS. - In this example, the driver needs to obtain configuration parameters, such as the physical base address of the register, register size, and bus number, through the HCS to correctly configure the controller. + In this example, the driver needs to obtain configuration parameters, such as the physical base address of the register, register size, and bus number, from the HCS to correctly configure the controller. ``` /* Obtain configuration parameters from the HCS. */ @@ -203,7 +239,9 @@ HDF_INIT(g_sampleI2cDriverEntry); ``` -## Adding a Controller +### Adding a Controller + +Initialize the controller hardware, call core-layer APIs to add or delete devices to or from the core layer, and implement a hook. 1. Define an I2C controller structure, implement a hook, and assign the hook to the function pointer. @@ -228,7 +266,7 @@ HDF_INIT(g_sampleI2cDriverEntry); int16_t index; int16_t count; }; - /* Implement the SampleI2cTransfer hook. */ + /* Hook implementation */ static int32_t SampleI2cTransfer(struct I2cCntlr *cntlr, struct I2cMsg *msgs, int16_t count) { int32_t ret = HDF_SUCCESS; @@ -262,7 +300,7 @@ HDF_INIT(g_sampleI2cDriverEntry); 2. Write a driver initialization function. - This example uses **SampleI2cInit** as the name of the driver initialization function \(you can name your own function\). This function must be assigned to the **Init** function in the driver entry structure so that the HDF can call it to initialize the driver. The driver initialization function needs to parse the configuration parameters obtained from the HCS and create a controller based on these parameters. The sample code is as follows: + This example uses **SampleI2cInit** as the name of the driver initialization function \(this function name is configurable\). This function must be assigned to the **Init** function in the driver entry structure so that the HDF can call it to initialize the driver. The driver initialization function needs to parse the configuration parameters obtained from the HCS and create a controller based on these parameters. The sample code is as follows: ``` /* Parse parameters, apply for memory, and create a controller. */ @@ -393,3 +431,23 @@ HDF_INIT(g_sampleI2cDriverEntry); ``` +## Building Source Code and Burning Images + +1. Edit the Makefile and add a source file to it, as shown in the following example: + + ``` + include drivers/hdf/khdf/platform/platform.mk + + obj-y += $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_core.o \ + $(HDF_PLATFORM_FRAMEWORKS_ROOT)/src/i2c_if.o \ + ./i2c_adapter.o \ + ./i2c_sample.o + ``` + + **./i2c\_sample.o** is the source file added to the Makefile in this example. + +2. Build source code and burn images to the development board. + + For details, see the related sections in [Getting Started for Standard System](../quick-start/quickstart-standard.md). + + diff --git a/en/device-dev/guide/photographing.md b/en/device-dev/guide/device-iotcamera-control-demo-photodevguide.md similarity index 99% rename from en/device-dev/guide/photographing.md rename to en/device-dev/guide/device-iotcamera-control-demo-photodevguide.md index a1617550bfb..a8da63373f6 100644 --- a/en/device-dev/guide/photographing.md +++ b/en/device-dev/guide/device-iotcamera-control-demo-photodevguide.md @@ -385,6 +385,7 @@ None Surface *surface = Surface::CreateSurface(); if (surface == nullptr) { delete fc; + return; } surface->SetWidthAndHeight(1920, 1080); /* 1920:width,1080:height */ fc->AddSurface(*surface); diff --git a/en/device-dev/guide/video-recording.md b/en/device-dev/guide/device-iotcamera-control-demo-videodevguide.md similarity index 100% rename from en/device-dev/guide/video-recording.md rename to en/device-dev/guide/device-iotcamera-control-demo-videodevguide.md diff --git a/en/device-dev/guide/development-guidelines.md b/en/device-dev/guide/device-iotcamera-control-demo.md similarity index 32% rename from en/device-dev/guide/development-guidelines.md rename to en/device-dev/guide/device-iotcamera-control-demo.md index fd34356bfaf..6f187156291 100644 --- a/en/device-dev/guide/development-guidelines.md +++ b/en/device-dev/guide/device-iotcamera-control-demo.md @@ -1,7 +1,7 @@ # Development Guidelines -- **[Photographing](photographing.md)** +- **[Photographing](device-iotcamera-control-demo-photodevguide.md)** -- **[Video Recording](video-recording.md)** +- **[Video Recording](device-iotcamera-control-demo-videodevguide.md)** diff --git a/en/device-dev/guide/use-case.md b/en/device-dev/guide/device-iotcamera-control-example.md similarity index 71% rename from en/device-dev/guide/use-case.md rename to en/device-dev/guide/device-iotcamera-control-example.md index 274e2d375df..bb9875ea208 100644 --- a/en/device-dev/guide/use-case.md +++ b/en/device-dev/guide/device-iotcamera-control-example.md @@ -1,6 +1,6 @@ # Use Case -- For details about the development board, compilation, burning, and image running, see [Getting Started with Hi3518](../quick-start/hi3518-development-board.md). A compilation result file of sample code is stored in **out/ipcamera\_hi3518ev300/dev\_tools/bin/camera\_sample**. You can copy the file to a TF card, or modify the compilation script of **camera\_sample** to copy the result to **rootfs.img**. +- For details about the development board, compilation, burning, and image running, see [Hi3518 Development Board](../quick-start/quickstart-lite-introduction-hi3518.md#section14815247616). A compilation result file of sample code is stored in **out/ipcamera\_hi3518ev300/dev\_tools/bin/camera\_sample**. You can copy the file to a TF card, or modify the compilation script of **camera\_sample** to copy the result to **rootfs.img**. Modify **output\_dir** in **applications/sample/camera/media/BUILD.gn**. @@ -11,35 +11,35 @@ - The sample code for camera development is stored in **applications/sample/camera/media/camera\_sample.cpp**. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >You should insert a TF card \(maximum capacity: 128 GB\) for photographing and video recording functions. After the system is started, the TF card is automatically mounted to the **/sdcard** directory. If the TF card is inserted after the system is started, you have to manually mount the TF card. To view the photos and videos in the TF card, copy the content to a computer. The preview function does not require a TF card. 1. Run the **cd** command to go to the end path of the executable program and start **camera\_sample** by running the command in the following figure. **Figure 1** Starting camera\_sample - ![](figures/starting-camera_sample.png "starting-camera_sample") + ![](figure/starting-camera_sample.png "starting-camera_sample") The control commands are displayed as shown in the preceding figure. Press **S** to stop the current operation \(including video recording and preview\), and press **Q** to exit the program. 2. Press **1** to take a photo in JPG format. The photo is saved in the **/sdcard** directory and named **Capture\***. **Figure 2** Serial port logs displayed after the photographing command is executed - ![](figures/serial-port-logs-displayed-after-the-photographing-command-is-executed.png "serial-port-logs-displayed-after-the-photographing-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-photographing-command-is-executed.png "serial-port-logs-displayed-after-the-photographing-command-is-executed") To view the saved file, exit the program and enter the file system. To start the program again, return to the previous step. **Figure 3** Saved files - ![](figures/saved-files.png "saved-files") + ![](figure/saved-files.png "saved-files") 3. Press **2** to start recording. The video file is in MP4 format and saved in the **/sdcard** directory with the name **Record\***. Press **S** to stop recording. **Figure 4** Serial port logs displayed after the recording command is executed - ![](figures/serial-port-logs-displayed-after-the-recording-command-is-executed.png "serial-port-logs-displayed-after-the-recording-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-recording-command-is-executed.png "serial-port-logs-displayed-after-the-recording-command-is-executed") 4. Press **Q** to exit. **Figure 5** Serial port logs displayed after the exit command is executed - ![](figures/serial-port-logs-displayed-after-the-exit-command-is-executed.png "serial-port-logs-displayed-after-the-exit-command-is-executed") + ![](figure/serial-port-logs-displayed-after-the-exit-command-is-executed.png "serial-port-logs-displayed-after-the-exit-command-is-executed") diff --git a/en/device-dev/guide/overview-0.md b/en/device-dev/guide/device-iotcamera-control-overview.md similarity index 37% rename from en/device-dev/guide/overview-0.md rename to en/device-dev/guide/device-iotcamera-control-overview.md index 39a2eba2ffd..d5a493f3a20 100644 --- a/en/device-dev/guide/overview-0.md +++ b/en/device-dev/guide/device-iotcamera-control-overview.md @@ -2,9 +2,9 @@ This document describes how to use the IoT camera development board and the built-in camera of the development kit to implement photographing and video recording. -You can perform operations provided in [Use Case](use-case.md) to learn more about development board peripheral control and then develop devices such as cameras. +You can perform operations provided in [Use Case](device-iotcamera-control-example.md) to learn more about development board peripheral control and then develop devices such as cameras. -If you want to view the sample effect first, see [Use Case](use-case.md). To customize application behavior, modify the sample code by referring to APIs described in the next section. +If you want to view the sample effect first, see [Use Case](device-iotcamera-control-example.md). To customize application behavior, modify the sample code by referring to APIs described in the next section. -For details about basic concepts for camera development, see the [camera development overview](../subsystems/overview.md). +For details about basic concepts for camera development, see the [camera development overview](../subsystems/subsys-multimedia-camera-overview.md). diff --git a/en/device-dev/guide/device-iotcamera-control.md b/en/device-dev/guide/device-iotcamera-control.md new file mode 100644 index 00000000000..f2720769bb7 --- /dev/null +++ b/en/device-dev/guide/device-iotcamera-control.md @@ -0,0 +1,9 @@ +# Camera Control + +- **[Overview](device-iotcamera-control-overview.md)** + +- **[Development Guidelines](device-iotcamera-control-demo.md)** + +- **[Use Case](device-iotcamera-control-example.md)** + + diff --git a/en/device-dev/guide/cameras-without-a-screen.md b/en/device-dev/guide/device-iotcamera.md similarity index 56% rename from en/device-dev/guide/cameras-without-a-screen.md rename to en/device-dev/guide/device-iotcamera.md index abb3a6616a0..7cbb7f06d6d 100644 --- a/en/device-dev/guide/cameras-without-a-screen.md +++ b/en/device-dev/guide/device-iotcamera.md @@ -1,5 +1,5 @@ # Cameras Without a Screen -- **[Camera Control](camera-control.md)** +- **[Camera Control](device-iotcamera-control.md)** diff --git a/en/device-dev/guide/device-outerdrive-demo.md b/en/device-dev/guide/device-outerdrive-demo.md new file mode 100644 index 00000000000..06e6ef8f479 --- /dev/null +++ b/en/device-dev/guide/device-outerdrive-demo.md @@ -0,0 +1,483 @@ +# Development Example for Peripheral Drivers + +- [Overview](#section86753818426) + - [Hardware Resources](#section123071189431) + - [Input Driver Model](#section53684425430) + +- [Setting Up the Environment](#section661075474418) +- [Developing a Touchscreen Driver](#section15233162984520) + - [Configuring Device Driver Descriptions](#section16761205604515) + - [Configuring the Touchscreen](#section156331030144617) + - [Adapting to the Private Drivers of the Touchscreen](#section17127331595) + +- [Building Source Code and Burning Images](#section16465031164711) +- [Debugging and Verification](#section62577313482) +- [Input Driver Model Workflow Analysis](#section1578569154917) + - [Parsing Private Configuration Data](#section1310113815495) + - [Initializing the Input Device Manager and Registering the Driver with the HDF](#section614512119500) + - [Initializing the Input Common Driver and Registering the Driver with the HDF](#section16194201755019) + - [Initializing the Input Chip Driver and Registering the Driver with the HDF](#section1090743312505) + - [Function Invocation Logic](#section81801147529) + + +## Overview + +This document describes how to develop a touchscreen driver on the Hi3516D V300 development board using the HDF input driver model, helping you quickly get started with peripheral driver development. + +### Hardware Resources + +The touchscreen integrated circuit \(IC\) provided by the Hi3516D V300 development board is GT911, which uses the standard inter-integrated circuit \(I2C\) to communicate with the development board and connects to the main board through the 6-pin flexible flat cable. The following figure shows the distribution of the 6 pins and their connection. + +![](figure/绘图1.png) + +### Input Driver Model + +The input driver model mainly consists of the device manager, common drivers, and chip drivers. + +- Input device manager: provides various input device drivers with the APIs for registering or unregistering input devices and manages the input device list. +- Input common driver: provides common drivers for initializing the board-level hardware, processing hardware interrupts, and registering input devices with the input device manager. +- Input chip driver: calls differentiated APIs reserved by the input platform driver to minimize the workload for input chip driver development. + +In addition, the input driver model implements functions for reporting input data and parsing input device configurations. + +For details about the input driver model, see [Touchscreen Overview](../driver/drive-peripherals-touch-des.md#section175431838101617). + +## Setting Up the Environment + +Follow the instructions in [Environment Setup for Standard System](../quick-start/quickstart-standard.md). + +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>This development example applies to standard, small, and mini OpenHarmony systems. The following sections use the standard system as an example. You can refer to the specific guide for your system to set up the environment. + +## Developing a Touchscreen Driver + +Complete the following tasks to adapt a touchscreen IC based on the input driver model. + +### Configuring Device Driver Descriptions + +Configure the touchscreen driver description required for registering the driver with the HDF, for example, whether the driver is loaded and what is the loading priority. + +You can configure the device driver description in the configuration file at **./drivers/adapter/khdf/linux/hcs/device\_info/device\_info.hcs**. + +The **device\_info.hcs** file contains all necessary information for registering drivers in the input driver model with the HDF. You do not need to make any modification for the information unless otherwise required in special scenarios. The private configuration data of each driver uses the **deviceMatchAttr** field to match the **match\_attr** field in the **input\_config.hcs** file. + +The input-related fields in the configuration file are as follows. For details about these fields, see [Driver Development](../driver/drive-hdf-development.md). + +``` +input :: host { + hostName = "input_host"; + priority = 100; + device_input_manager :: device { // Specify the device driver description of the input device manager. + device0 :: deviceNode { + policy = 2; // Services are released to both the kernel space and the user space. + priority = 100; // The default priority for the input device manager is 100. + preload = 0; // Load the driver. + permission = 0660; // Specify the permission for the driver to create device nodes. + moduleName = "HDF_INPUT_MANAGER"; // Match the moduleName in the driver entry structure. + serviceName = "hdf_input_host"; // Specify the device node name to be generated by the HDF. + deviceMatchAttr = ""; // Leave this field empty because private configuration data is not required by the input device manager currently. + } + } + + device_hdf_touch :: device { // Specify the device driver description of the input common driver. + device0 :: deviceNode { + policy = 2; // Services are released to both the kernel space and the user space. + priority = 120; // The default priority for the input common driver is 120. + preload = 0; // Load the driver. + permission = 0660; // Specify the permission for the driver to create device nodes. + moduleName = "HDF_TOUCH"; // Match the moduleName in the driver entry structure. + serviceName = "hdf_input_event1"; // Specify the device node name to be generated by the HDF. + deviceMatchAttr = "touch_device1"; // Keep this value the same as the match_attr value in the private configuration data. + } + } + + device_touch_chip :: device { // Specify the device description of the input chip driver. + device0 :: deviceNode { + policy = 0; // Services are not released to the kernel space or the user space. + priority = 130; // The default priority for the input chip driver is 130. + preload = 0; // Load the driver. + permission = 0660; // Specify the permission for the driver to create device nodes. + moduleName = "HDF_TOUCH_GT911"; // Match the moduleName in the driver entry structure. + serviceName = "hdf_touch_gt911_service";// Specify the device node name to be generated by the HDF. + deviceMatchAttr = "zsj_gt911_5p5"; // Keep this value the same as the match_attr value in the private configuration data. + } + } + } +``` + +Pay attention to the following fields in the configuration file: + +**priority**: specifies the driver loading priority. + +**preload**: specifies whether to load the driver. + +**moduleName**: This value must be the same as the **moduleName** value in the driver entry structure. + +**serviceName**: This value is used by the HDF to create a device node name. + +**deviceMatchAttr**: This value must be the same as the **match\_attr** value in the private configuration data. + +After the device descriptions are configured, the HDF matches the configuration with the code registered with the driver entry structure based on the **moduleName** field, ensuring that drivers can be loaded properly. If multiple drivers are configured, the **priority** field determines the loading sequence of each driver. + +### Configuring the Touchscreen + +The private data includes the power-on and power-off sequence, and the platform hardware information includes the GPIO port that connects the touchscreen to the main board. + +You can configure the touchscreen in the configuration file at **./drivers/adapter/khdf/linux/hcs/input/input\_config.hcs**. + +The **input\_config.hcs** file consists of the private configuration data of both the common driver and chip driver. Information of this file is read and parsed by the driver code. The configuration in the file includes the board-level hardware information and private configuration of the touchscreen. You can tailor the configuration during your development. + +``` +root { + input_config { + touchConfig { + touch0 { // Configure the first touchscreen. + boardConfig { // Specify the board-level hardware information. + match_attr = "touch_device1"; // Keep this value the same as the match_attr field in the private configuration data of the input common driver in the device description. + inputAttr { + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 0; // Set the input type to touch. + solutionX = 480; // Set the resolution in the X-axis. + solutionY = 960; // Set the resolution in the Y-axis. + devName = "main_touch"; // Set the device name. + } + busConfig { + /* 0:i2c 1:spi */ + busType = 0; // GT911 uses the I2C bus for communication. + busNum = 6; // Use the sixth bus of the chip to communicate with the development board through I2C. + clkGpio = 86; // Set the SCL pin of the chip. + dataGpio = 87; // Set the SDA pin of the chip. + i2cClkIomux = [0x114f0048, 0x403]; // Configure the SCL pin information. + i2cDataIomux = [0x114f004c, 0x403]; // Configure the SDA pin information. + } + pinConfig { + rstGpio = 3; // Set the reset pin. + intGpio = 4; // Set the interrupt pin. + rstRegCfg = [0x112f0094, 0x400]; // Configure the reset pin information. + intRegCfg = [0x112f0098, 0x400]; // Configure the interrupt pin information. + } + powerConfig { + /* 0:unused 1:ldo 2:gpio 3:pmic */ + vccType = 2; // Set the VCC type. Value 2 indicates the GPIO power supply. + vccNum = 20; // gpio20 + vccValue = 1800; // Set the voltage amplitude to 1800 mV. + vciType = 1; // Set the VCI type. Value 1 indicates the LDO power supply. + vciNum = 12; // ldo12 + vciValue = 3300; // Set the voltage amplitude to 3300 mV. + } + + featureConfig { + capacitanceTest = 0; // Configure the capacitance test. + gestureMode = 0; // Configure the gesture mode. + gloverMode = 0; // Configure the gloves mode. + coverMode = 0; // Configure the cover mode. + chargerMode = 0; // Configure the charging mode. + knuckleMode = 0; // Configure the knuckle mode. + } + } + chipConfig { // Configure the private data of the touchscreen chip. + template touchChip { // Set the template. + match_attr = ""; + chipName = "gt911"; // Set the touchscreen IC model. + vendorName = "zsj"; // Set the vendor name. + chipInfo = "AAAA11222"; // The first four characters indicate the product name. The fifth and sixth characters indicate the IC model. The last three characters indicate the chip model. + busType = 0; // 0 indicates the I2C bus, and 1 indicates the SPI bus. + deviceAddr = 0x5D; // Set the IC communication address. + irqFlag = 2; // Values 1 and 2 indicate that the interrupt is triggered on the rising and falling edges, respectively. Values 4 and 8 indicate that the interrupt is triggered by the high and low levels, respectively. + maxSpeed = 400; // Set the maximum communication rate to 400 Hz. + chipVersion = 0; // Set the touchscreen IC version. + powerSequence { + /* Power-on sequence is described as follows: + [Type, status, direction, delay] + Value 0 indicates the power or pin is empty. Values 1 and 2 indicate the VCC (1.8 V) and VCI (3.3 V) power, respectively. Values 3 and 4 indicate the reset and interrupt pins, respectively. + Values 0 and 1 indicate the power-off or pull-down, and the power-on or pull-up, respectively. Value 2 indicates that no operation is performed. + Values 0 and 1 indicate the input and output directions, respectively. Value 2 indicates that no operation is performed. + Delay time, in milliseconds. + */ + powerOnSeq = [4, 0, 1, 0, // Set the output direction for the interrupt pin and pull down the pin. + 3, 0, 1, 10, // Set the output direction for the reset pin and pull down the pin, with a delay of 10 ms. + 3, 1, 2, 60, // No operation is performed on the reset pin. Pull up the pin, with a delay of 60 ms. + 4, 2, 0, 0]; // Set the input direction for the interrupt pin. + suspendSeq = [3, 0, 2, 10]; // No operation is performed on the reset pin. Pull down the pin, with a delay of 10 ms. + resumeSeq = [3, 1, 2, 10]; // No operation is performed on the reset pin. Pull up the pin, with a delay of 10 ms. + powerOffSeq = [3, 0, 2, 10, // No operation is performed on the reset pin. Pull down the pin, with a delay of 10 ms. + 1, 0, 2, 20]; // No operation is performed on the positive pin. Pull down the pin, with a delay of 20 ms. + } + } + + chip0 :: touchChip { + match_attr = "zsj_gt911_5p5"; // Keep this value the same as the match_attr field in the touchscreen private configuration data in the device description. + chipInfo = "ZIDN45100"; // The chip information is composed of the product name, module number, and chip number, used to identity the current touchscreen in user space. + chipVersion = 0; // Set the IC model version. + } + } + } + } + } +} +``` + +In the example, **touchConfig** contains the **touch0** configuration, which describes the **boardConfig** and **chipConfig** configuration information. The **boardConfig** field provides the board-level hardware information of Hi3516D V300, and the **chipConfig** field provides the private configuration data of the touchscreen. To use another touchscreen, you can change the value of the **chipConfig** field. You can also configure multiple touchscreens for your product. In this example, **touch0** represents the hardware interface and chip configuration of the default touchscreen. If you need to configure a secondary touchscreen, add a **touch1** block parallel to **touch0**. + +### Adapting to the Private Drivers of the Touchscreen + +The input driver model abstracts the development process of input devices. You only need to adapt to the input chip driver without making any modifications for the input device manager and common driver. + +The input driver model consists of three parts of drivers. To develop a brand-new touchscreen driver, you only need to adapt your code with the input chip driver and implement differentiated APIs. The sample code in this section illustrates how you will complete the adaptation. + +1. Implement differentiated APIs for the touchscreen to adapt to the input chip driver. + + You can obtain the sample code at **./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c**. + + ``` + static struct TouchChipOps g_gt911ChipOps = { // IC options of the touchscreen + .Init = ChipInit, // Initialize the chip. + .Detect = ChipDetect, // Detect the chip. + .Resume = ChipResume, // Resume the chip. + .Suspend = ChipSuspend, // Suspend the chip. + .DataHandle = ChipDataHandle, // Read the chip data. + .UpdateFirmware = UpdateFirmware, // Update the firmware. + }; + + /* The ICs may be different depending on the touchscreen vendors, and the corresponding register operations are also different. Therefore, the code for the input chip driver focuses only on the adaptation of differentiated APIs. The following sample code demonstrates the data parsing of GT911. */ + + static int32_t ChipDataHandle(ChipDevice *device) + { + ... + /* Read the status register before GT911 obtains coordinates. */ + reg[0] = (GT_BUF_STATE_ADDR >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; + reg[1] = GT_BUF_STATE_ADDR & ONE_BYTE_MASK; + ret = InputI2cRead(i2cClient, reg, GT_ADDR_LEN, &touchStatus, 1); + if (ret < 0 || touchStatus == GT_EVENT_INVALID) { + return HDF_FAILURE; + } + ... + /* Read data from the data register based on the value of the status register. */ + reg[0] = (GT_X_LOW_BYTE_BASE >> ONE_BYTE_OFFSET) & ONE_BYTE_MASK; + reg[1] = GT_X_LOW_BYTE_BASE & ONE_BYTE_MASK; + pointNum = touchStatus & GT_FINGER_NUM_MASK; + if (pointNum == 0 || pointNum > MAX_SUPPORT_POINT) { + HDF_LOGE("%s: pointNum is invalid, %u", __func__, pointNum); + (void)ChipCleanBuffer(i2cClient); + OsalMutexUnlock(&device->driver->mutex); + return HDF_FAILURE; + } + frame->realPointNum = pointNum; + frame->definedEvent = TOUCH_DOWN; + (void)InputI2cRead(i2cClient, reg, GT_ADDR_LEN, buf, GT_POINT_SIZE * pointNum); + /* Parse the obtained data. */ + ParsePointData(device, frame, buf, pointNum); + ... + } + static void ParsePointData(ChipDevice *device, FrameData *frame, uint8_t *buf, uint8_t pointNum) + { + ... + /* Each coordinate value consists of two bytes. Obtain the final coordinate value by combining the obtained single-byte data. */ + for (i = 0; i < pointNum; i++) { + frame->fingers[i].trackId = buf[GT_POINT_SIZE * i + GT_TRACK_ID]; + frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_X_LOW] & ONE_BYTE_MASK) | + ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); + frame->fingers[i].x = (buf[GT_POINT_SIZE * i + GT_Y_LOW] & ONE_BYTE_MASK) | + ((buf[GT_POINT_SIZE * i + GT_Y_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET); + /* Print the parsed coordinate value. */ + HDF_LOGD("%s: x = %d, y = %d", __func__, frame->fingers[i].x, frame->fingers[i].y); + } + } + ``` + +2. Initialize the input chip driver and register the driver with the HDF. + + You can obtain the sample code at **./drivers/framework/model/input/driver/touchscreen/touch\_gt911.c**. + + ``` + static int32_t HdfGoodixChipInit(struct HdfDeviceObject *device) + { + ... + /* Use the chipCfg structure to allocate memory, parse the configuration information, and mount the parsed data. */ + chipCfg = ChipConfigInstance(device); + ... + /* Instantiate the touchscreen device. */ + chipDev = ChipDeviceInstance(); + ... + /* Mount touchscreen chip configuration and private operation data. */ + chipDev->chipCfg = chipCfg; + chipDev->ops = &g_gt911ChipOps; + ... + /* Register the chip driver with the platform driver. */ + RegisterChipDevice(chipDev); + ... + } + struct HdfDriverEntry g_touchGoodixChipEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH_GT911", // The value must match the moduleName field of the chip driver in the device_info.hcs file. + .Init = HdfGoodixChipInit, // Initialize the touchscreen chip driver. + }; + HDF_INIT(g_touchGoodixChipEntry); // Register the touchscreen chip driver with the HDF. + ``` + + The private chip drivers present the major differentiations among chip vendors, such as hibernation and wakeup, data parsing, and firmware update. + + Now, you have completed the adaptation for the touchscreen driver based on the HDF and input driver model. + + +## Building Source Code and Burning Images + +1. Compile the Makefile. + + Open the file at **./drivers/adapter/khdf/linux/model/input/Makefile**. + + Add the following content: + + ``` + obj-$(CONFIG_DRIVERS_HDF_TP_5P5_GT911) += \ + $(INPUT_ROOT_DIR)/touchscreen/touch_gt911.o + ``` + + **touch\_gt911.o** is the content added in this example. + +2. Build source code and burn images. For details, see the related sections in [Getting Started for Standard System](../nottoctopics/en-us_topic_0000001135402541.md#section375234715135). + +## Debugging and Verification + +The following is part of the startup log: + +``` +[I/HDF_INPUT_DRV] HdfInputManagerInit: enter // Initialize the input device manager. +[I/HDF_INPUT_DRV] HdfInputManagerInit: exit succ // The initialization is successful. +[I/osal_cdev] add cdev hdf_input_host success +[I/HDF_LOG_TAG] HdfTouchDriverProbe: enter // Initialize the input common driver. +[I/HDF_LOG_TAG] HdfTouchDriverProbe: main_touch exit succ // The initialization is successful. +[I/osal_cdev] add cdev hdf_input_event1 success +[I/HDF_INPUT_DRV] HdfGoodixChipInit: enter // Initialize the input chip driver. +[I/HDF_INPUT_DRV] ChipDetect: IC FW version is 0x1060 +[I/HDF_INPUT_DRV] Product_ID: 911_1060, x_sol = 960, y_sol = 480 +[I/HDF_LOG_TAG] ChipDriverInit: chipDetect succ, ret = 0 +[I/HDF_LOG_TAG] InputDeviceInstance: inputDev->devName = main_touch +[I/HDF_INPUT_DRV] HdfGoodixChipInit: exit succ, chipName = gt911 // The initialization is successful. +``` + +## Input Driver Model Workflow Analysis + +To help you get familiarized with the working process of the input driver model, the following sections will describe the key code loaded by the input driver model. + +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>You do not need to perform development related to the input driver model. + +### Parsing Private Configuration Data + +You can obtain the sample code at **./drivers/framework/model/input/driver/input\_config\_parser.c**. + +The configuration parsing functions provided by the OSAL can parse the fields in the **hcs** file. For details, see the implementation of each function in **input\_config\_parser.c**. If the provided template cannot meet business requirements, add required information to the **hcs** file and then develop parsing functions based on the added fields. + +``` +static int32_t ParseAttr(struct DeviceResourceIface *parser, const struct DeviceResourceNode *attrNode, BoardAttrCfg *attr) +{ + int32_t ret; + ret = parser->GetUint8(attrNode, "inputType", &attr->devType, 0); // Obtain the inputType field and save it in the BoardAttrCfg structure. + CHECK_PARSER_RET(ret, "GetUint8"); + ... + return HDF_SUCCESS; +} +``` + +### Initializing the Input Device Manager and Registering the Driver with the HDF + +You can obtain the sample code at **./drivers/framework/model/input/driver/hdf\_input\_device\_manager.c**. + +``` +static int32_t HdfInputManagerInit(struct HdfDeviceObject *device) +{ + /* Allocate memory to the device manager, which will store all input devices. */ + g_inputManager = InputManagerInstance(); + ... +} +struct HdfDriverEntry g_hdfInputEntry = { + .moduleVersion = 1, + .moduleName = "HDF_INPUT_MANAGER", + .Bind = HdfInputManagerBind, + .Init = HdfInputManagerInit, + .Release = HdfInputManagerRelease, +}; + +HDF_INIT(g_hdfInputEntry); // Driver input entry +``` + +### Initializing the Input Common Driver and Registering the Driver with the HDF + +You can obtain the sample code at **./drivers/framework/model/input/driver/hdf\_touch.c**. + +``` +static int32_t HdfTouchDriverProbe(struct HdfDeviceObject *device) +{ + ... + /* Use the boardCfg structure to allocate memory and parse the configuration information obtained from the HCS. */ + boardCfg = BoardConfigInstance(device); + ... + /* Allocate memory in the touchDriver structure. */ + touchDriver = TouchDriverInstance(); + ... + /* Initialize common resources based on the parsed board-level information, such as IIC initialization. */ + ret = TouchDriverInit(touchDriver, boardCfg); + if (ret == HDF_SUCCESS) { + ... + /* Add the driver to the common driver management linked list, which is used to query the driver after it is bound to the device. */ + AddTouchDriver(touchDriver); + ... + } + ... +} +struct HdfDriverEntry g_hdfTouchEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH", + .Bind = HdfTouchDriverBind, + .Init = HdfTouchDriverProbe, + .Release = HdfTouchDriverRelease, +}; + + HDF_INIT(g_hdfTouchEntry); // Driver input entry +``` + +### Initializing the Input Chip Driver and Registering the Driver with the HDF + +For details, see related content in [Adapting to the Private Drivers of the Touchscreen](#section17127331595). + +### Function Invocation Logic + +The init function of the input device manager initializes the device management linked list, and the init function of the common driver allocates memory for related structures. The **RegisterChipDevice** function passes touchscreen chip driver information to the related structures of the input common driver and initializes hardware information \(for example, interrupt registration\). The **RegisterInputDevice** function registers **inputDev** \(binding the device and the driver\) with the device manager. The **RegisterInputDevice** function adds **inputDev** to the device management linked list. The function implementation is as follows: + +``` +// Code location: ./drivers/framework/model/input/driver/hdf_touch.c +int32_t RegisterChipDevice(ChipDevice *chipDev) +{ + ... + /* Bind the device to the driver and create an inputDev instance using InputDeviceInstance. */ + DeviceBindDriver(chipDev); + ... + /* Implement the interrupt registration and interrupt handling functions. The interrupt handling function contains the channel for reporting data to the user space. */ + ChipDriverInit(chipDev); + ... + /* Allocate memory for instantiating inputDev. */ + inputDev = InputDeviceInstance(chipDev); + ... + /* Register inputDev with the input device manager. */ + RegisterInputDevice(inputDev); + ... +} + +// Code location: ./drivers/framework/model/input/driver/hdf_input_device_manager.c +int32_t RegisterInputDevice(InputDevice *inputDev) +{ + ... + /* Allocate a device ID, which is unique for each input device. */ + ret = AllocDeviceID(inputDev); + ... + /* This function contains special processing for hid devices but does nothing for the touchscreen driver. */ + CreateDeviceNode(inputDev); + /* Apply for the buffer for the IOService capability, which is required to transmit kernel-space data to the user space. */ + AllocPackageBuffer(inputDev); + /* Add the input device to the global device management linked list. */ + AddInputDevice(inputDev); + ... +} +``` + diff --git a/en/device-dev/guide/development.md b/en/device-dev/guide/device-wifi-led-outcontrol.md similarity index 61% rename from en/device-dev/guide/development.md rename to en/device-dev/guide/device-wifi-led-outcontrol.md index c02ffef8344..af9d86a4d2b 100644 --- a/en/device-dev/guide/development.md +++ b/en/device-dev/guide/device-wifi-led-outcontrol.md @@ -1,16 +1,26 @@ -# Development +# LED Peripheral Control -1. Complete the operations described in [Getting Started with Hi3861](../quick-start/hi3861-development-board.md). +- [Overview](#section14639174516337) +- [Development](#section13857170163412) +- [Verification](#section1949121910344) + +## Overview + +Based on the Hi3861 platform, the OpenHarmony WLAN module provides abundant peripheral operation capabilities, including the I2C, I2S, ADC, UART, SPI, SDIO, GPIO, PWM, and flash memory. This document describes how to control GPIO pins by calling the OpenHarmony native development kit \(NDK\) interface to implement LED blinking. For details about how to control other IoT peripherals, see the API guide. + +## Development + +1. Complete the operations described in [Getting Started with Hi3861](../quick-start/quickstart-lite-introduction-hi3861.md#section19352114194115). LED control examples are stored in the file **applications/sample/wifi-iot/app/iothardware/led\_example.c**. -2. Refer to the schematic diagram to understand the cable connections. The LED of Hispark Pegasus should be connected to pin 9. +2. Understand the cable connections by referring to the schematic diagram. You can learn that LED of hispark pegasus is connected to pin 9 of the chip. ``` #define LED_TEST_GPIO 9 ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >For details about the schematic diagram of the development board, contact the Hi3861 customer service personnel. 3. Initialize the GPIO pin, specify the pin usage, and create a task to turn on or off the LED periodically so that the LED blinks. @@ -89,3 +99,12 @@ ``` +## Verification + +For details about the compilation and burning processes, see [Building Source Code](../quick-start/quickstart-lite-steps-board3861-connection.md#section191121332125319) and [Burning Images](../quick-start/quickstart-lite-steps-board3861-connection.md#section19458165166) in the _Getting Started with Hi3861_. + +After the preceding two steps are complete, press the **RST** button to reset the module. If the LED blinks periodically as expected, the verification is passed. + +**Figure 1** LED blinking +![](figure/led-blinking.gif "led-blinking") + diff --git a/en/device-dev/guide/third-party-sdk-integration.md b/en/device-dev/guide/device-wifi-sdk.md similarity index 99% rename from en/device-dev/guide/third-party-sdk-integration.md rename to en/device-dev/guide/device-wifi-sdk.md index db6388833d5..dee530d9b86 100644 --- a/en/device-dev/guide/third-party-sdk-integration.md +++ b/en/device-dev/guide/device-wifi-sdk.md @@ -121,7 +121,7 @@ Before building **libs**, you must perform the following steps: After the preceding operations are complete, run the **hb build -T //domains/iot/link:iot** command in the root directory of the code and then check whether the target library file is generated in the **out/hispark\_pegasus/wifiiot\_hispark\_pegasus/libs/** directory. -![](figures/en-us_image_0000001078563230.png) +![](figure/en-us_image_0000001078563230.png) Copy the library file to the **device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/demolink/libs/** directory and delete the **.c** and **.h** files from the **domains/iot/link/libbuild/** directory. @@ -144,7 +144,7 @@ The APIs used in the platform SDK are different from the OpenHarmony APIs and ca /* * Create a thread for the IoT OS. - * Return 0 if the operation is successful; return a non-zero value otherwise. + * Returns 0 if the operation is successful; returns a non-zero value otherwise. */ int DemoSdkCreateTask(unsigned int *handle, const struct TaskPara *para); ``` diff --git a/en/device-dev/guide/wlan-connected-products.md b/en/device-dev/guide/device-wifi.md similarity index 36% rename from en/device-dev/guide/wlan-connected-products.md rename to en/device-dev/guide/device-wifi.md index 184f46eb0e1..73a5fc8cae7 100644 --- a/en/device-dev/guide/wlan-connected-products.md +++ b/en/device-dev/guide/device-wifi.md @@ -1,5 +1,7 @@ # WLAN-connected Products -- **[LED Peripheral Control](led-peripheral-control.md)** +- **[LED Peripheral Control](device-wifi-led-outcontrol.md)** + +- **[Third-Party SDK Integration](device-wifi-sdk.md)** diff --git a/en/device-dev/guide/device.md b/en/device-dev/guide/device.md new file mode 100644 index 00000000000..80fbb7796e3 --- /dev/null +++ b/en/device-dev/guide/device.md @@ -0,0 +1,15 @@ +# Device Development Guidelines + +- **[WLAN-connected Products](device-wifi.md)** + +- **[Cameras Without a Screen](device-iotcamera.md)** + +- **[Cameras with a Screen](device-camera.md)** + +- **[Development Guidelines on Clock Apps](oem_device_clockapp_des.md)** + +- **[Development Example for Platform Drivers](device-drive-demo.md)** + +- **[Development Example for Peripheral Drivers](device-outerdrive-demo.md)** + + diff --git a/en/device-dev/guide/faqs-10.md b/en/device-dev/guide/faqs-10.md deleted file mode 100644 index b9828da1546..00000000000 --- a/en/device-dev/guide/faqs-10.md +++ /dev/null @@ -1,39 +0,0 @@ -# FAQs - -- [hdc\_std Fails to Connect to a Device](#section1221016541119) -- [hdc\_std Fails to Run](#section219185710311) - -## hdc\_std Fails to Connect to a Device - -- **Symptom** - - **\[Empty\]** is displayed in the output after the **hdc\_std list targets** command is run. - -- **Possible Causes and Solutions** - 1. The device cannot be identified. - - Check whether **HDC Device** exists in the universal serial bus device of the device manager. If **HDC Device** does not exist, the device cannot be connected. In this case, remove and then insert the device or burn the latest image for the device. - - 2. hdc\_std works improperly. - - Run the **hdc kill** or **hdc start -r** command to kill or restart the hdc service, and then run the **hdc list targets** command to check whether device information is obtained. - - If no device information is obtained, check whether the adb process exists in the task manager. If the adb process exists, kill this process because it may affect the hdc service. After that, run **hdc kill** or **hdc start -r** and then **hdc list targets** again. - - 3. hdc\_std does not match the device. - - If the latest image is burnt for the device, hdc\_std must also be of the latest version. As hdc\_std is updated continuously, obtain hdc\_std of the latest version from the **developtools\_hdc\_standard** repository in the **prebuilt** directory. - - - -## hdc\_std Fails to Run - -- **Symptom** - - The **hdc\_std.exe** file does not run after being clicked. - -- **Possible Causes and Solutions** - - **hdc\_std.exe** requires no installation and can be directly used on a disk. It can also be added to environment variables. Open the cmd window and run the **hdc\_std** command to use **hdc\_std.exe**. - - diff --git a/en/device-dev/guide/figures/adding-a-page.png b/en/device-dev/guide/figure/adding-a-page.png similarity index 100% rename from en/device-dev/guide/figures/adding-a-page.png rename to en/device-dev/guide/figure/adding-a-page.png diff --git a/en/device-dev/guide/figures/clock.png b/en/device-dev/guide/figure/clock.png similarity index 100% rename from en/device-dev/guide/figures/clock.png rename to en/device-dev/guide/figure/clock.png diff --git a/en/device-dev/guide/figures/complete-project-directory.png b/en/device-dev/guide/figure/complete-project-directory.png similarity index 100% rename from en/device-dev/guide/figures/complete-project-directory.png rename to en/device-dev/guide/figure/complete-project-directory.png diff --git a/en/device-dev/guide/figures/en-us_image_0000001078563230.png b/en/device-dev/guide/figure/en-us_image_0000001078563230.png similarity index 100% rename from en/device-dev/guide/figures/en-us_image_0000001078563230.png rename to en/device-dev/guide/figure/en-us_image_0000001078563230.png diff --git a/en/device-dev/guide/figures/en-us_image_0000001082434703.png b/en/device-dev/guide/figure/en-us_image_0000001082434703.png similarity index 100% rename from en/device-dev/guide/figures/en-us_image_0000001082434703.png rename to en/device-dev/guide/figure/en-us_image_0000001082434703.png diff --git a/en/device-dev/guide/figures/en-us_image_0000001161922745.png b/en/device-dev/guide/figure/en-us_image_0000001169991055.png similarity index 100% rename from en/device-dev/guide/figures/en-us_image_0000001161922745.png rename to en/device-dev/guide/figure/en-us_image_0000001169991055.png diff --git a/en/device-dev/guide/figures/entering-the-page-name.png b/en/device-dev/guide/figure/entering-the-page-name.png similarity index 100% rename from en/device-dev/guide/figures/entering-the-page-name.png rename to en/device-dev/guide/figure/entering-the-page-name.png diff --git a/en/device-dev/guide/figures/home-screen.png b/en/device-dev/guide/figure/home-screen.png similarity index 100% rename from en/device-dev/guide/figures/home-screen.png rename to en/device-dev/guide/figure/home-screen.png diff --git a/en/device-dev/guide/figures/indicator-bar.png b/en/device-dev/guide/figure/indicator-bar.png similarity index 100% rename from en/device-dev/guide/figures/indicator-bar.png rename to en/device-dev/guide/figure/indicator-bar.png diff --git a/en/device-dev/guide/figures/led-blinking.gif b/en/device-dev/guide/figure/led-blinking.gif similarity index 100% rename from en/device-dev/guide/figures/led-blinking.gif rename to en/device-dev/guide/figure/led-blinking.gif diff --git a/en/device-dev/guide/figures/preview-effect.jpg b/en/device-dev/guide/figure/preview-effect.jpg similarity index 100% rename from en/device-dev/guide/figures/preview-effect.jpg rename to en/device-dev/guide/figure/preview-effect.jpg diff --git a/en/device-dev/guide/figures/project-directory.png b/en/device-dev/guide/figure/project-directory.png similarity index 100% rename from en/device-dev/guide/figures/project-directory.png rename to en/device-dev/guide/figure/project-directory.png diff --git a/en/device-dev/guide/figures/saved-files.png b/en/device-dev/guide/figure/saved-files.png similarity index 100% rename from en/device-dev/guide/figures/saved-files.png rename to en/device-dev/guide/figure/saved-files.png diff --git a/en/device-dev/guide/figures/serial-port-logs-displayed-after-the-exit-command-is-executed.png b/en/device-dev/guide/figure/serial-port-logs-displayed-after-the-exit-command-is-executed.png similarity index 100% rename from en/device-dev/guide/figures/serial-port-logs-displayed-after-the-exit-command-is-executed.png rename to en/device-dev/guide/figure/serial-port-logs-displayed-after-the-exit-command-is-executed.png diff --git a/en/device-dev/guide/figures/serial-port-logs-displayed-after-the-photographing-command-is-executed.png b/en/device-dev/guide/figure/serial-port-logs-displayed-after-the-photographing-command-is-executed.png similarity index 100% rename from en/device-dev/guide/figures/serial-port-logs-displayed-after-the-photographing-command-is-executed.png rename to en/device-dev/guide/figure/serial-port-logs-displayed-after-the-photographing-command-is-executed.png diff --git a/en/device-dev/guide/figures/serial-port-logs-displayed-after-the-preview-command-is-executed.png b/en/device-dev/guide/figure/serial-port-logs-displayed-after-the-preview-command-is-executed.png similarity index 100% rename from en/device-dev/guide/figures/serial-port-logs-displayed-after-the-preview-command-is-executed.png rename to en/device-dev/guide/figure/serial-port-logs-displayed-after-the-preview-command-is-executed.png diff --git a/en/device-dev/guide/figures/serial-port-logs-displayed-after-the-recording-command-is-executed.png b/en/device-dev/guide/figure/serial-port-logs-displayed-after-the-recording-command-is-executed.png similarity index 100% rename from en/device-dev/guide/figures/serial-port-logs-displayed-after-the-recording-command-is-executed.png rename to en/device-dev/guide/figure/serial-port-logs-displayed-after-the-recording-command-is-executed.png diff --git a/en/device-dev/guide/figures/starting-camera_sample.png b/en/device-dev/guide/figure/starting-camera_sample.png similarity index 100% rename from en/device-dev/guide/figures/starting-camera_sample.png rename to en/device-dev/guide/figure/starting-camera_sample.png diff --git a/en/device-dev/guide/figures/title-bar-and-information-bar.png b/en/device-dev/guide/figure/title-bar-and-information-bar.png similarity index 100% rename from en/device-dev/guide/figures/title-bar-and-information-bar.png rename to en/device-dev/guide/figure/title-bar-and-information-bar.png diff --git a/en/device-dev/guide/figures/title-bar.png b/en/device-dev/guide/figure/title-bar.png similarity index 100% rename from en/device-dev/guide/figures/title-bar.png rename to en/device-dev/guide/figure/title-bar.png diff --git a/en/device-dev/guide/figures/video_2020-07-25_173141.gif b/en/device-dev/guide/figure/video_2020-07-25_173141.gif similarity index 100% rename from en/device-dev/guide/figures/video_2020-07-25_173141.gif rename to en/device-dev/guide/figure/video_2020-07-25_173141.gif diff --git "a/en/device-dev/guide/figures/\347\273\230\345\233\2761.png" "b/en/device-dev/guide/figure/\347\273\230\345\233\2761.png" similarity index 100% rename from "en/device-dev/guide/figures/\347\273\230\345\233\2761.png" rename to "en/device-dev/guide/figure/\347\273\230\345\233\2761.png" diff --git a/en/device-dev/guide/function-invocation-logic.md b/en/device-dev/guide/function-invocation-logic.md deleted file mode 100644 index 8f633c3a85a..00000000000 --- a/en/device-dev/guide/function-invocation-logic.md +++ /dev/null @@ -1,40 +0,0 @@ -# Function Invocation Logic - -The init function of the input device manager initializes the device management linked list, and the init function of the common driver allocates memory for related structures. The **RegisterChipDevice** function passes touchscreen chip driver information to the related structures of the input common driver and initializes hardware information \(for example, interrupt registration\). The **RegisterInputDevice** function registers **inputDev** \(binding the device and the driver\) with the device manager. The **RegisterInputDevice** function adds **inputDev** to the device management linked list. The function implementation is as follows: - -``` -// Code location: ./drivers/framework/model/input/driver/hdf_touch.c -int32_t RegisterChipDevice(ChipDevice *chipDev) -{ - ... - /* Bind the device to the driver and create an inputDev instance using InputDeviceInstance. */ - DeviceBindDriver(chipDev); - ... - /* Implement the interrupt registration and interrupt handling functions. The interrupt handling function contains the channel for reporting data to the user space. */ - ChipDriverInit(chipDev); - ... - /* Allocate memory for instantiating inputDev. */ - inputDev = InputDeviceInstance(chipDev); - ... - /* Register inputDev with the input device manager. */ - RegisterInputDevice(inputDev); - ... -} - -// Code location: ./drivers/framework/model/input/driver/hdf_input_device_manager.c -int32_t RegisterInputDevice(InputDevice *inputDev) -{ - ... - /* Allocate a device ID, which is unique for each input device. */ - ret = AllocDeviceID(inputDev); - ... - /* This function contains special processing for hid devices but does nothing for the touchscreen driver. */ - CreateDeviceNode(inputDev); - /* Apply for the buffer for the IOService capability, which is required to transmit kernel-space data to the user space. */ - AllocPackageBuffer(inputDev); - /* Add the input device to the global device management linked list. */ - AddInputDevice(inputDev); - ... -} -``` - diff --git a/en/device-dev/guide/hardware-resources.md b/en/device-dev/guide/hardware-resources.md deleted file mode 100644 index 5e93297911c..00000000000 --- a/en/device-dev/guide/hardware-resources.md +++ /dev/null @@ -1,6 +0,0 @@ -# Hardware Resources - -The touchscreen integrated circuit \(IC\) provided by the Hi3516D V300 development board is GT911, which uses the standard inter-integrated circuit \(I2C\) to communicate with the development board and connects to the main board through the 6-pin flexible flat cable. The following figure shows the distribution of the 6 pins and their connection. - -![](figures/绘图1.png) - diff --git a/en/device-dev/guide/initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md b/en/device-dev/guide/initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md deleted file mode 100644 index 80abf74934c..00000000000 --- a/en/device-dev/guide/initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md +++ /dev/null @@ -1,4 +0,0 @@ -# Initializing the Input Chip Driver and Registering the Driver with the HDF - -For details, see step [Initialize the input chip driver and register the driver with the HDF](adapting-to-the-private-drivers-of-the-touchscreen.md). - diff --git a/en/device-dev/guide/initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md b/en/device-dev/guide/initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md deleted file mode 100644 index cf43752893c..00000000000 --- a/en/device-dev/guide/initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md +++ /dev/null @@ -1,35 +0,0 @@ -# Initializing the Input Common Driver and Registering the Driver with the HDF - -You can obtain the sample code at **./drivers/framework/model/input/driver/hdf\_touch.c**. - -``` -static int32_t HdfTouchDriverProbe(struct HdfDeviceObject *device) -{ - ... - /* Use the boardCfg structure to allocate memory and parse the configuration information obtained from the HCS. */ - boardCfg = BoardConfigInstance(device); - ... - /* Allocate memory in the touchDriver structure. */ - touchDriver = TouchDriverInstance(); - ... - /* Initialize common resources based on the parsed board-level information, such as IIC initialization. */ - ret = TouchDriverInit(touchDriver, boardCfg); - if (ret == HDF_SUCCESS) { - ... - /* Add the driver to the common driver management linked list, which is used to query the driver after it is bound to the device. */ - AddTouchDriver(touchDriver); - ... - } - ... -} -struct HdfDriverEntry g_hdfTouchEntry = { - .moduleVersion = 1, - .moduleName = "HDF_TOUCH", - .Bind = HdfTouchDriverBind, - .Init = HdfTouchDriverProbe, - .Release = HdfTouchDriverRelease, -}; - - HDF_INIT(g_hdfTouchEntry); // Driver registration entry -``` - diff --git a/en/device-dev/guide/initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md b/en/device-dev/guide/initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md deleted file mode 100644 index a8ebbf4a5de..00000000000 --- a/en/device-dev/guide/initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md +++ /dev/null @@ -1,22 +0,0 @@ -# Initializing the Input Device Manager and Registering the Driver with the HDF - -You can obtain the sample code at **./drivers/framework/model/input/driver/hdf\_input\_device\_manager.c**. - -``` -static int32_t HdfInputManagerInit(struct HdfDeviceObject *device) -{ - /* Allocate memory to the device manager, which will store all input devices. */ - g_inputManager = InputManagerInstance(); - ... -} -struct HdfDriverEntry g_hdfInputEntry = { - .moduleVersion = 1, - .moduleName = "HDF_INPUT_MANAGER", - .Bind = HdfInputManagerBind, - .Init = HdfInputManagerInit, - .Release = HdfInputManagerRelease, -}; - -HDF_INIT(g_hdfInputEntry); // Driver registration entry -``` - diff --git a/en/device-dev/guide/input-driver-model-workflow-analysis.md b/en/device-dev/guide/input-driver-model-workflow-analysis.md deleted file mode 100644 index c99c0617eaa..00000000000 --- a/en/device-dev/guide/input-driver-model-workflow-analysis.md +++ /dev/null @@ -1,18 +0,0 @@ -# Input Driver Model Workflow Analysis - -To help you get familiarized with the working process of the input driver model, the following sections will describe the key code loaded by the input driver model. - ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->You do not need to perform development related to the input driver model. - -- **[Parsing Private Configuration Data](parsing-private-configuration-data.md)** - -- **[Initializing the Input Device Manager and Registering the Driver with the HDF](initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md)** - -- **[Initializing the Input Common Driver and Registering the Driver with the HDF](initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md)** - -- **[Initializing the Input Chip Driver and Registering the Driver with the HDF](initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md)** - -- **[Function Invocation Logic](function-invocation-logic.md)** - - diff --git a/en/device-dev/guide/input-driver-model.md b/en/device-dev/guide/input-driver-model.md deleted file mode 100644 index a4f2cdb3720..00000000000 --- a/en/device-dev/guide/input-driver-model.md +++ /dev/null @@ -1,12 +0,0 @@ -# Input Driver Model - -The input driver model mainly consists of the device manager, common drivers, and chip drivers. - -- Input device manager: provides various input device drivers with the APIs for registering or unregistering input devices and manages the input device list. -- Input common driver: provides common drivers for initializing the board-level hardware, processing hardware interrupts, and registering input devices with the input device manager. -- Input chip driver: calls differentiated APIs reserved by the input platform driver to minimize the workload for input chip driver development. - -In addition, the input driver model implements functions for reporting input data and parsing input device configurations. - -For details about the input driver model, see [Touchscreen Overview](https://device.harmonyos.com/en/docs/develop/drive/oem_drive_touch_des-0000001052857350)[Touchscreen Overview](../driver/touchscreenoverview.md). - diff --git a/en/device-dev/guide/led-peripheral-control.md b/en/device-dev/guide/led-peripheral-control.md deleted file mode 100644 index abe05cea370..00000000000 --- a/en/device-dev/guide/led-peripheral-control.md +++ /dev/null @@ -1,9 +0,0 @@ -# LED Peripheral Control - -- **[Overview](overview.md)** - -- **[Development](development.md)** - -- **[Verification](verification.md)** - - diff --git a/en/device-dev/guide/how-to-develop.md b/en/device-dev/guide/oem_device_clockapp_des.md similarity index 34% rename from en/device-dev/guide/how-to-develop.md rename to en/device-dev/guide/oem_device_clockapp_des.md index 28b0a31d6c8..5a7836cea35 100644 --- a/en/device-dev/guide/how-to-develop.md +++ b/en/device-dev/guide/oem_device_clockapp_des.md @@ -1,15 +1,42 @@ -# How to Develop +# Development Guidelines on Clock Apps + +- [Overview](#section11522349121115) +- [Preparations](#section6592121861218) +- [How to Develop](#section19901741111312) +- [Signing and Packaging](#section10601181101516) +- [Running on the Real Device](#section092721731511) +- [FAQs](#section1122413460153) + - [hdc\_std Fails to Connect to a Device](#section1922725151614) + - [hdc\_std Fails to Run](#section15657547131615) + + +## Overview + +This document describes how to quickly set up a development environment \(using the Hi3516D V300 development board\) and develop a clock app running on OpenHarmony. You can click [here](https://gitee.com/openharmony/app_samples/tree/master/common/Clock) to obtain the sample code. + +The clock app displays the current time, as shown in the following figure. + +**Figure 1** Clock display effect + + +![](figure/clock.png) + +## Preparations + +Download and install DevEco Studio. For details, see the [HUAWEI DevEco Studio User Guide](../../application-dev/quick-start/deveco-studio-(openharmony)-user-guide.md). + +## How to Develop The Clock app displays the current time through a clock face and numbers. -As shown in [Figure 1 Clock display effect](overview-7.md#fig7763172132019), the page consists of two parts: +As shown in [Figure 1 Clock display effect](oem_device_clockapp_des.md#fig7763172132019), the UI consists of two parts: - Clock face area: displays a dynamic analog clock whose hands rotate accurately. - Digital time area: displays the current time in numerals. To build such an app, we can create a page that has a flexible layout with two rows vertically arranged. The development procedure is as follows: -1. Add a root **** to the **.hml** file. Note that each **.hml** file can contain only one root component. The example code is as follows: +1. Add a root component **** to the **.hml** file. Note that each **.hml** file can contain only one root component. The sample code is as follows: ```
    @@ -32,14 +59,14 @@ To build such an app, we can create a page that has a flexible layout with two r 2. Implement clock hand rotation using the **** component. The **** component provides a stack container where child components are successively stacked and the latter one overwrites the previous one. - Add a stack container to the root component. The example code is as follows: + Add a stack container to the root component. The sample code is as follows: ```
    + style="transform : rotate({{ hour * 30 + minute / 2 }}deg);"> ``` - **style="transform: rotate\(\{\{ second \* 6 \}\}deg\)** sets the rotation event of a component. **transform** translates, rotates, or scales an element. **rotate** rotates an element. You can set the element to rotate around its x-axis or y-axis. + **style="transform: rotate\(\{\{ second \* 6 \}\}deg\)** sets the rotation event of a component. **transform** translates, rotates, or scales an image. **rotate** rotates an image. You can set an image to rotate around its x-axis or y-axis. - Set attributes, such as the height, width, and position, of the component in the CSS file. The example code is as follows: + Set attributes, such as the height, width, and position, of the stack component in the CSS file. The sample code is as follows: ``` .stack { @@ -62,7 +89,7 @@ To build such an app, we can create a page that has a flexible layout with two r } ``` - Set attributes, such as the height and width, of the component in the CSS file. The example code is as follows: + Set attributes, such as the height and width, of the clock-bg component in the CSS file. The sample code is as follows: ``` .clock-bg { @@ -72,7 +99,7 @@ To build such an app, we can create a page that has a flexible layout with two r } ``` - Set attributes, such as the height and width of the hour, minute, and second hands, of the component in the CSS file. The example code is as follows: + Set attributes, such as the height and width of the hour, minute, and second hands, of the clock-hand component in the CSS file. The sample code is as follows: ``` .clock-hand { @@ -82,7 +109,7 @@ To build such an app, we can create a page that has a flexible layout with two r } ``` - Add a timer in the **index.js** file to update the hour, minute, and second variables in real time so that time can be automatically updated on the app UI. The example code is as follows: + Add a timer in the **index.js** file to update the hour, minute, and second variables in real time so that the time can be automatically updated on the app UI. The sample code is as follows: ``` export default { @@ -95,7 +122,7 @@ To build such an app, we can create a page that has a flexible layout with two r }, onInit () { this.updateTime(); - this.timer = setInterval(this.updateTime, 1000)// Set the update time of the timer to 1 second. + this.timer = setInterval(this.updateTime, 1000)// Set the timer to 1 second. }, updateTime: function () { var nowTime = new Date() @@ -115,13 +142,13 @@ To build such an app, we can create a page that has a flexible layout with two r } ``` -3. Display the current time in digital form under the analog clock. Add the **** component at the end of the root layout. The following example shows the page structure: +3. Display the current time in numerals under the analog clock. Add the text component at the end of the root layout. The following example shows the UI structure: ``` {{ hour }}:{{ minute }}:{{ second }} ``` - **class="digit-clock"** sets the height, width, and font size of the component. The example code is as follows: + class=**"digit-clock"** sets the height, width, and font size of the component. The sample code is as follows: ``` .digit-clock { @@ -132,99 +159,174 @@ To build such an app, we can create a page that has a flexible layout with two r } ``` -4. Set the style, animation effect, and dynamic data binding for all components. The complete example code is as follows: - +4. Set the style, animation effect, and dynamic data binding for all components. The complete sample code is as follows: - **index.hml** - ``` -
    - - - - - - - {{ hour }}:{{ minute }}:{{ second }} -
    - ``` + ``` +
    + + + + + + + {{ hour }}:{{ minute }}:{{ second }} +
    + ``` - - **index.css** - ``` - .container { - flex-direction: column; - justify-content: center; - align-items: center; - width: 100%; - height: 100%; - } - - .stack { - flex-direction: column; - justify-content: center; - align-items: center; - width: 100%; - height: 50%; - } + - **index.css** - .digit-clock { - font-size: 58px; - width: 100%; - margin-top: 0px; - text-align: center; - } + ``` + .container { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + } + + .stack { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 50%; + } + + .digit-clock { + font-size: 58px; + width: 100%; + margin-top: 0px; + text-align: center; + } + + .clock-bg { + width: 80%; + height: 80%; + object-fit: scale-down; + } + + .clock-hand { + width: 25%; + height: 65%; + object-fit: contain; + } + ``` + + + - **index.js** - .clock-bg { - width: 80%; - height: 80%; - object-fit: scale-down; - } + A **.js** file is used to implement logic interactions of the clock app. The following **.js** file implements the function of periodically obtaining the system time. - .clock-hand { - width: 25%; - height: 65%; - object-fit: contain; - } + ``` + export default { + timer: undefined, + data: { + hour: 0, + minute: 0, + second: 0 + }, + onInit() { + this.updateTime() + this.timer = setInterval(this.updateTime, 1000) + }, + updateTime: function () { + var nowTime = new Date() + this.hour = nowTime.getHours() + this.minute = nowTime.getMinutes() + this.second = nowTime.getSeconds() + if (this.hour < 10) { + this.hour = '0' + this.hour + } + if (this.minute < 10) { + this.minute = '0' + this.minute + } + if (this.second < 10) { + this.second = '0' + this.second + } + }, + onDestroy() { + clearInterval(this.timer); + } + } + ``` + + + +## Signing and Packaging + +After finishing writing the app code, you need to sign and package the app before running it on a real device. For details, see [Signing and Packaging Guide](../../application-dev/quick-start/configuring-the-openharmony-app-signature.md). + +## Running on the Real Device + +Before you install the app and run it on the development board, install the DevEco Device Tool by following operations provided in [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/tool_install-0000001050164976). Burn OpenHarmony into the development board, and run it on the board. For details about how to build, burn, and run an image, see [Getting Started with Hi3516](../quick-start/quickstart-standard.md). After the image is running normally and the system is started properly, perform the following steps to install or uninstall the app: + +1. Obtain the HDC client from the following path: + + ``` + developtools/hdc_standard/prebuilt/windows/hdc_std.exe ``` - - **index.js** + Change the HDC client name to **hdc.exe** and add the path above to the system environment variable **path**. - A **.js** file is used to implement interaction logic of your app. In the **.js** file of the page, implement the function of periodically obtaining the system time. +2. Open the **cmd** window, and run the following commands to push the HAP file to the device directory, and install it: ``` - export default { - timer: undefined, - data: { - hour: 0, - minute: 0, - second: 0 - }, - onInit() { - this.updateTime() - this.timer = setInterval(this.updateTime, 1000) - }, - updateTime: function () { - var nowTime = new Date() - this.hour = nowTime.getHours() - this.minute = nowTime.getMinutes() - this.second = nowTime.getSeconds() - if (this.hour < 10) { - this.hour = '0' + this.hour - } - if (this.minute < 10) { - this.minute = '0' + this.minute - } - if (this.second < 10) { - this.second = '0' + this.second - } - }, - onDestroy() { - clearInterval(this.timer); - } - } + hdc smode + hdc target mount + hdc file send clock.hap /data/clock.hap + hdc shell chmod 666 /data/clock.hap + hdc shell bm install -p /data/clock.hap + ``` + +3. Run the following command to start the app. **ohos.samples.clock** indicates the app package name, and **MainAbility** indicates the ability started by the app. + + ``` + hdc shell aa start -d 123 -a ohos.samples.clock.MainAbility -b ohos.samples.clock + ``` + +4. \(Optional\) Run the following command to uninstall the app. **ohos.samples.clock** indicates the app package name. + + ``` + hdc shell bm uninstall -n ohos.samples.clock ``` +## FAQs + +### hdc\_std Fails to Connect to a Device + +- **Symptom** + + **\[Empty\]** is displayed in the output after the **hdc\_std list targets** command is run. + +- **Possible Causes and Solutions** + 1. The device fails to be identified. + + Check whether **HDC Device** exists in the universal serial bus device of the device manager. If **HDC Device** does not exist, the device cannot be connected. In this case, remove and then insert the device or burn the latest image for the device. + + 2. hdc\_std works improperly. + + Run the **hdc kill** or **hdc start -r** command to kill or restart the HDC service, and then run the **hdc list targets** command to check whether device information is obtained. + + 3. hdc\_std does not match the device. + + If the latest image is burnt for the device, hdc\_std must also be of the latest version. As hdc\_std is updated continuously, obtain hdc\_std of the latest version from the **developtools\_hdc\_standard** repository in the **prebuilt** directory. + + + +### hdc\_std Fails to Run + +- **Symptom** + + The **hdc\_std.exe** file does not run after being clicked. + +- **Possible Causes and Solutions** + + **hdc\_std.exe** requires no installation and can be directly used on a disk. It can also be added to environment variables. Open the **cmd** window and run the **hdc\_std** command to use **hdc\_std.exe**. + + diff --git a/en/device-dev/guide/overview-10.md b/en/device-dev/guide/overview-10.md deleted file mode 100644 index f2936c824fa..00000000000 --- a/en/device-dev/guide/overview-10.md +++ /dev/null @@ -1,26 +0,0 @@ -# Overview - -- [When to Use](#section191543223549) - -This document uses the I2C driver as an example to describe how to develop platform drivers based on the hardware driver foundation \(HDF\). - ->![](public_sys-resources/icon-caution.gif) **CAUTION:** ->The sample code in this document is for reference only and cannot be directly used for commercial integration. - -## When to Use - -The HDF provides a standard driver framework for common peripherals. To use the APIs provided by the HDF to perform operations on peripherals, you only need to adapt the specific driver to the HDF. - -In this example, an I2C driver is used. [Figure 1](#fig148041484161) shows the sequence diagram of the I2C driver. - -**Figure 1** I2C driver sequence diagram - - -![](figures/en-us_image_0000001161922745.png) - -- User Business: business-triggered driver -- i2cManagerEntry: entry to the I2C manager, which is used to register the I2C manager with the HDF -- I2cManager: I2C manager, which manages the I2C controller -- I2cCntlr: I2C controller -- i2cDriverEntry: entry to the I2C controller, which is used to register the I2C controller with the HDF - diff --git a/en/device-dev/guide/overview-13.md b/en/device-dev/guide/overview-13.md deleted file mode 100644 index 608d2272089..00000000000 --- a/en/device-dev/guide/overview-13.md +++ /dev/null @@ -1,9 +0,0 @@ -# Overview - -This document describes how to develop a touchscreen driver on the Hi3516D V300 development board using the HDF input driver model, helping you quickly get started with peripheral driver development. - -- **[Hardware Resources](hardware-resources.md)** - -- **[Input Driver Model](input-driver-model.md)** - - diff --git a/en/device-dev/guide/overview-7.md b/en/device-dev/guide/overview-7.md deleted file mode 100644 index a1d94bca127..00000000000 --- a/en/device-dev/guide/overview-7.md +++ /dev/null @@ -1,15 +0,0 @@ -# Overview - -- [Display Effect](#section3997224182313) - -This document describes how to quickly set up a development environment \(using the Hi3516D V300 development board\) and develop a clock app running on OpenHarmony. You can click [here](https://gitee.com/openharmony/app_samples/tree/master/common/Clock) to obtain the sample code. - -## Display Effect - -The Clock app displays the current time, as shown in the following figure. - -**Figure 1** Clock display effect - - -![](figures/clock.png) - diff --git a/en/device-dev/guide/overview.md b/en/device-dev/guide/overview.md deleted file mode 100644 index 598fa8d3b91..00000000000 --- a/en/device-dev/guide/overview.md +++ /dev/null @@ -1,4 +0,0 @@ -# Overview - -Based on the Hi3861 platform, the OpenHarmony WLAN module provides abundant peripheral operation capabilities, including the I2C, I2S, ADC, UART, SPI, SDIO, GPIO, PWM, and flash memory. This document describes how to control GPIO pins by calling the OpenHarmony native development kit \(NDK\) interface to implement LED blinking. For details about how to control other IoT peripherals, see the API guide. - diff --git a/en/device-dev/guide/parsing-private-configuration-data.md b/en/device-dev/guide/parsing-private-configuration-data.md deleted file mode 100644 index a66a1a0f634..00000000000 --- a/en/device-dev/guide/parsing-private-configuration-data.md +++ /dev/null @@ -1,17 +0,0 @@ -# Parsing Private Configuration Data - -You can obtain the sample code at **./drivers/framework/model/input/driver/input\_config\_parser.c**. - -The configuration parsing functions provided by the OSAL can parse the fields in the **hcs** file. For details, see the implementation of each function in **input\_config\_parser.c**. If the provided template cannot meet business requirements, you need to add required information to the **hcs** file and then develop parsing functions based on the added fields. - -``` -static int32_t ParseAttr(struct DeviceResourceIface *parser, const struct DeviceResourceNode *attrNode, BoardAttrCfg *attr) -{ - int32_t ret; - ret = parser->GetUint8(attrNode, "inputType", &attr->devType, 0); // Obtain the inputType field and save it in the BoardAttrCfg structure. - CHECK_PARSER_RET(ret, "GetUint8"); - ... - return HDF_SUCCESS; -} -``` - diff --git a/en/device-dev/guide/preparations-11.md b/en/device-dev/guide/preparations-11.md deleted file mode 100644 index 50badfb8ff6..00000000000 --- a/en/device-dev/guide/preparations-11.md +++ /dev/null @@ -1,7 +0,0 @@ -# Preparations - -Set up the environment by referring to [Setting Up a Standard OpenHarmony Environment](../quick-start/standard-system.md). - ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->This development example applies to standard, small, and mini OpenHarmony systems. The following sections use the standard system as an example. You can refer to the specific guide for your system to set up the environment. - diff --git a/en/device-dev/guide/preparations-8.md b/en/device-dev/guide/preparations-8.md deleted file mode 100644 index e56d1485fdb..00000000000 --- a/en/device-dev/guide/preparations-8.md +++ /dev/null @@ -1,8 +0,0 @@ -# Preparations - -- [Setting Up the Development Environment and Creating a Project](#section1912530122716) - -## Setting Up the Development Environment and Creating a Project - -Download and install DevEco Studio. For details, see the [HUAWEI DevEco Studio User Guide](../../application-dev/quick-start/deveco-studio-(openharmony)-user-guide.md). - diff --git a/en/device-dev/guide/public_sys-resources/icon-caution.gif b/en/device-dev/guide/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/guide/public_sys-resources/icon-danger.gif b/en/device-dev/guide/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/guide/public_sys-resources/icon-note.gif b/en/device-dev/guide/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/guide/public_sys-resources/icon-notice.gif b/en/device-dev/guide/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/guide/running-on-the-device-9.md b/en/device-dev/guide/running-on-the-device-9.md deleted file mode 100644 index 72fdad2eca6..00000000000 --- a/en/device-dev/guide/running-on-the-device-9.md +++ /dev/null @@ -1,35 +0,0 @@ -# Running on the Device - -Before you install the app and run it on the development board, install the DevEco Device Tool by following operations provided in [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905). Burn OpenHarmony into the development board, and run it on the board. For details about how to build, burn, and run an image, see [Getting Started with Hi3516](../quick-start/standard-system.md). After the image is running normally and the system is started properly, perform the following steps to install or uninstall the app: - -1. Obtain the HDC client from the following path: - - ``` - developtools/hdc_standard/prebuilt/windows/hdc_std.exe - ``` - - Change the HDC client name to **hdc.exe** and add the path above to the system environment variable **path**. - -2. Open the **cmd** window, and run the following commands to push the HAP file to the device directory, and install it: - - ``` - hdc smode - hdc target mount - hdc file send clock.hap /data/clock.hap - hdc shell chmod 666 /data/clock.hap - hdc shell bm install -p /data/clock.hap - ``` - -3. Run the following command to start the app. **ohos.samples.clock** indicates the app package name, and **MainAbility** indicates the ability started by the app. - - ``` - hdc shell aa start -d 123 -a ohos.samples.clock.MainAbility -b ohos.samples.clock - ``` - -4. \(Optional\) Run the following command to uninstall the app. **ohos.samples.clock** indicates the app package name. - - ``` - hdc shell bm uninstall -n ohos.samples.clock - ``` - - diff --git a/en/device-dev/guide/setting-up-the-environment.md b/en/device-dev/guide/setting-up-the-environment.md deleted file mode 100644 index 9c2593432e6..00000000000 --- a/en/device-dev/guide/setting-up-the-environment.md +++ /dev/null @@ -1,7 +0,0 @@ -# Setting Up the Environment - -Set up the environment by referring to [Setting Up a Standard OpenHarmony Environment](../quick-start/standard-system.md). - ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->This development example applies to standard, small, and mini OpenHarmony systems. The following sections use the standard system as an example. You can refer to the specific guide for your system to set up the environment. - diff --git a/en/device-dev/guide/signing-and-packaging.md b/en/device-dev/guide/signing-and-packaging.md deleted file mode 100644 index 80e390ea1a1..00000000000 --- a/en/device-dev/guide/signing-and-packaging.md +++ /dev/null @@ -1,4 +0,0 @@ -# Signing and Packaging - -After finishing writing the app code, you need to sign and package the app before running it on a real device. For details, see [Signing and Packaging Guide](../../application-dev/quick-start/configuring-the-openharmony-app-signature.md). - diff --git a/en/device-dev/guide/startup-log-analysis.md b/en/device-dev/guide/startup-log-analysis.md deleted file mode 100644 index 967f333237e..00000000000 --- a/en/device-dev/guide/startup-log-analysis.md +++ /dev/null @@ -1,19 +0,0 @@ -# Startup Log Analysis - -The following is part of the startup log: - -``` -[I/HDF_INPUT_DRV] HdfInputManagerInit: enter // Initialize the input device manager. -[I/HDF_INPUT_DRV] HdfInputManagerInit: exit succ // The initialization is successful. -[I/osal_cdev] add cdev hdf_input_host success -[I/HDF_LOG_TAG] HdfTouchDriverProbe: enter // Initialize the input common driver. -[I/HDF_LOG_TAG] HdfTouchDriverProbe: main_touch exit succ // The initialization is successful. -[I/osal_cdev] add cdev hdf_input_event1 success -[I/HDF_INPUT_DRV] HdfGoodixChipInit: enter // Initialize the input chip driver. -[I/HDF_INPUT_DRV] ChipDetect: IC FW version is 0x1060 -[I/HDF_INPUT_DRV] Product_ID: 911_1060, x_sol = 960, y_sol = 480 -[I/HDF_LOG_TAG] ChipDriverInit: chipDetect succ, ret = 0 -[I/HDF_LOG_TAG] InputDeviceInstance: inputDev->devName = main_touch -[I/HDF_INPUT_DRV] HdfGoodixChipInit: exit succ, chipName = gt911 // The initialization is successful. -``` - diff --git a/en/device-dev/guide/verification.md b/en/device-dev/guide/verification.md deleted file mode 100644 index 55254e77cd0..00000000000 --- a/en/device-dev/guide/verification.md +++ /dev/null @@ -1,9 +0,0 @@ -# Verification - -For details about the compilation and burning processes, see [Modifying Source Code](../quick-start/running-a-hello-world-program.md) and [Burning Images](../quick-start/wlan-connection.md) in _Getting Started with Hi3861_. - -After the preceding two steps are complete, press the **RST** button to reset the module. The LED blinks periodically, which meets the expectation. The verification is complete. - -**Figure 1** LED blinking -![](figures/led-blinking.gif "led-blinking") - diff --git a/en/device-dev/guide/visual-application-development.md b/en/device-dev/guide/visual-application-development.md deleted file mode 100644 index b13654cffb4..00000000000 --- a/en/device-dev/guide/visual-application-development.md +++ /dev/null @@ -1,19 +0,0 @@ -# Visual Application Development - -- **[Overview](overview-6.md)** - -- **[Preparations](preparations.md)** - -- **[Adding Pages](adding-pages.md)** - -- **[Building the Home Page](building-the-home-page.md)** - -- **[Building the Details Page](building-the-details-page.md)** - -- **[Debugging and Packaging](debugging-and-packaging.md)** - -- **[Running on the Device](running-on-the-device.md)** - -- **[FAQs](faqs.md)** - - diff --git a/en/device-dev/kernel/Readme-EN.md b/en/device-dev/kernel/Readme-EN.md index 2ec9f17abde..b00926f092b 100644 --- a/en/device-dev/kernel/Readme-EN.md +++ b/en/device-dev/kernel/Readme-EN.md @@ -1,93 +1,87 @@ -# Kernel - -- [Lite Kernel](lite-kernel.md) - - [OpenHarmony Lite Kernel Basic Functions](openharmony-lite-kernel-basic-functions.md) - - [Process](process.md) - - [Thread](thread.md) - - [Memory](memory.md) - - [Network](network.md) - - - [OpenHarmony Lite Kernel File System](openharmony-lite-kernel-file-system.md) - - [VFS](vfs.md) - - [NFS](nfs.md) - - [RAMFS](ramfs.md) - - [FAT](fat.md) - - [JFFS2](jffs2.md) - - - [Standard Library](standard-library.md) - - [Standard Library](standard-library-0.md) - - [Differences from the Linux Standard Library](differences-from-the-linux-standard-library.md) - - - [Commissioning](commissioning.md) - - [Introduction to the Shell](introduction-to-the-shell.md) - - [Shell Command Development Guidelines](shell-command-development-guidelines.md) - - [Shell Command Programming Example](shell-command-programming-example.md) - - [Shell Command Reference](shell-command-reference.md) - - [System Commands](system-commands.md) - - [cpup](cpup.md) - - [date](date.md) - - [dmesg](dmesg.md) - - [exec](exec.md) - - [free](free.md) - - [help](help.md) - - [hwi](hwi.md) - - [kill](kill.md) - - [log](log.md) - - [memcheck](memcheck.md) - - [oom](oom.md) - - [pmm](pmm.md) - - [reset](reset.md) - - [sem](sem.md) - - [stack](stack.md) - - [su](su.md) - - [swtmr](swtmr.md) - - [systeminfo](systeminfo.md) - - [task](task.md) - - [uname](uname.md) - - [vmm](vmm.md) - - [watch](watch.md) - - - [File Commands](file-commands.md) - - [cat](cat.md) - - [cd](cd.md) - - [chgrp](chgrp.md) - - [chmod](chmod.md) - - [chown](chown.md) - - [cp](cp.md) - - [format](format.md) - - [ls](ls.md) - - [lsfd](lsfd.md) - - [mkdir](mkdir.md) - - [mount](mount.md) - - [partinfo](partinfo.md) - - [partition](partition.md) - - [pwd](pwd.md) - - [rm](rm.md) - - [rmdir](rmdir.md) - - [statfs](statfs.md) - - [sync](sync.md) - - [touch](touch.md) - - [writeproc](writeproc.md) - - [umount](umount.md) - - - [Network Commands](network-commands.md) - - [arp](arp.md) - - [dhclient](dhclient.md) - - [dns](dns.md) - - [ifconfig](ifconfig.md) - - [ipdebug](ipdebug.md) - - [netstat](netstat.md) - - [ntpdate](ntpdate.md) - - [ping](ping.md) - - [ping6](ping6.md) - - [telnet](telnet.md) - - [tftp](tftp.md) - - - [Magic Key Usage](magic-key-usage.md) - - [User-Space Exception Information](user-space-exception-information.md) - -- [Linux Kernel](linux-kernel.md) - - [Linux Kernel Overview](linux-kernel-overview.md) - - [Guidelines for Using Patches on OpenHarmony Development Boards](guidelines-for-using-patches-on-openharmony-development-boards.md) - - [Guidelines for Compiling and Building the Linux Kernel](guidelines-for-compiling-and-building-the-linux-kernel.md) +# Kernel +- [Kernel for Mini and Small Systems](kernel-lite.md) + - [Kernel for Mini Systems](kernel-lite-mini.md) + - [Kernel for Small Systems](kernel-lite-small.md) + - [Basic Kernel](kernel-lite-small-basic.md) + - [Process](kernel-lite-small-process.md) + - [Thread](kernel-lite-small-thread.md) + - [Memory](kernel-lite-small-memory.md) + - [Network](kernel-lite-small-net.md) + - [File System](kernel-lite-small-file.md) + - [VFS](kernel-lite-small-file-vfs.md) + - [NFS](kernel-lite-small-file-nfs.md) + - [RAMFS](kernel-lite-small-file-ramfs.md) + - [FAT](kernel-lite-small-file-fat.md) + - [JFFS2](kernel-lite-small-file-jffs.md) + - [Standard Library](kernel-lite-small-lib.md) + - [Standard Library](kernel-lite-small-lib-standard.md) + - [Differences from the Linux Standard Library](kernel-lite-small-lib-differ.md) + - [Commissioning](kernel-lite-small-shell.md) + - [Introduction to the Shell](kernel-lite-small-shell-des.md) + - [Shell Command Development Guidelines](kernel-lite-small-shell-guide.md) + - [Shell Command Programming Example](kernel-lite-small-shell-sample.md) + - [Shell Command Reference](kernel-lite-small-shell-cmd.md) + - [System Commands](kernel-lite-small-shell-cmd-sys.md) + - [cpup](kernel-lite-small-shell-cmd-sys-cpup.md) + - [date](kernel-lite-small-shell-cmd-sys-date.md) + - [dmesg](kernel-lite-small-shell-cmd-sys-demsg.md) + - [exec](kernel-lite-small-shell-cmd-sys-exec.md) + - [free](kernel-lite-small-shell-cmd-sys-free.md) + - [help](kernel-lite-small-shell-cmd-sys-help.md) + - [hwi](kernel-lite-small-shell-cmd-sys-hwi.md) + - [kill](kernel-lite-small-shell-cmd-sys-kill.md) + - [log](kernel-lite-small-shell-cmd-sys-log.md) + - [memcheck](kernel-lite-small-shell-cmd-sys-mem.md) + - [oom](kernel-lite-small-shell-cmd-sys-oom.md) + - [pmm](kernel-lite-small-shell-cmd-sys-pmm.md) + - [reset](kernel-lite-small-shell-cmd-sys-reset.md) + - [sem](kernel-lite-small-shell-cmd-sys-sem.md) + - [stack](kernel-lite-small-shell-cmd-sys-stack.md) + - [su](kernel-lite-small-shell-cmd-sys-su.md) + - [swtmr](kernel-lite-small-shell-cmd-sys-swymr.md) + - [systeminfo](kernel-lite-small-shell-cmd-sys-sys.md) + - [task](kernel-lite-small-shell-cmd-sys-task.md) + - [uname](kernel-lite-small-shell-cmd-sys-uname.md) + - [vmm](kernel-lite-small-shell-cmd-sys-vmm.md) + - [watch](kernel-lite-small-shell-cmd-sys-watch.md) + - [File Commands](kernel-lite-small-shell-cmd-file.md) + - [cat](kernel-lite-small-shell-cmd-file-cat.md) + - [cd](kernel-lite-small-shell-cmd-file-cd.md) + - [chgrp](kernel-lite-small-shell-cmd-file-chgrp.md) + - [chmod](kernel-lite-small-shell-cmd-file-chmod.md) + - [chown](kernel-lite-small-shell-cmd-file-chown.md) + - [cp](kernel-lite-small-shell-cmd-file-cp.md) + - [format](kernel-lite-small-shell-cmd-file-format.md) + - [ls](kernel-lite-small-shell-cmd-file-is.md) + - [lsfd](kernel-lite-small-shell-cmd-file-isfd.md) + - [mkdir](kernel-lite-small-shell-cmd-file-mkdir.md) + - [mount](kernel-lite-small-shell-cmd-file-mount.md) + - [partinfo](kernel-lite-small-shell-cmd-file-part.md) + - [partition](kernel-lite-small-shell-cmd-file-partion.md) + - [pwd](kernel-lite-small-shell-cmd-file-pwd.md) + - [rm](kernel-lite-small-shell-cmd-file-rm.md) + - [rmdir](kernel-lite-small-shell-cmd-file-rmdir.md) + - [statfs](kernel-lite-small-shell-cmd-file-sta.md) + - [sync](kernel-lite-small-shell-cmd-file-sync.md) + - [touch](kernel-lite-small-shell-cmd-file-touch.md) + - [writeproc](kernel-lite-small-shell-cmd-file-write.md) + - [umount](kernel-lite-small-shell-cmd-file-umount.md) + - [Network Commands](kernel-lite-small-shell-cmd-net.md) + - [arp](kernel-lite-small-shell-cmd-net-arp.md) + - [dhclient](kernel-lite-small-shell-cmd-net-dh.md) + - [dns](kernel-lite-small-shell-cmd-net-dns.md) + - [ifconfig](kernel-lite-small-shell-cmd-net-ipc.md) + - [ipdebug](kernel-lite-small-shell-cmd-net-ipd.md) + - [netstat](kernel-lite-small-shell-cmd-net-net.md) + - [ntpdate](kernel-lite-small-shell-cmd-net-ntp.md) + - [ping](kernel-lite-small-shell-cmd-net-ping.md) + - [ping6](kernel-lite-small-shell-cmd-net-ping6.md) + - [telnet](kernel-lite-small-shell-cmd-net-tel.md) + - [tftp](kernel-lite-small-shell-cmd-net-tftp.md) + - [Magic Key Usage](kernel-lite-small-shell-cmd-mag.md) + - [User-Space Exception Information](kernel-lite-small-shell-cmd-abn.md) +- [Kernel for Standard Systems](kernel-standard.md) + - [Linux Kernel Overview](kernel-standard-des.md) + - [Guidelines for Using Patches on OpenHarmony Development Boards](kernel-standard-patch.md) + - [Guidelines for Compiling and Building the Linux Kernel](kernel-standard-build.md) \ No newline at end of file diff --git a/en/device-dev/kernel/commissioning.md b/en/device-dev/kernel/commissioning.md deleted file mode 100644 index f7be69f4538..00000000000 --- a/en/device-dev/kernel/commissioning.md +++ /dev/null @@ -1,15 +0,0 @@ -# Commissioning - -- **[Introduction to the Shell](introduction-to-the-shell.md)** - -- **[Shell Command Development Guidelines](shell-command-development-guidelines.md)** - -- **[Shell Command Programming Example](shell-command-programming-example.md)** - -- **[Shell Command Reference](shell-command-reference.md)** - -- **[Magic Key Usage](magic-key-usage.md)** - -- **[User-Space Exception Information](user-space-exception-information.md)** - - diff --git a/en/device-dev/kernel/figures/changing-the-group-of-the-hello-harmony-txt-file-to-100.png b/en/device-dev/kernel/figure/changing-the-group-of-the-hello-harmony-txt-file-to-100.png similarity index 100% rename from en/device-dev/kernel/figures/changing-the-group-of-the-hello-harmony-txt-file-to-100.png rename to en/device-dev/kernel/figure/changing-the-group-of-the-hello-harmony-txt-file-to-100.png diff --git a/en/device-dev/kernel/figures/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png b/en/device-dev/kernel/figure/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png similarity index 100% rename from en/device-dev/kernel/figures/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png rename to en/device-dev/kernel/figure/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png diff --git a/en/device-dev/kernel/figures/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png b/en/device-dev/kernel/figure/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png similarity index 100% rename from en/device-dev/kernel/figures/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png rename to en/device-dev/kernel/figure/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png diff --git a/en/device-dev/kernel/figures/command-output-0.png b/en/device-dev/kernel/figure/command-output-19.png similarity index 100% rename from en/device-dev/kernel/figures/command-output-0.png rename to en/device-dev/kernel/figure/command-output-19.png diff --git a/en/device-dev/kernel/figures/command-output.png b/en/device-dev/kernel/figure/command-output.png similarity index 100% rename from en/device-dev/kernel/figures/command-output.png rename to en/device-dev/kernel/figure/command-output.png diff --git a/en/device-dev/kernel/figures/cpu-usage.png b/en/device-dev/kernel/figure/cpu-usage.png similarity index 100% rename from en/device-dev/kernel/figures/cpu-usage.png rename to en/device-dev/kernel/figure/cpu-usage.png diff --git a/en/device-dev/kernel/figures/creating-file-c.png b/en/device-dev/kernel/figure/creating-file-c.png similarity index 100% rename from en/device-dev/kernel/figures/creating-file-c.png rename to en/device-dev/kernel/figure/creating-file-c.png diff --git a/en/device-dev/kernel/figures/creating-the-share-directory.png b/en/device-dev/kernel/figure/creating-the-share-directory.png similarity index 100% rename from en/device-dev/kernel/figures/creating-the-share-directory.png rename to en/device-dev/kernel/figure/creating-the-share-directory.png diff --git a/en/device-dev/kernel/figures/deleting-directory-dir.png b/en/device-dev/kernel/figure/deleting-directory-dir.png similarity index 100% rename from en/device-dev/kernel/figures/deleting-directory-dir.png rename to en/device-dev/kernel/figure/deleting-directory-dir.png diff --git a/en/device-dev/kernel/figures/deleting-the-log1-txt-file.png b/en/device-dev/kernel/figure/deleting-the-log1-txt-file.png similarity index 100% rename from en/device-dev/kernel/figures/deleting-the-log1-txt-file.png rename to en/device-dev/kernel/figure/deleting-the-log1-txt-file.png diff --git a/en/device-dev/kernel/figures/deleting-the-sd-directory.png b/en/device-dev/kernel/figure/deleting-the-sd-directory.png similarity index 100% rename from en/device-dev/kernel/figures/deleting-the-sd-directory.png rename to en/device-dev/kernel/figure/deleting-the-sd-directory.png diff --git a/en/device-dev/kernel/figures/directory-switching-result.png b/en/device-dev/kernel/figure/directory-switching-result.png similarity index 100% rename from en/device-dev/kernel/figures/directory-switching-result.png rename to en/device-dev/kernel/figure/directory-switching-result.png diff --git a/en/device-dev/kernel/figures/displaying-the-memory-usage-in-three-units.png b/en/device-dev/kernel/figure/displaying-the-memory-usage-in-three-units.png similarity index 100% rename from en/device-dev/kernel/figures/displaying-the-memory-usage-in-three-units.png rename to en/device-dev/kernel/figure/displaying-the-memory-usage-in-three-units.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001051690323.png b/en/device-dev/kernel/figure/en-us_image_0000001051690323.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001051690323.png rename to en/device-dev/kernel/figure/en-us_image_0000001051690323.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001052370303.png b/en/device-dev/kernel/figure/en-us_image_0000001052370303.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001052370303.png rename to en/device-dev/kernel/figure/en-us_image_0000001052370303.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001052370305.png b/en/device-dev/kernel/figure/en-us_image_0000001052370305.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001052370305.png rename to en/device-dev/kernel/figure/en-us_image_0000001052370305.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001052370307.png b/en/device-dev/kernel/figure/en-us_image_0000001052370307.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001052370307.png rename to en/device-dev/kernel/figure/en-us_image_0000001052370307.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001052530298.png b/en/device-dev/kernel/figure/en-us_image_0000001052530298.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001052530298.png rename to en/device-dev/kernel/figure/en-us_image_0000001052530298.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001052810300.png b/en/device-dev/kernel/figure/en-us_image_0000001052810300.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001052810300.png rename to en/device-dev/kernel/figure/en-us_image_0000001052810300.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001052810304.png b/en/device-dev/kernel/figure/en-us_image_0000001052810304.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001052810304.png rename to en/device-dev/kernel/figure/en-us_image_0000001052810304.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001053224218.png b/en/device-dev/kernel/figure/en-us_image_0000001053224218.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001053224218.png rename to en/device-dev/kernel/figure/en-us_image_0000001053224218.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001053710680.png b/en/device-dev/kernel/figure/en-us_image_0000001053710680.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001053710680.png rename to en/device-dev/kernel/figure/en-us_image_0000001053710680.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001053826366.png b/en/device-dev/kernel/figure/en-us_image_0000001053826366.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001053826366.png rename to en/device-dev/kernel/figure/en-us_image_0000001053826366.png diff --git a/en/device-dev/kernel/figures/en-us_image_0000001054624363.png b/en/device-dev/kernel/figure/en-us_image_0000001054624363.png similarity index 100% rename from en/device-dev/kernel/figures/en-us_image_0000001054624363.png rename to en/device-dev/kernel/figure/en-us_image_0000001054624363.png diff --git a/en/device-dev/kernel/figures/file-copying-result.png b/en/device-dev/kernel/figure/file-copying-result.png similarity index 100% rename from en/device-dev/kernel/figures/file-copying-result.png rename to en/device-dev/kernel/figure/file-copying-result.png diff --git a/en/device-dev/kernel/figures/no-out-of-bounds-memory-access.png b/en/device-dev/kernel/figure/no-out-of-bounds-memory-access.png similarity index 100% rename from en/device-dev/kernel/figures/no-out-of-bounds-memory-access.png rename to en/device-dev/kernel/figure/no-out-of-bounds-memory-access.png diff --git a/en/device-dev/kernel/figures/out-of-bounds-memory-access.png b/en/device-dev/kernel/figure/out-of-bounds-memory-access.png similarity index 100% rename from en/device-dev/kernel/figures/out-of-bounds-memory-access.png rename to en/device-dev/kernel/figure/out-of-bounds-memory-access.png diff --git a/en/device-dev/kernel/figures/output-of-telnet-on.png b/en/device-dev/kernel/figure/output-of-telnet-on.png similarity index 100% rename from en/device-dev/kernel/figures/output-of-telnet-on.png rename to en/device-dev/kernel/figure/output-of-telnet-on.png diff --git a/en/device-dev/kernel/figures/output-of-the-statfs-command.png b/en/device-dev/kernel/figure/output-of-the-statfs-command.png similarity index 100% rename from en/device-dev/kernel/figures/output-of-the-statfs-command.png rename to en/device-dev/kernel/figure/output-of-the-statfs-command.png diff --git a/en/device-dev/kernel/figures/posix-framework.png b/en/device-dev/kernel/figure/posix-framework.png similarity index 100% rename from en/device-dev/kernel/figures/posix-framework.png rename to en/device-dev/kernel/figure/posix-framework.png diff --git a/en/device-dev/kernel/figures/querying-information-about-a-specified-software-timer.png b/en/device-dev/kernel/figure/querying-information-about-a-specified-software-timer.png similarity index 100% rename from en/device-dev/kernel/figures/querying-information-about-a-specified-software-timer.png rename to en/device-dev/kernel/figure/querying-information-about-a-specified-software-timer.png diff --git a/en/device-dev/kernel/figures/querying-information-about-all-semaphores-in-use.png b/en/device-dev/kernel/figure/querying-information-about-all-semaphores-in-use.png similarity index 100% rename from en/device-dev/kernel/figures/querying-information-about-all-semaphores-in-use.png rename to en/device-dev/kernel/figure/querying-information-about-all-semaphores-in-use.png diff --git a/en/device-dev/kernel/figures/querying-information-about-all-software-timers.png b/en/device-dev/kernel/figure/querying-information-about-all-software-timers.png similarity index 100% rename from en/device-dev/kernel/figures/querying-information-about-all-software-timers.png rename to en/device-dev/kernel/figure/querying-information-about-all-software-timers.png diff --git a/en/device-dev/kernel/figures/querying-partial-task-information.png b/en/device-dev/kernel/figure/querying-partial-task-information.png similarity index 100% rename from en/device-dev/kernel/figures/querying-partial-task-information.png rename to en/device-dev/kernel/figure/querying-partial-task-information.png diff --git a/en/device-dev/kernel/figures/querying-pids.png b/en/device-dev/kernel/figure/querying-pids.png similarity index 100% rename from en/device-dev/kernel/figures/querying-pids.png rename to en/device-dev/kernel/figure/querying-pids.png diff --git a/en/device-dev/kernel/figures/querying-the-current-path.png b/en/device-dev/kernel/figure/querying-the-current-path.png similarity index 100% rename from en/device-dev/kernel/figures/querying-the-current-path.png rename to en/device-dev/kernel/figure/querying-the-current-path.png diff --git a/en/device-dev/kernel/figures/relationship-between-the-vfs-and-file-systems.png b/en/device-dev/kernel/figure/relationship-between-the-vfs-and-file-systems.png similarity index 100% rename from en/device-dev/kernel/figures/relationship-between-the-vfs-and-file-systems.png rename to en/device-dev/kernel/figure/relationship-between-the-vfs-and-file-systems.png diff --git a/en/device-dev/kernel/figures/sending-a-signal-to-a-specified-process.png b/en/device-dev/kernel/figure/sending-a-signal-to-a-specified-process.png similarity index 100% rename from en/device-dev/kernel/figures/sending-a-signal-to-a-specified-process.png rename to en/device-dev/kernel/figure/sending-a-signal-to-a-specified-process.png diff --git a/en/device-dev/kernel/figures/signal-sending-failure.png b/en/device-dev/kernel/figure/signal-sending-failure.png similarity index 100% rename from en/device-dev/kernel/figures/signal-sending-failure.png rename to en/device-dev/kernel/figure/signal-sending-failure.png diff --git a/en/device-dev/kernel/figures/snipaste_2021-01-26_10-38-58-1.png b/en/device-dev/kernel/figure/snipaste_2021-01-26_10-38-58-20.png similarity index 100% rename from en/device-dev/kernel/figures/snipaste_2021-01-26_10-38-58-1.png rename to en/device-dev/kernel/figure/snipaste_2021-01-26_10-38-58-20.png diff --git a/en/device-dev/kernel/figures/snipaste_2021-01-26_10-38-58-2.png b/en/device-dev/kernel/figure/snipaste_2021-01-26_10-38-58-21.png similarity index 100% rename from en/device-dev/kernel/figures/snipaste_2021-01-26_10-38-58-2.png rename to en/device-dev/kernel/figure/snipaste_2021-01-26_10-38-58-21.png diff --git a/en/device-dev/kernel/figures/snipaste_2021-01-26_10-38-58.png b/en/device-dev/kernel/figure/snipaste_2021-01-26_10-38-58.png similarity index 100% rename from en/device-dev/kernel/figures/snipaste_2021-01-26_10-38-58.png rename to en/device-dev/kernel/figure/snipaste_2021-01-26_10-38-58.png diff --git a/en/device-dev/kernel/figures/state-transition-of-a-process.png b/en/device-dev/kernel/figure/state-transition-of-a-process.png similarity index 100% rename from en/device-dev/kernel/figures/state-transition-of-a-process.png rename to en/device-dev/kernel/figure/state-transition-of-a-process.png diff --git a/en/device-dev/kernel/figures/state-transition-of-a-thread.png b/en/device-dev/kernel/figure/state-transition-of-a-thread.png similarity index 100% rename from en/device-dev/kernel/figures/state-transition-of-a-thread.png rename to en/device-dev/kernel/figure/state-transition-of-a-thread.png diff --git a/en/device-dev/kernel/figures/switching-to-the-user-whose-uid-and-gid-are-both-1000.png b/en/device-dev/kernel/figure/switching-to-the-user-whose-uid-and-gid-are-both-1000.png similarity index 100% rename from en/device-dev/kernel/figures/switching-to-the-user-whose-uid-and-gid-are-both-1000.png rename to en/device-dev/kernel/figure/switching-to-the-user-whose-uid-and-gid-are-both-1000.png diff --git a/en/device-dev/kernel/figures/system-date-printed-based-on-the-specified-format.png b/en/device-dev/kernel/figure/system-date-printed-based-on-the-specified-format.png similarity index 100% rename from en/device-dev/kernel/figures/system-date-printed-based-on-the-specified-format.png rename to en/device-dev/kernel/figure/system-date-printed-based-on-the-specified-format.png diff --git a/en/device-dev/kernel/figures/task-command-monitoring-result.png b/en/device-dev/kernel/figure/task-command-monitoring-result.png similarity index 100% rename from en/device-dev/kernel/figures/task-command-monitoring-result.png rename to en/device-dev/kernel/figure/task-command-monitoring-result.png diff --git a/en/device-dev/kernel/figures/tree-structure-of-the-file-system.png b/en/device-dev/kernel/figure/tree-structure-of-the-file-system.png similarity index 100% rename from en/device-dev/kernel/figures/tree-structure-of-the-file-system.png rename to en/device-dev/kernel/figure/tree-structure-of-the-file-system.png diff --git a/en/device-dev/kernel/figures/unmounting-result.png b/en/device-dev/kernel/figure/unmounting-result.png similarity index 100% rename from en/device-dev/kernel/figures/unmounting-result.png rename to en/device-dev/kernel/figure/unmounting-result.png diff --git a/en/device-dev/kernel/figures/usage-of-system-resources.png b/en/device-dev/kernel/figure/usage-of-system-resources.png similarity index 100% rename from en/device-dev/kernel/figures/usage-of-system-resources.png rename to en/device-dev/kernel/figure/usage-of-system-resources.png diff --git a/en/device-dev/kernel/figures/viewing-content-of-the-current-directory.png b/en/device-dev/kernel/figure/viewing-content-of-the-current-directory.png similarity index 100% rename from en/device-dev/kernel/figures/viewing-content-of-the-current-directory.png rename to en/device-dev/kernel/figure/viewing-content-of-the-current-directory.png diff --git a/en/device-dev/kernel/figures/viewing-content-of-the-hello-harmony-txt-file.png b/en/device-dev/kernel/figure/viewing-content-of-the-hello-harmony-txt-file.png similarity index 100% rename from en/device-dev/kernel/figures/viewing-content-of-the-hello-harmony-txt-file.png rename to en/device-dev/kernel/figure/viewing-content-of-the-hello-harmony-txt-file.png diff --git a/en/device-dev/kernel/figures/viewing-the-usage-of-physical-pages.png b/en/device-dev/kernel/figure/viewing-the-usage-of-physical-pages.png similarity index 100% rename from en/device-dev/kernel/figures/viewing-the-usage-of-physical-pages.png rename to en/device-dev/kernel/figure/viewing-the-usage-of-physical-pages.png diff --git a/en/device-dev/kernel/figures/virtual-memory-usage-of-the-process-with-pid-3.png b/en/device-dev/kernel/figure/virtual-memory-usage-of-the-process-with-pid-3.png similarity index 100% rename from en/device-dev/kernel/figures/virtual-memory-usage-of-the-process-with-pid-3.png rename to en/device-dev/kernel/figure/virtual-memory-usage-of-the-process-with-pid-3.png diff --git a/en/device-dev/kernel/figures/writing-dmesg-content-to-a-file.png b/en/device-dev/kernel/figure/writing-dmesg-content-to-a-file.png similarity index 100% rename from en/device-dev/kernel/figures/writing-dmesg-content-to-a-file.png rename to en/device-dev/kernel/figure/writing-dmesg-content-to-a-file.png diff --git a/en/device-dev/kernel/file-commands.md b/en/device-dev/kernel/file-commands.md deleted file mode 100644 index b75130d6cdb..00000000000 --- a/en/device-dev/kernel/file-commands.md +++ /dev/null @@ -1,45 +0,0 @@ -# File Commands - -- **[cat](cat.md)** - -- **[cd](cd.md)** - -- **[chgrp](chgrp.md)** - -- **[chmod](chmod.md)** - -- **[chown](chown.md)** - -- **[cp](cp.md)** - -- **[format](format.md)** - -- **[ls](ls.md)** - -- **[lsfd](lsfd.md)** - -- **[mkdir](mkdir.md)** - -- **[mount](mount.md)** - -- **[partinfo](partinfo.md)** - -- **[partition](partition.md)** - -- **[pwd](pwd.md)** - -- **[rm](rm.md)** - -- **[rmdir](rmdir.md)** - -- **[statfs](statfs.md)** - -- **[sync](sync.md)** - -- **[touch](touch.md)** - -- **[writeproc](writeproc.md)** - -- **[umount](umount.md)** - - diff --git a/en/device-dev/kernel/kernel-lite-mini.md b/en/device-dev/kernel/kernel-lite-mini.md new file mode 100644 index 00000000000..f87451dcc80 --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-mini.md @@ -0,0 +1,2 @@ +# Kernel for Mini Systems + diff --git a/en/device-dev/kernel/kernel-lite-small-basic.md b/en/device-dev/kernel/kernel-lite-small-basic.md new file mode 100644 index 00000000000..d373831984d --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small-basic.md @@ -0,0 +1,11 @@ +# Basic Kernel + +- **[Process](kernel-lite-small-process.md)** + +- **[Thread](kernel-lite-small-thread.md)** + +- **[Memory](kernel-lite-small-memory.md)** + +- **[Network](kernel-lite-small-net.md)** + + diff --git a/en/device-dev/kernel/fat.md b/en/device-dev/kernel/kernel-lite-small-file-fat.md similarity index 100% rename from en/device-dev/kernel/fat.md rename to en/device-dev/kernel/kernel-lite-small-file-fat.md diff --git a/en/device-dev/kernel/jffs2.md b/en/device-dev/kernel/kernel-lite-small-file-jffs.md similarity index 100% rename from en/device-dev/kernel/jffs2.md rename to en/device-dev/kernel/kernel-lite-small-file-jffs.md diff --git a/en/device-dev/kernel/nfs.md b/en/device-dev/kernel/kernel-lite-small-file-nfs.md similarity index 99% rename from en/device-dev/kernel/nfs.md rename to en/device-dev/kernel/kernel-lite-small-file-nfs.md index 5953ad82e37..7b93df28d13 100644 --- a/en/device-dev/kernel/nfs.md +++ b/en/device-dev/kernel/kernel-lite-small-file-nfs.md @@ -116,7 +116,7 @@ An NFS client can mount a directory shared by a remote NFS server to the local h This command mounts the **/home/sqbin/nfs** directory on the NFS server whose IP address is 10.67.212.178 to the **/nfs** directory on the device. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >This section assumes that the NFS server is available, that is, the **/home/sqbin/nfs** directory on the NFS server 10.67.212.178 is accessible. The **mount** command format is as follows: diff --git a/en/device-dev/kernel/ramfs.md b/en/device-dev/kernel/kernel-lite-small-file-ramfs.md similarity index 100% rename from en/device-dev/kernel/ramfs.md rename to en/device-dev/kernel/kernel-lite-small-file-ramfs.md diff --git a/en/device-dev/kernel/vfs.md b/en/device-dev/kernel/kernel-lite-small-file-vfs.md similarity index 97% rename from en/device-dev/kernel/vfs.md rename to en/device-dev/kernel/kernel-lite-small-file-vfs.md index 9b3ea51a6f5..8634d9cf6c7 100644 --- a/en/device-dev/kernel/vfs.md +++ b/en/device-dev/kernel/kernel-lite-small-file-vfs.md @@ -17,7 +17,7 @@ In essence, VFS is not a real file system. It is an abstract layer on top of a h Different types of file systems provide different interfaces. If there are multiple types of file systems in the system, different and non-standard interfaces are required for accessing these file systems. The VFS can be introduced as an abstract layer in the system to harmonize the differences between these heterogeneous file systems. In this way, the system does not need to care about the storage medium and file system type at the bottom layer when accessing a file system. The figure below illustrates the relationship between the VFS and file systems. **Figure 1** Relationship between the VFS and file systems -![](figures/relationship-between-the-vfs-and-file-systems.png "relationship-between-the-vfs-and-file-systems") +![](figure/relationship-between-the-vfs-and-file-systems.png "relationship-between-the-vfs-and-file-systems") In the OpenHarmony kernel, the VFS framework is implemented using the tree structure in the memory. Each node in the tree is an **inode** structure. After a device is registered and a file system is mounted, the corresponding node is generated in the tree based on the path. VFS provides the following functions: @@ -35,7 +35,7 @@ There are three types of **inode** tree nodes in the VFS framework memory: - Mount point: used to mount a specific file system, for example, **/vs/sd** or **/mnt** **Figure 2** Tree structure of the file system -![](figures/tree-structure-of-the-file-system.png "tree-structure-of-the-file-system") +![](figure/tree-structure-of-the-file-system.png "tree-structure-of-the-file-system") ## Important Notes @@ -81,7 +81,7 @@ A process can have a maximum of 256 file descriptors \(including file and socket open, close, read, write, seek, ioctl, fcntl, mmap, sync, dup, dup2, truncate, opendir, closedir, readdir, rewinddir, mount, umount, statfs, unlink, remove, mkdir, rmdir, rename, stat, utime, seek64, fallocate, fallocate64, truncate64, chmod, and chown ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >- Currently, only the interfaces for modifying the attributes of JFFS2 files and VFS device nodes are provided. Each system has its own processing mode for attributes such as read-only. >- In the OpenHarmony kernel, the attributes do not conflict with each other, and they can be modified randomly. >- A read-only file or directory in the OpenHarmony kernel cannot be deleted. diff --git a/en/device-dev/kernel/openharmony-lite-kernel-file-system.md b/en/device-dev/kernel/kernel-lite-small-file.md similarity index 92% rename from en/device-dev/kernel/openharmony-lite-kernel-file-system.md rename to en/device-dev/kernel/kernel-lite-small-file.md index 443fc42c437..4a1e2be2e6b 100644 --- a/en/device-dev/kernel/openharmony-lite-kernel-file-system.md +++ b/en/device-dev/kernel/kernel-lite-small-file.md @@ -1,4 +1,4 @@ -# OpenHarmony Lite Kernel File System +# File System The OpenHarmony lite kernel supports the following file systems: Virtual File System \(VFS\), Network File System \(NFS\), RAM File System \(RAMFS\), File Allocation Table \(FAT\), and Journalling Flash File System Version 2 \(JFFS2\). @@ -41,14 +41,14 @@ The table below describes the functions of these file systems.
    -- **[VFS](vfs.md)** +- **[VFS](kernel-lite-small-file-vfs.md)** -- **[NFS](nfs.md)** +- **[NFS](kernel-lite-small-file-nfs.md)** -- **[RAMFS](ramfs.md)** +- **[RAMFS](kernel-lite-small-file-ramfs.md)** -- **[FAT](fat.md)** +- **[FAT](kernel-lite-small-file-fat.md)** -- **[JFFS2](jffs2.md)** +- **[JFFS2](kernel-lite-small-file-jffs.md)** diff --git a/en/device-dev/kernel/differences-from-the-linux-standard-library.md b/en/device-dev/kernel/kernel-lite-small-lib-differ.md similarity index 100% rename from en/device-dev/kernel/differences-from-the-linux-standard-library.md rename to en/device-dev/kernel/kernel-lite-small-lib-differ.md diff --git a/en/device-dev/kernel/standard-library-0.md b/en/device-dev/kernel/kernel-lite-small-lib-standard.md similarity index 95% rename from en/device-dev/kernel/standard-library-0.md rename to en/device-dev/kernel/kernel-lite-small-lib-standard.md index 5d885291e11..c617ebcef2b 100644 --- a/en/device-dev/kernel/standard-library-0.md +++ b/en/device-dev/kernel/kernel-lite-small-lib-standard.md @@ -4,12 +4,12 @@ - [Development Example](#section4807125622614) - [FAQs](#section1219455217277) -The OpenHarmony kernel uses the **musl libc** library that supports the Portable Operating System Interface \(POSIX\). You can develop components and applications working on the kernel based on the POSIX. +The OpenHarmony kernel uses the **musl libc** library that supports the Portable Operating System Interface \(POSIX\). You can develop components and applications working on the kernel based on the POSIX. ## Framework **Figure 1** POSIX framework -![](figures/posix-framework.png "posix-framework") +![](figure/posix-framework.png "posix-framework") When a system invokes an interface, the OpenHarmony kernel is adapted to provide the interface's external features. diff --git a/en/device-dev/kernel/kernel-lite-small-lib.md b/en/device-dev/kernel/kernel-lite-small-lib.md new file mode 100644 index 00000000000..7b82773508b --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small-lib.md @@ -0,0 +1,7 @@ +# Standard Library + +- **[Standard Library](kernel-lite-small-lib-standard.md)** + +- **[Differences from the Linux Standard Library](kernel-lite-small-lib-differ.md)** + + diff --git a/en/device-dev/kernel/memory.md b/en/device-dev/kernel/kernel-lite-small-memory.md similarity index 99% rename from en/device-dev/kernel/memory.md rename to en/device-dev/kernel/kernel-lite-small-memory.md index f189a61be22..7e5191df7b4 100644 --- a/en/device-dev/kernel/memory.md +++ b/en/device-dev/kernel/kernel-lite-small-memory.md @@ -2,7 +2,7 @@ - [Basic Concepts](#section1392116583424) - [When to Use](#section159581619194319) -- [Available APIs](#section114001032104317) +- [API Description](#section114001032104317) ## Basic Concepts @@ -14,7 +14,7 @@ Sound memory management approaches and strategies help you improve software perf For user-space development, the OpenHarmony kernel provides a set of APIs for you to perform memory-related operations, such as memory application, release, remapping, and attribute setting, in addition to standard APIs provided by the C library. -## Available APIs +## API Description **Table 1** Standard APIs in the C library @@ -217,8 +217,8 @@ Details on API differences:
    - >![](public_sys-resources/icon-note.gif) **NOTE:** - >For details about the implementation differences between **mmap** and Linux function, see [Differences from the Linux Standard Library](differences-from-the-linux-standard-library.md). + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >For details about the implementation differences between **mmap** and Linux function, see [Differences from the Linux Standard Library](kernel-lite-small-lib-differ.md). **Return values:** diff --git a/en/device-dev/kernel/network.md b/en/device-dev/kernel/kernel-lite-small-net.md similarity index 99% rename from en/device-dev/kernel/network.md rename to en/device-dev/kernel/kernel-lite-small-net.md index 9899f4ae307..0f542fa5292 100644 --- a/en/device-dev/kernel/network.md +++ b/en/device-dev/kernel/kernel-lite-small-net.md @@ -2,20 +2,20 @@ - [Basic Concepts](#section9840143083510) - [When to Use](#section1575885183516) -- [Description](#section16351198193614) +- [API Description](#section16351198193614) ## Basic Concepts The network module implements basic functions of the TCP/IP protocol stack and provides the standard POSIX socket interfaces. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Currently, the OS uses **lwIP** to provide network capabilities. ## When to Use For user-space development, the OpenHarmony kernel provides a set of APIs for you to implement network functionalities, including creating and disabling sockets, transmitting and receiving data, and setting network attributes, in addition to standard POSIX socket functions provided by the C library. -## Description +## API Description **Table 1** Standard APIs in the C library diff --git a/en/device-dev/kernel/process.md b/en/device-dev/kernel/kernel-lite-small-process.md similarity index 99% rename from en/device-dev/kernel/process.md rename to en/device-dev/kernel/kernel-lite-small-process.md index 6cb4b62be89..4ce3abc48b9 100644 --- a/en/device-dev/kernel/process.md +++ b/en/device-dev/kernel/kernel-lite-small-process.md @@ -2,7 +2,7 @@ - [Basic Concepts](#section29197338383) - [When to Use](#section85513272398) -- [Available APIs](#section4517119124015) +- [API Description](#section4517119124015) ## Basic Concepts @@ -34,7 +34,7 @@ The user-space root process init is started by the kernel. Then other user-space **Figure 1** State transition of a process -![](figures/state-transition-of-a-process.png "state-transition-of-a-process") +![](figure/state-transition-of-a-process.png "state-transition-of-a-process") **Description of the process state transition:** @@ -74,7 +74,7 @@ The user-space root process init is started by the kernel. Then other user-space After processes are created, you can operate the resources only in your own process space, except shared resources. In user space, processes can be suspended, restored, and delayed. In addition, you can set and obtain the scheduling priority and scheduling policy of processes. When a process is terminated, it proactively releases its resources. However, the PID resources of the process are reclaimed by the parent process via **wait**/**waitpid** or when the parent process exits. -## Available APIs +## API Description The following table describes the APIs provided by the process management module of the OpenHarmony kernel. diff --git a/en/device-dev/kernel/user-space-exception-information.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-abn.md similarity index 100% rename from en/device-dev/kernel/user-space-exception-information.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-abn.md diff --git a/en/device-dev/kernel/cat.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cat.md similarity index 95% rename from en/device-dev/kernel/cat.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cat.md index b6cbfd94cae..db3798fee68 100644 --- a/en/device-dev/kernel/cat.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cat.md @@ -49,5 +49,5 @@ Enter **cat hello-harmony.txt**. ## Output **Figure 1** Viewing content of the **hello-harmony.txt** file -![](figures/viewing-content-of-the-hello-harmony-txt-file.png "viewing-content-of-the-hello-harmony-txt-file") +![](figure/viewing-content-of-the-hello-harmony-txt-file.png "viewing-content-of-the-hello-harmony-txt-file") diff --git a/en/device-dev/kernel/cd.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cd.md similarity index 97% rename from en/device-dev/kernel/cd.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cd.md index 52825654be5..e901db1567e 100644 --- a/en/device-dev/kernel/cd.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cd.md @@ -53,5 +53,5 @@ Enter **cd ..**. ## Output **Figure 1** Directory switching result -![](figures/directory-switching-result.png "directory-switching-result") +![](figure/directory-switching-result.png "directory-switching-result") diff --git a/en/device-dev/kernel/chgrp.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chgrp.md similarity index 95% rename from en/device-dev/kernel/chgrp.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chgrp.md index bca849032f2..b9fdfe09c32 100644 --- a/en/device-dev/kernel/chgrp.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chgrp.md @@ -56,5 +56,5 @@ Enter **chgrp 100 hello-harmony.txt**. ## Output **Figure 1** Changing the group of the **hello-harmony.txt** file to **100** -![](figures/changing-the-group-of-the-hello-harmony-txt-file-to-100.png "changing-the-group-of-the-hello-harmony-txt-file-to-100") +![](figure/changing-the-group-of-the-hello-harmony-txt-file-to-100.png "changing-the-group-of-the-hello-harmony-txt-file-to-100") diff --git a/en/device-dev/kernel/chmod.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chmod.md similarity index 96% rename from en/device-dev/kernel/chmod.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chmod.md index 0645a96d31a..734b648c4f3 100644 --- a/en/device-dev/kernel/chmod.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chmod.md @@ -56,5 +56,5 @@ Enter **chmod 666 hello-harmony.txt**. ## Output **Figure 1** Changing the permission on the **hello-harmony.txt** file to **666** -![](figures/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png "changing-the-permission-on-the-hello-harmony-txt-file-to-666") +![](figure/changing-the-permission-on-the-hello-harmony-txt-file-to-666.png "changing-the-permission-on-the-hello-harmony-txt-file-to-666") diff --git a/en/device-dev/kernel/chown.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chown.md similarity index 95% rename from en/device-dev/kernel/chown.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chown.md index 39b3ed6e04d..62683b53615 100644 --- a/en/device-dev/kernel/chown.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-chown.md @@ -65,5 +65,5 @@ Enter **chown 100 200 hello-harmony.txt**. ## Output **Figure 1** Changing the owner and group of the hello-harmony.txt file to 100 and 200 respectively -![](figures/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png "changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively") +![](figure/changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively.png "changing-the-owner-and-group-of-the-hello-harmony-txt-file-to-100-and-200-respectively") diff --git a/en/device-dev/kernel/cp.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cp.md similarity index 98% rename from en/device-dev/kernel/cp.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cp.md index e5c6d12695b..d654bd86f5d 100644 --- a/en/device-dev/kernel/cp.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-cp.md @@ -64,5 +64,5 @@ Enter **cp hello-harmony.txt ./tmp/**. ## Output **Figure 1** File copying result -![](figures/file-copying-result.png "file-copying-result") +![](figure/file-copying-result.png "file-copying-result") diff --git a/en/device-dev/kernel/format.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-format.md similarity index 99% rename from en/device-dev/kernel/format.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-format.md index 11336955c09..06ff11d299a 100644 --- a/en/device-dev/kernel/format.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-format.md @@ -65,5 +65,5 @@ Enter **format /dev/mmcblk0 128 2**. Formatting result -![](figures/en-us_image_0000001052370307.png) +![](figure/en-us_image_0000001052370307.png) diff --git a/en/device-dev/kernel/ls.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-is.md similarity index 97% rename from en/device-dev/kernel/ls.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-is.md index 24912f85463..20a95c9dcf2 100644 --- a/en/device-dev/kernel/ls.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-is.md @@ -54,5 +54,5 @@ Enter **ls**. ## Output **Figure 1** Viewing content of the current directory -![](figures/viewing-content-of-the-current-directory.png "viewing-content-of-the-current-directory") +![](figure/viewing-content-of-the-current-directory.png "viewing-content-of-the-current-directory") diff --git a/en/device-dev/kernel/lsfd.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-isfd.md similarity index 93% rename from en/device-dev/kernel/lsfd.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-isfd.md index 950cfda3a3d..02962165e1e 100644 --- a/en/device-dev/kernel/lsfd.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-isfd.md @@ -25,5 +25,5 @@ Enter **lsfd**. ## Output **Figure 1** Command output -![](figures/command-output-0.png "command-output-0") +![](figure/command-output-19.png "command-output-19") diff --git a/en/device-dev/kernel/mkdir.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-mkdir.md similarity index 97% rename from en/device-dev/kernel/mkdir.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-mkdir.md index 37e762b7f7c..77106a85f0f 100644 --- a/en/device-dev/kernel/mkdir.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-mkdir.md @@ -50,5 +50,5 @@ Enter **mkdir share**. ## Output **Figure 1** Creating the share directory -![](figures/creating-the-share-directory.png "creating-the-share-directory") +![](figure/creating-the-share-directory.png "creating-the-share-directory") diff --git a/en/device-dev/kernel/mount.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-mount.md similarity index 99% rename from en/device-dev/kernel/mount.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-mount.md index 4ba01ec183a..37feb309a27 100644 --- a/en/device-dev/kernel/mount.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-mount.md @@ -74,5 +74,5 @@ Enter **mount /dev/mmcblk0p0 /bin1/vs/sd vfat**. Mounting **/dev/mmcblk0p0** to the **/bin1/vs/sd** directory -![](figures/en-us_image_0000001051690323.png) +![](figure/en-us_image_0000001051690323.png) diff --git a/en/device-dev/kernel/partinfo.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-part.md similarity index 98% rename from en/device-dev/kernel/partinfo.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-part.md index 0de22f29a10..da5b18b5bdd 100644 --- a/en/device-dev/kernel/partinfo.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-part.md @@ -48,5 +48,5 @@ Enter **partinfo /dev/mmcblk0p0**. ## Output -![](figures/en-us_image_0000001052370303.png) +![](figure/en-us_image_0000001052370303.png) diff --git a/en/device-dev/kernel/partition.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-partion.md similarity index 98% rename from en/device-dev/kernel/partition.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-partion.md index adebf41920c..837e05d6089 100644 --- a/en/device-dev/kernel/partition.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-partion.md @@ -58,5 +58,5 @@ Enter **partition spinor**. Viewing spinor flash partition information -![](figures/en-us_image_0000001052810300.png) +![](figure/en-us_image_0000001052810300.png) diff --git a/en/device-dev/kernel/pwd.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-pwd.md similarity index 93% rename from en/device-dev/kernel/pwd.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-pwd.md index f277c5391ef..9f7182efd73 100644 --- a/en/device-dev/kernel/pwd.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-pwd.md @@ -30,5 +30,5 @@ Enter **pwd**. ## Output **Figure 1** Querying the current path -![](figures/querying-the-current-path.png "querying-the-current-path") +![](figure/querying-the-current-path.png "querying-the-current-path") diff --git a/en/device-dev/kernel/rm.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-rm.md similarity index 95% rename from en/device-dev/kernel/rm.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-rm.md index b828771a119..072bb443e54 100644 --- a/en/device-dev/kernel/rm.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-rm.md @@ -60,8 +60,8 @@ Example: ## Output **Figure 1** Deleting the **log1.txt** file -![](figures/deleting-the-log1-txt-file.png "deleting-the-log1-txt-file") +![](figure/deleting-the-log1-txt-file.png "deleting-the-log1-txt-file") **Figure 2** Deleting the **sd** directory -![](figures/deleting-the-sd-directory.png "deleting-the-sd-directory") +![](figure/deleting-the-sd-directory.png "deleting-the-sd-directory") diff --git a/en/device-dev/kernel/rmdir.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-rmdir.md similarity index 97% rename from en/device-dev/kernel/rmdir.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-rmdir.md index 9d35e2c1c86..78b7459cd91 100644 --- a/en/device-dev/kernel/rmdir.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-rmdir.md @@ -51,5 +51,5 @@ Enter **rmdir dir**. ## Output **Figure 1** Deleting directory **dir** -![](figures/deleting-directory-dir.png "deleting-directory-dir") +![](figure/deleting-directory-dir.png "deleting-directory-dir") diff --git a/en/device-dev/kernel/statfs.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-sta.md similarity index 97% rename from en/device-dev/kernel/statfs.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-sta.md index e823440c592..d2dc901d2cd 100644 --- a/en/device-dev/kernel/statfs.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-sta.md @@ -48,5 +48,5 @@ The following uses the NFS file system as an example: Enter **statfs /nfs**. **Figure 1** Output of the statfs command -![](figures/output-of-the-statfs-command.png "output-of-the-statfs-command") +![](figure/output-of-the-statfs-command.png "output-of-the-statfs-command") diff --git a/en/device-dev/kernel/sync.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-sync.md similarity index 100% rename from en/device-dev/kernel/sync.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-sync.md diff --git a/en/device-dev/kernel/touch.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-touch.md similarity index 96% rename from en/device-dev/kernel/touch.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-touch.md index 8b7b21b93d9..eef1d51cfac 100644 --- a/en/device-dev/kernel/touch.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-touch.md @@ -44,7 +44,7 @@ touch \[_filename_\] - The **touch** command creates a read-write empty file. - The **touch** command creates only one file at a time. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >If you run the **touch** command to create a file in a path storing important system resources, unexpected results such as a system breakdown may occur. For example, if you run the **touch uartdev-0** command in the **/dev** path, the system may stop responding. @@ -55,5 +55,5 @@ Enter **touch file.c**. ## Output **Figure 1** Creating **file.c** -![](figures/creating-file-c.png "creating-file-c") +![](figure/creating-file-c.png "creating-file-c") diff --git a/en/device-dev/kernel/umount.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-umount.md similarity index 97% rename from en/device-dev/kernel/umount.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-umount.md index 931ab380dfe..ad2e4575a2e 100644 --- a/en/device-dev/kernel/umount.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-umount.md @@ -51,5 +51,5 @@ Enter **umount /bin1/vs/sd**. Unmounting the file system from **/bin1/vs/sd** **Figure 1** Unmounting result -![](figures/unmounting-result.png "unmounting-result") +![](figure/unmounting-result.png "unmounting-result") diff --git a/en/device-dev/kernel/writeproc.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-write.md similarity index 97% rename from en/device-dev/kernel/writeproc.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-file-write.md index c7b4c69b6e8..5bffaf6a19a 100644 --- a/en/device-dev/kernel/writeproc.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file-write.md @@ -49,7 +49,7 @@ writeproc <_data_\> \>\> /proc/<_filename_\> The proc file implements its own **write** command. After the **writeproc** command is called, the input parameter will be passed to the **write** command. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The proc file system does not support multi-thread access. ## Example @@ -64,6 +64,6 @@ OHOS \# writeproc test \>\> /proc/uptime test \>\> /proc/uptime ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The uptime proc file temporarily implements the **write** command. The **INFO** log is generated by the implemented **test** command. diff --git a/en/device-dev/kernel/kernel-lite-small-shell-cmd-file.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file.md new file mode 100644 index 00000000000..b47f48fbebd --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-file.md @@ -0,0 +1,45 @@ +# File Commands + +- **[cat](kernel-lite-small-shell-cmd-file-cat.md)** + +- **[cd](kernel-lite-small-shell-cmd-file-cd.md)** + +- **[chgrp](kernel-lite-small-shell-cmd-file-chgrp.md)** + +- **[chmod](kernel-lite-small-shell-cmd-file-chmod.md)** + +- **[chown](kernel-lite-small-shell-cmd-file-chown.md)** + +- **[cp](kernel-lite-small-shell-cmd-file-cp.md)** + +- **[format](kernel-lite-small-shell-cmd-file-format.md)** + +- **[ls](kernel-lite-small-shell-cmd-file-is.md)** + +- **[lsfd](kernel-lite-small-shell-cmd-file-isfd.md)** + +- **[mkdir](kernel-lite-small-shell-cmd-file-mkdir.md)** + +- **[mount](kernel-lite-small-shell-cmd-file-mount.md)** + +- **[partinfo](kernel-lite-small-shell-cmd-file-part.md)** + +- **[partition](kernel-lite-small-shell-cmd-file-partion.md)** + +- **[pwd](kernel-lite-small-shell-cmd-file-pwd.md)** + +- **[rm](kernel-lite-small-shell-cmd-file-rm.md)** + +- **[rmdir](kernel-lite-small-shell-cmd-file-rmdir.md)** + +- **[statfs](kernel-lite-small-shell-cmd-file-sta.md)** + +- **[sync](kernel-lite-small-shell-cmd-file-sync.md)** + +- **[touch](kernel-lite-small-shell-cmd-file-touch.md)** + +- **[writeproc](kernel-lite-small-shell-cmd-file-write.md)** + +- **[umount](kernel-lite-small-shell-cmd-file-umount.md)** + + diff --git a/en/device-dev/kernel/magic-key-usage.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md similarity index 95% rename from en/device-dev/kernel/magic-key-usage.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md index 4beecc99310..9bcfa88de03 100644 --- a/en/device-dev/kernel/magic-key-usage.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-mag.md @@ -19,7 +19,7 @@ Debug ---\> Enable MAGIC KEY If this configuration item is disabled, the magic key is invalid. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >1. In **menuconfig**, you can move the cursor to **LOSCFG\_ENABLE\_MAGICKEY** and enter a question mark \(?\) to view the help information. 2. Press **Ctrl+R** to enable the magic key detection function. @@ -35,6 +35,6 @@ When the UART or USB-to-virtual serial port is connected, press **Ctrl+R** to - **Ctrl+E**: The system checks the integrity of the memory pool. If an error is detected, the system displays an error message. If no error is detected, the system displays "system memcheck over, all passed!". ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >When the magic key detection function is enabled and special characters need to be entered through the UART or USB-to-virtual serial port, ensure that the special characters are not the same as the magic key values. Otherwise, the magic key may be triggered by mistake, which may cause errors in the original design. diff --git a/en/device-dev/kernel/arp.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-arp.md similarity index 99% rename from en/device-dev/kernel/arp.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-arp.md index 0589669289c..b0267af58de 100644 --- a/en/device-dev/kernel/arp.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-arp.md @@ -77,7 +77,7 @@ Example: **Figure 1** Printing the entire ARP cache table - ![](figures/snipaste_2021-01-26_10-38-58.png) + ![](figure/snipaste_2021-01-26_10-38-58.png) **Table 2** Output description diff --git a/en/device-dev/kernel/dhclient.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-dh.md similarity index 99% rename from en/device-dev/kernel/dhclient.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-dh.md index ab3f5ba9984..fd93fad650c 100644 --- a/en/device-dev/kernel/dhclient.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-dh.md @@ -110,7 +110,7 @@ dhclient -sd 8.8.8.8 ## Example -![](figures/en-us_image_0000001053224218.png) +![](figure/en-us_image_0000001053224218.png) ## Output diff --git a/en/device-dev/kernel/dns.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-dns.md similarity index 100% rename from en/device-dev/kernel/dns.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-dns.md diff --git a/en/device-dev/kernel/ifconfig.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipc.md similarity index 100% rename from en/device-dev/kernel/ifconfig.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipc.md diff --git a/en/device-dev/kernel/ipdebug.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipd.md similarity index 100% rename from en/device-dev/kernel/ipdebug.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ipd.md diff --git a/en/device-dev/kernel/netstat.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-net.md similarity index 97% rename from en/device-dev/kernel/netstat.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-net.md index fe85534166f..362fa9a4301 100644 --- a/en/device-dev/kernel/netstat.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-net.md @@ -30,7 +30,7 @@ Enter **netstat**. **Figure 1** Output information -![](figures/snipaste_2021-01-26_10-38-58-1.png) +![](figure/snipaste_2021-01-26_10-38-58-20.png) ## Output @@ -78,6 +78,6 @@ Enter **netstat**.
    ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The command output like "========== total sockets 32 ====== unused sockets 22 BootTime 27 s ==========" indicates that there are 32 sockets in total, 22 sockets are not used, and it has been 27 seconds since the system starts. diff --git a/en/device-dev/kernel/ntpdate.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ntp.md similarity index 100% rename from en/device-dev/kernel/ntpdate.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ntp.md diff --git a/en/device-dev/kernel/ping.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping.md similarity index 99% rename from en/device-dev/kernel/ping.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping.md index 8a829c7ee45..0d83722cacc 100644 --- a/en/device-dev/kernel/ping.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping.md @@ -94,5 +94,5 @@ Enter **ping 192.168.1.10**. **Figure 1** Output of pinging the IP address of the TFTP server -![](figures/snipaste_2021-01-26_10-38-58-2.png) +![](figure/snipaste_2021-01-26_10-38-58-21.png) diff --git a/en/device-dev/kernel/ping6.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping6.md similarity index 100% rename from en/device-dev/kernel/ping6.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-ping6.md diff --git a/en/device-dev/kernel/telnet.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-tel.md similarity index 96% rename from en/device-dev/kernel/telnet.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-tel.md index d58498d7778..30c190696e0 100644 --- a/en/device-dev/kernel/telnet.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-tel.md @@ -50,7 +50,7 @@ telnet \[_on | off_\] - Before enabling Telnet, ensure that the network driver and network protocol stack have been initialized and the NIC of the board is in the **link up** state. - Currently, multiple clients \(Telnet + IP\) cannot connect to the development board at the same time. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >Telnet is under debugging and disabled by default. Do not use it in formal products. @@ -61,5 +61,5 @@ Enter **telnet on**. ## Output **Figure 1** Output of **telnet on** -![](figures/output-of-telnet-on.png "output-of-telnet-on") +![](figure/output-of-telnet-on.png "output-of-telnet-on") diff --git a/en/device-dev/kernel/tftp.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-tftp.md similarity index 98% rename from en/device-dev/kernel/tftp.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-net-tftp.md index c1bbd2eba39..3da40ac274b 100644 --- a/en/device-dev/kernel/tftp.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net-tftp.md @@ -68,7 +68,7 @@ The **tftp** command is used to download files from the TFTP server. 2. Use the **tftp** command to upload and download files on the OpenHarmony board. 3. The size of the file to be transferred cannot exceed 32 MB. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >TFTP is under debugging and disabled by default. Do not use it in formal products. diff --git a/en/device-dev/kernel/kernel-lite-small-shell-cmd-net.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net.md new file mode 100644 index 00000000000..68d76bf26ec --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-net.md @@ -0,0 +1,25 @@ +# Network Commands + +- **[arp](kernel-lite-small-shell-cmd-net-arp.md)** + +- **[dhclient](kernel-lite-small-shell-cmd-net-dh.md)** + +- **[dns](kernel-lite-small-shell-cmd-net-dns.md)** + +- **[ifconfig](kernel-lite-small-shell-cmd-net-ipc.md)** + +- **[ipdebug](kernel-lite-small-shell-cmd-net-ipd.md)** + +- **[netstat](kernel-lite-small-shell-cmd-net-net.md)** + +- **[ntpdate](kernel-lite-small-shell-cmd-net-ntp.md)** + +- **[ping](kernel-lite-small-shell-cmd-net-ping.md)** + +- **[ping6](kernel-lite-small-shell-cmd-net-ping6.md)** + +- **[telnet](kernel-lite-small-shell-cmd-net-tel.md)** + +- **[tftp](kernel-lite-small-shell-cmd-net-tftp.md)** + + diff --git a/en/device-dev/kernel/cpup.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-cpup.md similarity index 98% rename from en/device-dev/kernel/cpup.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-cpup.md index 0eb2985b3f8..fc8d3579880 100644 --- a/en/device-dev/kernel/cpup.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-cpup.md @@ -59,5 +59,5 @@ Enter **cpup 1 5**. ## Output **Figure 1** CPU usage -![](figures/cpu-usage.png "cpu-usage") +![](figure/cpu-usage.png "cpu-usage") diff --git a/en/device-dev/kernel/date.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-date.md similarity index 97% rename from en/device-dev/kernel/date.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-date.md index f9e52b6c1cd..ebd63e75d05 100644 --- a/en/device-dev/kernel/date.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-date.md @@ -88,5 +88,5 @@ Enter **date +%Y--%m--%d**. ## Output **Figure 1** System date printed based on the specified format -![](figures/system-date-printed-based-on-the-specified-format.png "system-date-printed-based-on-the-specified-format") +![](figure/system-date-printed-based-on-the-specified-format.png "system-date-printed-based-on-the-specified-format") diff --git a/en/device-dev/kernel/dmesg.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-demsg.md similarity index 98% rename from en/device-dev/kernel/dmesg.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-demsg.md index 4890f812707..d1227877956 100644 --- a/en/device-dev/kernel/dmesg.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-demsg.md @@ -107,5 +107,5 @@ Enter **dmesg \> /usr/dmesg.log**. ## Output **Figure 1** Writing dmesg content to a file -![](figures/writing-dmesg-content-to-a-file.png "writing-dmesg-content-to-a-file") +![](figure/writing-dmesg-content-to-a-file.png "writing-dmesg-content-to-a-file") diff --git a/en/device-dev/kernel/exec.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-exec.md similarity index 98% rename from en/device-dev/kernel/exec.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-exec.md index 3db30ca0a4e..e68a27f893b 100644 --- a/en/device-dev/kernel/exec.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-exec.md @@ -53,6 +53,6 @@ OHOS # exec helloworld OHOS # hello world! ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >After the executable file is executed, prompt **OHOS \#** is printed first. The shell **exec** command is executed in the background, causing the prompt to be printed in advance. diff --git a/en/device-dev/kernel/free.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-free.md similarity index 98% rename from en/device-dev/kernel/free.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-free.md index 640004a9f60..09e281e9f49 100644 --- a/en/device-dev/kernel/free.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-free.md @@ -63,7 +63,7 @@ Enter **free**, **free -k**, and **free -m**, respectively. ## Output **Figure 1** Displaying the memory usage in three units -![](figures/displaying-the-memory-usage-in-three-units.png "displaying-the-memory-usage-in-three-units") +![](figure/displaying-the-memory-usage-in-three-units.png "displaying-the-memory-usage-in-three-units") **Table 2** Output description diff --git a/en/device-dev/kernel/help.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-help.md similarity index 100% rename from en/device-dev/kernel/help.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-help.md diff --git a/en/device-dev/kernel/hwi.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-hwi.md similarity index 98% rename from en/device-dev/kernel/hwi.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-hwi.md index 72d7bd3f10e..90027ac456a 100644 --- a/en/device-dev/kernel/hwi.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-hwi.md @@ -32,11 +32,11 @@ Enter **hwi**. 1. Interrupt information \(with **LOSCFG\_CPUP\_INCLUDE\_IRQ** disabled\) - ![](figures/en-us_image_0000001053826366.png) + ![](figure/en-us_image_0000001053826366.png) 2. Interrupt information \(with **LOSCFG\_CPUP\_INCLUDE\_IRQ** enabled\) - ![](figures/en-us_image_0000001052810304.png) + ![](figure/en-us_image_0000001052810304.png) **Table 1** Output description diff --git a/en/device-dev/kernel/kill.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-kill.md similarity index 92% rename from en/device-dev/kernel/kill.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-kill.md index 72a2a65937e..3b69b6c8da7 100644 --- a/en/device-dev/kernel/kill.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-kill.md @@ -45,7 +45,7 @@ kill \[_signo_ | _-signo_\] \[_pid_\]
    ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The valid range of the **signo** value is \[0, 64\], and the recommended value range is \[1, 30\]. Other values in the valid range are reserved. ## Usage @@ -59,24 +59,24 @@ The **pid** value range varies depending on the system configuration. For exam 1. Query the current process list and determine the PID \(7\) of the process to be killed. **Figure 1** Querying PIDs -![](figures/querying-pids.png "querying-pids") +![](figure/querying-pids.png "querying-pids") 2. Run **kill 14 7** to send signal 14 \(the default behavior of **SIGALRM** is to terminate the process\) to process 7 **helloworld\_d** \(user-space\). Then query the current process list. Process 7 has been terminated. The result of the **kill 14 7** command is the same as that of the **kill -14 7** command. **Figure 2** Command output -![](figures/command-output.png "command-output") +![](figure/command-output.png "command-output") ## Output The command output is as follows: **Figure 3** Sending a signal to a specified process -![](figures/sending-a-signal-to-a-specified-process.png "sending-a-signal-to-a-specified-process") +![](figure/sending-a-signal-to-a-specified-process.png "sending-a-signal-to-a-specified-process") The signal is successfully sent if no error is reported. **Figure 4** Signal sending failure -![](figures/signal-sending-failure.png "signal-sending-failure") +![](figure/signal-sending-failure.png "signal-sending-failure") The preceding figure shows a signal sending failure caused by invalid parameters. In this case, check that the signal ID and PID are valid. diff --git a/en/device-dev/kernel/log.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-log.md similarity index 98% rename from en/device-dev/kernel/log.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-log.md index 7702a920dc8..ae7b0cde098 100644 --- a/en/device-dev/kernel/log.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-log.md @@ -68,5 +68,5 @@ Enter **log level 4**. ## Output -![](figures/en-us_image_0000001052530298.png) +![](figure/en-us_image_0000001052530298.png) diff --git a/en/device-dev/kernel/memcheck.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-mem.md similarity index 88% rename from en/device-dev/kernel/memcheck.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-mem.md index 20e8bbccbf6..965a6eb1704 100644 --- a/en/device-dev/kernel/memcheck.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-mem.md @@ -31,8 +31,8 @@ Enter **memcheck**. ## Output **Figure 1** No out-of-bounds memory access -![](figures/no-out-of-bounds-memory-access.png "no-out-of-bounds-memory-access") +![](figure/no-out-of-bounds-memory-access.png "no-out-of-bounds-memory-access") **Figure 2** Out-of-bounds memory access -![](figures/out-of-bounds-memory-access.png "out-of-bounds-memory-access") +![](figure/out-of-bounds-memory-access.png "out-of-bounds-memory-access") diff --git a/en/device-dev/kernel/oom.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-oom.md similarity index 99% rename from en/device-dev/kernel/oom.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-oom.md index f97c98347a5..7748844b3fc 100644 --- a/en/device-dev/kernel/oom.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-oom.md @@ -77,7 +77,7 @@ When the system memory is insufficient, the system displays a message indicating ## Output -![](figures/en-us_image_0000001053710680.png) +![](figure/en-us_image_0000001053710680.png) **Table 2** Output description diff --git a/en/device-dev/kernel/pmm.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-pmm.md similarity index 98% rename from en/device-dev/kernel/pmm.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-pmm.md index 6d44a3c6f05..34e2594d5d6 100644 --- a/en/device-dev/kernel/pmm.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-pmm.md @@ -30,7 +30,7 @@ Enter **pmm**. ## Output **Figure 1** Viewing the usage of physical pages -![](figures/viewing-the-usage-of-physical-pages.png "viewing-the-usage-of-physical-pages") +![](figure/viewing-the-usage-of-physical-pages.png "viewing-the-usage-of-physical-pages") **Table 1** Output description diff --git a/en/device-dev/kernel/reset.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-reset.md similarity index 100% rename from en/device-dev/kernel/reset.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-reset.md diff --git a/en/device-dev/kernel/sem.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sem.md similarity index 97% rename from en/device-dev/kernel/sem.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sem.md index 08e04352c59..1941131dd0f 100644 --- a/en/device-dev/kernel/sem.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sem.md @@ -61,7 +61,7 @@ Example 1: Enter **sem fulldata**. ## Output **Figure 1** Querying information about all semaphores in use -![](figures/querying-information-about-all-semaphores-in-use.png "querying-information-about-all-semaphores-in-use") +![](figure/querying-information-about-all-semaphores-in-use.png "querying-information-about-all-semaphores-in-use") **Table 2** Output description @@ -85,7 +85,7 @@ Example 1: Enter **sem fulldata**.
    ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >- The **ID** value can be in decimal or hexadecimal format. >- When the **ID** value is within the range of \[0, 1023\], semaphore information of the specified ID is displayed. If the semaphore ID is not used, a message is displayed to inform you of this case. For other values, a message is displayed indicating that the input parameter is incorrect. diff --git a/en/device-dev/kernel/stack.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-stack.md similarity index 98% rename from en/device-dev/kernel/stack.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-stack.md index a3bf37a1c19..e9d5ab785c3 100644 --- a/en/device-dev/kernel/stack.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-stack.md @@ -32,7 +32,7 @@ Enter **stack**. **Figure 1** System stack usage -![](figures/en-us_image_0000001054624363.png) +![](figure/en-us_image_0000001054624363.png) **Table 1** Output description diff --git a/en/device-dev/kernel/su.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-su.md similarity index 96% rename from en/device-dev/kernel/su.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-su.md index 77c7843aff7..44f370e0186 100644 --- a/en/device-dev/kernel/su.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-su.md @@ -58,5 +58,5 @@ Enter **su 1000 1000**. ## Output **Figure 1** Switching to the user whose **uid** and **gid** are both **1000** -![](figures/switching-to-the-user-whose-uid-and-gid-are-both-1000.png "switching-to-the-user-whose-uid-and-gid-are-both-1000") +![](figure/switching-to-the-user-whose-uid-and-gid-are-both-1000.png "switching-to-the-user-whose-uid-and-gid-are-both-1000") diff --git a/en/device-dev/kernel/swtmr.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-swymr.md similarity index 95% rename from en/device-dev/kernel/swtmr.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-swymr.md index 69b4720d91e..c69f0d3c071 100644 --- a/en/device-dev/kernel/swtmr.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-swymr.md @@ -50,10 +50,10 @@ Enter **swtmr** and **swtmr 1**. ## Output **Figure 1** Querying information about all software timers -![](figures/querying-information-about-all-software-timers.png "querying-information-about-all-software-timers") +![](figure/querying-information-about-all-software-timers.png "querying-information-about-all-software-timers") **Figure 2** Querying information about a specified software timer -![](figures/querying-information-about-a-specified-software-timer.png "querying-information-about-a-specified-software-timer") +![](figure/querying-information-about-a-specified-software-timer.png "querying-information-about-a-specified-software-timer") **Table 2** Output description @@ -104,7 +104,7 @@ Enter **swtmr** and **swtmr 1**.
    ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >- The **ID** value can be in decimal or hexadecimal format. >- If the **ID** value is within the range of \[0, _Number of current software timers - 1_\], the status of the specified software timer is returned. For other values, an error message is displayed. diff --git a/en/device-dev/kernel/systeminfo.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sys.md similarity index 98% rename from en/device-dev/kernel/systeminfo.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sys.md index 058d899cdf7..8868225020e 100644 --- a/en/device-dev/kernel/systeminfo.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-sys.md @@ -30,7 +30,7 @@ Enter **systeminfo**. ## Output **Figure 1** Usage of system resources -![](figures/usage-of-system-resources.png "usage-of-system-resources") +![](figure/usage-of-system-resources.png "usage-of-system-resources") **Table 1** Output description diff --git a/en/device-dev/kernel/task.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-task.md similarity index 98% rename from en/device-dev/kernel/task.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-task.md index 4bac34f5c9b..bcef76f8b87 100644 --- a/en/device-dev/kernel/task.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-task.md @@ -49,7 +49,7 @@ Enter **task**. ## Output **Figure 1** Querying partial task information -![](figures/querying-partial-task-information.png "querying-partial-task-information") +![](figure/querying-partial-task-information.png "querying-partial-task-information") **Table 2** Output description diff --git a/en/device-dev/kernel/uname.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-uname.md similarity index 98% rename from en/device-dev/kernel/uname.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-uname.md index a66e69e5ca2..7a9a7965824 100644 --- a/en/device-dev/kernel/uname.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-uname.md @@ -68,5 +68,5 @@ Enter **uname -a**. Querying system information -![](figures/en-us_image_0000001052370305.png) +![](figure/en-us_image_0000001052370305.png) diff --git a/en/device-dev/kernel/vmm.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-vmm.md similarity index 98% rename from en/device-dev/kernel/vmm.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-vmm.md index c5d73aaa832..920498ee8af 100644 --- a/en/device-dev/kernel/vmm.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-vmm.md @@ -65,7 +65,7 @@ Enter **vmm 3**. ## Output **Figure 1** Virtual memory usage of the process with PID 3 -![](figures/virtual-memory-usage-of-the-process-with-pid-3.png "virtual-memory-usage-of-the-process-with-pid-3") +![](figure/virtual-memory-usage-of-the-process-with-pid-3.png "virtual-memory-usage-of-the-process-with-pid-3") **Table 2** Basic process information diff --git a/en/device-dev/kernel/watch.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-watch.md similarity index 97% rename from en/device-dev/kernel/watch.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-watch.md index 1e3211a4c14..99eb40aabfe 100644 --- a/en/device-dev/kernel/watch.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys-watch.md @@ -91,8 +91,8 @@ Enter **watch -n 2 -c 6 task**. ## Output **Figure 1** **task** command monitoring result -![](figures/task-command-monitoring-result.png "task-command-monitoring-result") +![](figure/task-command-monitoring-result.png "task-command-monitoring-result") ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >In this example, the **task** command has been executed every 2 seconds for six times, and the preceding figure shows the output of the last execution. diff --git a/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md new file mode 100644 index 00000000000..5549fe5c32b --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd-sys.md @@ -0,0 +1,47 @@ +# System Commands + +- **[cpup](kernel-lite-small-shell-cmd-sys-cpup.md)** + +- **[date](kernel-lite-small-shell-cmd-sys-date.md)** + +- **[dmesg](kernel-lite-small-shell-cmd-sys-demsg.md)** + +- **[exec](kernel-lite-small-shell-cmd-sys-exec.md)** + +- **[free](kernel-lite-small-shell-cmd-sys-free.md)** + +- **[help](kernel-lite-small-shell-cmd-sys-help.md)** + +- **[hwi](kernel-lite-small-shell-cmd-sys-hwi.md)** + +- **[kill](kernel-lite-small-shell-cmd-sys-kill.md)** + +- **[log](kernel-lite-small-shell-cmd-sys-log.md)** + +- **[memcheck](kernel-lite-small-shell-cmd-sys-mem.md)** + +- **[oom](kernel-lite-small-shell-cmd-sys-oom.md)** + +- **[pmm](kernel-lite-small-shell-cmd-sys-pmm.md)** + +- **[reset](kernel-lite-small-shell-cmd-sys-reset.md)** + +- **[sem](kernel-lite-small-shell-cmd-sys-sem.md)** + +- **[stack](kernel-lite-small-shell-cmd-sys-stack.md)** + +- **[su](kernel-lite-small-shell-cmd-sys-su.md)** + +- **[swtmr](kernel-lite-small-shell-cmd-sys-swymr.md)** + +- **[systeminfo](kernel-lite-small-shell-cmd-sys-sys.md)** + +- **[task](kernel-lite-small-shell-cmd-sys-task.md)** + +- **[uname](kernel-lite-small-shell-cmd-sys-uname.md)** + +- **[vmm](kernel-lite-small-shell-cmd-sys-vmm.md)** + +- **[watch](kernel-lite-small-shell-cmd-sys-watch.md)** + + diff --git a/en/device-dev/kernel/shell-command-reference.md b/en/device-dev/kernel/kernel-lite-small-shell-cmd.md similarity index 39% rename from en/device-dev/kernel/shell-command-reference.md rename to en/device-dev/kernel/kernel-lite-small-shell-cmd.md index 1c1df368f21..ca4697ae096 100644 --- a/en/device-dev/kernel/shell-command-reference.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-cmd.md @@ -2,12 +2,12 @@ This chapter describes the functions, syntax, parameter ranges, usages, and examples of key system commands. -For details about the commands that are not described in this document, see the output of the [help](help.md) command. You can also use the **-h | --help** option of a command to view the help information about the command. +For details about the commands that are not described in this document, see the output of the [help](kernel-lite-small-shell-cmd-sys-help.md) command. You can also use the **-h | --help** option of a command to view the help information about the command. -- **[System Commands](system-commands.md)** +- **[System Commands](kernel-lite-small-shell-cmd-sys.md)** -- **[File Commands](file-commands.md)** +- **[File Commands](kernel-lite-small-shell-cmd-file.md)** -- **[Network Commands](network-commands.md)** +- **[Network Commands](kernel-lite-small-shell-cmd-net.md)** diff --git a/en/device-dev/kernel/introduction-to-the-shell.md b/en/device-dev/kernel/kernel-lite-small-shell-des.md similarity index 93% rename from en/device-dev/kernel/introduction-to-the-shell.md rename to en/device-dev/kernel/kernel-lite-small-shell-des.md index 497aade9dff..2bbbee37a67 100644 --- a/en/device-dev/kernel/introduction-to-the-shell.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-des.md @@ -10,7 +10,7 @@ The Shell provided by the OpenHarmony kernel supports commonly used commissionin - Network-related commands: querying the IP addresses of other devices connected to the development board, querying the IP address of the local device, testing the network connectivity, and setting the access point \(AP\) and station modes of the development board - For details about the process of adding commands, see [Shell Command Development Guidelines](shell-command-development-guidelines.md) and [Shell Command Programming Example](shell-command-programming-example.md). + For details about the process of adding commands, see [Shell Command Development Guidelines](kernel-lite-small-shell-guide.md) and [Shell Command Programming Example](kernel-lite-small-shell-sample.md). ## Important Notes @@ -30,7 +30,7 @@ Note the following when using the shell: - The shell functions do not comply with the POSIX standards and are used only for commissioning. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The shell functions are used for commissioning only and can be enabled only in the Debug version \(by enabling the **LOSCFG\_DEBUG\_VERSION** configuration item using **menuconfig**\). diff --git a/en/device-dev/kernel/shell-command-development-guidelines.md b/en/device-dev/kernel/kernel-lite-small-shell-guide.md similarity index 99% rename from en/device-dev/kernel/shell-command-development-guidelines.md rename to en/device-dev/kernel/kernel-lite-small-shell-guide.md index 766aff15ee4..9c984d76ba2 100644 --- a/en/device-dev/kernel/shell-command-development-guidelines.md +++ b/en/device-dev/kernel/kernel-lite-small-shell-guide.md @@ -126,7 +126,7 @@ You can perform the following operations to add shell commands: ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >The command keyword must be unique. Specifically, two different commands cannot share the same command keyword. Otherwise, only one command is executed. >When executing user commands sharing the same keyword, the shell executes only the first command in the **help** commands. @@ -161,7 +161,7 @@ You can perform the following operations to add shell commands: 4. Enter the shell command in either of the following methods: - Enter the shell command in the serial port tool. - - Enter the shell command in the Telnet tool. For details, see [telnet](telnet.md). + - Enter the shell command in the Telnet tool. For details, see [telnet](kernel-lite-small-shell-cmd-net-tel.md). diff --git a/en/device-dev/kernel/shell-command-programming-example.md b/en/device-dev/kernel/kernel-lite-small-shell-sample.md similarity index 100% rename from en/device-dev/kernel/shell-command-programming-example.md rename to en/device-dev/kernel/kernel-lite-small-shell-sample.md diff --git a/en/device-dev/kernel/kernel-lite-small-shell.md b/en/device-dev/kernel/kernel-lite-small-shell.md new file mode 100644 index 00000000000..e780951cf49 --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small-shell.md @@ -0,0 +1,15 @@ +# Commissioning + +- **[Introduction to the Shell](kernel-lite-small-shell-des.md)** + +- **[Shell Command Development Guidelines](kernel-lite-small-shell-guide.md)** + +- **[Shell Command Programming Example](kernel-lite-small-shell-sample.md)** + +- **[Shell Command Reference](kernel-lite-small-shell-cmd.md)** + +- **[Magic Key Usage](kernel-lite-small-shell-cmd-mag.md)** + +- **[User-Space Exception Information](kernel-lite-small-shell-cmd-abn.md)** + + diff --git a/en/device-dev/kernel/thread.md b/en/device-dev/kernel/kernel-lite-small-thread.md similarity index 99% rename from en/device-dev/kernel/thread.md rename to en/device-dev/kernel/kernel-lite-small-thread.md index 6c6f3cc1c7a..d1d04cc376e 100644 --- a/en/device-dev/kernel/thread.md +++ b/en/device-dev/kernel/kernel-lite-small-thread.md @@ -2,7 +2,7 @@ - [Basic Concepts](#section1179311337405) - [When to Use](#section44877547404) -- [Available APIs](#section2069477134115) +- [API Description](#section2069477134115) ## Basic Concepts @@ -30,7 +30,7 @@ A high-priority thread in a process can preempt the resources of a low-priority **Figure 1** State transition of a thread -![](figures/state-transition-of-a-thread.png "state-transition-of-a-thread") +![](figure/state-transition-of-a-thread.png "state-transition-of-a-thread") **Description of the thread state transition:** @@ -67,7 +67,7 @@ A high-priority thread in a process can preempt the resources of a low-priority After a thread is created, it can be scheduled, suspended, restored, and delayed in user space. In addition, you can set and obtain the scheduling priority and scheduling policy of the thread. -## Available APIs +## API Description The following table describes the APIs provided by the thread management module of the OpenHarmony kernel. diff --git a/en/device-dev/kernel/kernel-lite-small.md b/en/device-dev/kernel/kernel-lite-small.md new file mode 100644 index 00000000000..7964a667d36 --- /dev/null +++ b/en/device-dev/kernel/kernel-lite-small.md @@ -0,0 +1,11 @@ +# Kernel for Small Systems + +- **[Basic Kernel](kernel-lite-small-basic.md)** + +- **[File System](kernel-lite-small-file.md)** + +- **[Standard Library](kernel-lite-small-lib.md)** + +- **[Commissioning](kernel-lite-small-shell.md)** + + diff --git a/en/device-dev/kernel/kernel-lite.md b/en/device-dev/kernel/kernel-lite.md new file mode 100644 index 00000000000..78ab3657511 --- /dev/null +++ b/en/device-dev/kernel/kernel-lite.md @@ -0,0 +1,7 @@ +# Kernel for Mini and Small Systems + +- **[Kernel for Mini Systems](kernel-lite-mini.md)** + +- **[Kernel for Small Systems](kernel-lite-small.md)** + + diff --git a/en/device-dev/kernel/guidelines-for-compiling-and-building-the-linux-kernel.md b/en/device-dev/kernel/kernel-standard-build.md similarity index 71% rename from en/device-dev/kernel/guidelines-for-compiling-and-building-the-linux-kernel.md rename to en/device-dev/kernel/kernel-standard-build.md index a310e530bfb..5dd23ea6783 100644 --- a/en/device-dev/kernel/guidelines-for-compiling-and-building-the-linux-kernel.md +++ b/en/device-dev/kernel/kernel-standard-build.md @@ -1,13 +1,15 @@ # Guidelines for Compiling and Building the Linux Kernel -- [Example of Development Using the Hi3516D V300 Board and Ubuntu x86 Server](#section19369206113115) - - [Scenario 1: building the native kernel at the version level](#section1025111193220) - - [Scenario 2: building the modified kernel separately](#section17446652173211) +- [Example 1](#section19369206113115) + - [Scenario 1: Building the Native Kernel at the Version Level](#section1025111193220) + - [Scenario 2: Building the Modified Kernel Separately](#section17446652173211) -## Example of Development Using the Hi3516D V300 Board and Ubuntu x86 Server +## Example 1 -### Scenario 1: building the native kernel at the version level +The following uses the Hi3516D V300 board and Ubuntu x86 server as an example. + +### Scenario 1: Building the Native Kernel at the Version Level Perform a full build for the project to generate the **uImage** kernel image. @@ -15,11 +17,11 @@ Perform a full build for the project to generate the **uImage** kernel image. ./build.sh --product-name Hi3516DV300 # Build the uImage kernel image of the Hi3516D V300 board. ``` -### Scenario 2: building the modified kernel separately +### Scenario 2: Building the Modified Kernel Separately 1. Set up the build environment. - 1. Merge the required patch by referring to [guidelines for using patches on development boards](guidelines-for-using-patches-on-openharmony-development-boards.md). + 1. Merge the required patch by referring to [guidelines for using patches on development boards](kernel-standard-patch.md). 2. Prepare for the build environment. You can use the Arm Clang or GCC compiler. Enter the root directory of the project and configure environment variables: diff --git a/en/device-dev/kernel/linux-kernel-overview.md b/en/device-dev/kernel/kernel-standard-des.md similarity index 100% rename from en/device-dev/kernel/linux-kernel-overview.md rename to en/device-dev/kernel/kernel-standard-des.md diff --git a/en/device-dev/kernel/guidelines-for-using-patches-on-openharmony-development-boards.md b/en/device-dev/kernel/kernel-standard-patch.md similarity index 94% rename from en/device-dev/kernel/guidelines-for-using-patches-on-openharmony-development-boards.md rename to en/device-dev/kernel/kernel-standard-patch.md index 6b05e850113..e1ecf1aad2a 100644 --- a/en/device-dev/kernel/guidelines-for-using-patches-on-openharmony-development-boards.md +++ b/en/device-dev/kernel/kernel-standard-patch.md @@ -12,6 +12,6 @@ The following uses Hi3516D V300 as an example: patch -p1 < device/hisilicon/hi3516dv300/sdk_linux/open_source/linux/hisi_linux-4.19_hos_l2.patch ``` ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >Because patches are applied after the code environment of **kernel/linux-4.19** is copied during compilation and building of the OpenHarmony project, you must retain the original code environment of **kernel/linux-4.19** before running the OpenHarmony version-level build command. diff --git a/en/device-dev/kernel/kernel-standard.md b/en/device-dev/kernel/kernel-standard.md new file mode 100644 index 00000000000..cdbdf659c16 --- /dev/null +++ b/en/device-dev/kernel/kernel-standard.md @@ -0,0 +1,9 @@ +# Kernel for Standard Systems + +- **[Linux Kernel Overview](kernel-standard-des.md)** + +- **[Guidelines for Using Patches on OpenHarmony Development Boards](kernel-standard-patch.md)** + +- **[Guidelines for Compiling and Building the Linux Kernel](kernel-standard-build.md)** + + diff --git a/en/device-dev/kernel/kernel.md b/en/device-dev/kernel/kernel.md new file mode 100644 index 00000000000..356b5d64627 --- /dev/null +++ b/en/device-dev/kernel/kernel.md @@ -0,0 +1,7 @@ +# Kernel + +- **[Kernel for Mini and Small Systems](kernel-lite.md)** + +- **[Kernel for Standard Systems](kernel-standard.md)** + + diff --git a/en/device-dev/kernel/linux-kernel.md b/en/device-dev/kernel/linux-kernel.md deleted file mode 100644 index 9391b466f5f..00000000000 --- a/en/device-dev/kernel/linux-kernel.md +++ /dev/null @@ -1,9 +0,0 @@ -# Linux Kernel - -- **[Linux Kernel Overview](linux-kernel-overview.md)** - -- **[Guidelines for Using Patches on OpenHarmony Development Boards](guidelines-for-using-patches-on-openharmony-development-boards.md)** - -- **[Guidelines for Compiling and Building the Linux Kernel](guidelines-for-compiling-and-building-the-linux-kernel.md)** - - diff --git a/en/device-dev/kernel/lite-kernel.md b/en/device-dev/kernel/lite-kernel.md deleted file mode 100644 index 3927b0fb506..00000000000 --- a/en/device-dev/kernel/lite-kernel.md +++ /dev/null @@ -1,11 +0,0 @@ -# Lite Kernel - -- **[OpenHarmony Lite Kernel Basic Functions](openharmony-lite-kernel-basic-functions.md)** - -- **[OpenHarmony Lite Kernel File System](openharmony-lite-kernel-file-system.md)** - -- **[Standard Library](standard-library.md)** - -- **[Commissioning](commissioning.md)** - - diff --git a/en/device-dev/kernel/network-commands.md b/en/device-dev/kernel/network-commands.md deleted file mode 100644 index 87571257010..00000000000 --- a/en/device-dev/kernel/network-commands.md +++ /dev/null @@ -1,25 +0,0 @@ -# Network Commands - -- **[arp](arp.md)** - -- **[dhclient](dhclient.md)** - -- **[dns](dns.md)** - -- **[ifconfig](ifconfig.md)** - -- **[ipdebug](ipdebug.md)** - -- **[netstat](netstat.md)** - -- **[ntpdate](ntpdate.md)** - -- **[ping](ping.md)** - -- **[ping6](ping6.md)** - -- **[telnet](telnet.md)** - -- **[tftp](tftp.md)** - - diff --git a/en/device-dev/kernel/openharmony-lite-kernel-basic-functions.md b/en/device-dev/kernel/openharmony-lite-kernel-basic-functions.md deleted file mode 100644 index 8e3d07b35fb..00000000000 --- a/en/device-dev/kernel/openharmony-lite-kernel-basic-functions.md +++ /dev/null @@ -1,11 +0,0 @@ -# OpenHarmony Lite Kernel Basic Functions - -- **[Process](process.md)** - -- **[Thread](thread.md)** - -- **[Memory](memory.md)** - -- **[Network](network.md)** - - diff --git a/en/device-dev/kernel/public_sys-resources/icon-caution.gif b/en/device-dev/kernel/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/kernel/public_sys-resources/icon-danger.gif b/en/device-dev/kernel/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/kernel/public_sys-resources/icon-note.gif b/en/device-dev/kernel/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/kernel/public_sys-resources/icon-notice.gif b/en/device-dev/kernel/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/kernel/standard-library.md b/en/device-dev/kernel/standard-library.md deleted file mode 100644 index 558eeb7fd78..00000000000 --- a/en/device-dev/kernel/standard-library.md +++ /dev/null @@ -1,7 +0,0 @@ -# Standard Library - -- **[Standard Library](standard-library-0.md)** - -- **[Differences from the Linux Standard Library](differences-from-the-linux-standard-library.md)** - - diff --git a/en/device-dev/kernel/system-commands.md b/en/device-dev/kernel/system-commands.md deleted file mode 100644 index cb95770023d..00000000000 --- a/en/device-dev/kernel/system-commands.md +++ /dev/null @@ -1,47 +0,0 @@ -# System Commands - -- **[cpup](cpup.md)** - -- **[date](date.md)** - -- **[dmesg](dmesg.md)** - -- **[exec](exec.md)** - -- **[free](free.md)** - -- **[help](help.md)** - -- **[hwi](hwi.md)** - -- **[kill](kill.md)** - -- **[log](log.md)** - -- **[memcheck](memcheck.md)** - -- **[oom](oom.md)** - -- **[pmm](pmm.md)** - -- **[reset](reset.md)** - -- **[sem](sem.md)** - -- **[stack](stack.md)** - -- **[su](su.md)** - -- **[swtmr](swtmr.md)** - -- **[systeminfo](systeminfo.md)** - -- **[task](task.md)** - -- **[uname](uname.md)** - -- **[vmm](vmm.md)** - -- **[watch](watch.md)** - - diff --git a/en/device-dev/overview.md b/en/device-dev/overview.md index 4a5832db5a9..48d154e9b82 100644 --- a/en/device-dev/overview.md +++ b/en/device-dev/overview.md @@ -55,42 +55,42 @@ In addition, OpenHarmony provides a series of optional system components that ca

    Preparing for your development

    +

    Quick start

    Getting started with setup, build, burning, debugging, and running of OpenHarmony

    Getting Started for Mini and Small Systems

    +

    Getting Started for Mini and Small Systems

    Basic capabilities

    Using basic capabilities of OpenHarmony

    +

    Advanced development

    Developing smart devices based on system capabilities

    +

    Porting and adaptation

    • Porting and adapting the OpenHarmony to an SoC
    • Porting and adapting the OpenHarmony to a third-party library
    +

    Contributing components

    Contributing components to OpenHarmony

    +

    Reference

    @@ -114,9 +114,9 @@ In addition, OpenHarmony provides a series of optional system components that ca

    About OpenHarmony

    +

    About OpenHarmony

    Getting familiar with OpenHarmony

    +

    Getting familiar with OpenHarmony

    Preparing for your development

    +

    Quick start

    Getting started with setup, build, burning, debugging, and running of OpenHarmony

    Getting Started for Standard System

    +

    Getting Started for Standard System

    Basic capabilities

    Using basic capabilities of OpenHarmony

    +

    Using basic capabilities of OpenHarmony

    +

    Advanced development

    Developing smart devices based on system capabilities

    +

    Porting and adaptation

    Porting and adapting the OpenHarmony to a third-party library

    Third-Party Library Porting Guide

    +

    Third-Party Library Porting Guide

    Contributing components

    Contributing components to OpenHarmony

    +

    Contributing components to OpenHarmony

    +

    Reference

    diff --git a/en/device-dev/porting/Readme-EN.md b/en/device-dev/porting/Readme-EN.md index b4f760b020e..aa4e507c095 100644 --- a/en/device-dev/porting/Readme-EN.md +++ b/en/device-dev/porting/Readme-EN.md @@ -1,26 +1,33 @@ # Porting Guide -- [Third-Party Library Porting Guide](third-party-library-porting-guide.md) - - [Overview](overview.md) - - [Porting a Library Built Using CMake](porting-a-library-built-using-cmake.md) - - [Porting a Library Built Using Makefile](porting-a-library-built-using-makefile.md) - -- [Third-Party SoC Porting Guide](third-party-soc-porting-guide.md) - - [Porting Preparations](porting-preparations.md) - - [Before You Start](before-you-start.md) - - [Building Adaptation Process](building-adaptation-process.md) - - - [Kernel Porting](kernel-porting.md) - - [Overview](overview-0.md) - - [Basic Kernel Adaptation](basic-kernel-adaptation.md) - - [Kernel Porting Verification](kernel-porting-verification.md) - - - [Board-Level OS Porting](board-level-os-porting.md) - - [Overview](overview-1.md) - - [Board-Level Driver Adaptation](board-level-driver-adaptation.md) - - [Implementation of APIs at the HAL](implementation-of-apis-at-the-hal.md) - - [System Modules](system-modules.md) - - [XTS](xts.md) - - - [FAQ](faq.md) - +- [Third-Party Library Porting Guide](transplant-thirdparty.md) + - [Overview](transplant-thirdparty-overview.md) + - [Porting a Library Built Using CMake](transplant-thirdparty-cmake.md) + - [Porting a Library Built Using Makefile](transplant-thirdparty-makefile.md) +- [Mini System SoC Porting Guide](transplant-minichip.md) + - [Porting Preparations](transplant-chip-prepare.md) + - [Before You Start](transplant-chip-prepare-knows.md) + - [Building Adaptation Process](transplant-chip-prepare-process.md) + - [Kernel Porting](transplant-chip-kernel.md) + - [Overview](transplant-chip-kernel-overview.md) + - [Basic Kernel Adaptation](transplant-chip-kernel-adjustment.md) + - [Kernel Porting Verification](transplant-chip-kernel-verify.md) + - [Board-Level OS Porting](transplant-chip-board.md) + - [Overview](transplant-chip-board-overview.md) + - [Board-Level Driver Adaptation](transplant-chip-board-drive.md) + - [Implementation of APIs at the HAL](transplant-chip-board-hal.md) + - [System Modules](transplant-chip-board-component.md) + - [三方组件适配](transplant-chip-board-bundle.md) + - [XTS](transplant-chip-board-xts.md) + - [FAQ](transplant-chip-faqs.md) +- [Small System SoC Porting Guide](transplant-smallchip.md) + - [Porting Preparations](transplant-smallchip-prepare.md) + - [Before You Start](transplant-smallchip-prepare-needs.md) + - [Compilation and Building](transplant-smallchip-prepare-building.md) + - [Kernel Porting](transplant-smallchip-kernel.md) + - [LiteOS Cortex-A](transplant-smallchip-kernel-a.md) + - [Linux Kernel](transplant-smallchip-kernel-linux.md) + - [Driver Porting](transplant-smallchip-drive.md) + - [Overview](transplant-smallchip-drive-des.md) + - [Platform Driver Porting](transplant-smallchip-drive-plat.md) + - [Device Driver Porting](transplant-smallchip-drive-oom.md) \ No newline at end of file diff --git a/en/device-dev/porting/board-level-os-porting.md b/en/device-dev/porting/board-level-os-porting.md deleted file mode 100644 index e70229d4a09..00000000000 --- a/en/device-dev/porting/board-level-os-porting.md +++ /dev/null @@ -1,13 +0,0 @@ -# Board-Level OS Porting - -- **[Overview](overview-1.md)** - -- **[Board-Level Driver Adaptation](board-level-driver-adaptation.md)** - -- **[Implementation of APIs at the HAL](implementation-of-apis-at-the-hal.md)** - -- **[System Modules](system-modules.md)** - -- **[XTS](xts.md)** - - diff --git a/en/device-dev/porting/figures/en-us_image_0000001072304191.png b/en/device-dev/porting/figure/en-us_image_0000001072304191.png similarity index 100% rename from en/device-dev/porting/figures/en-us_image_0000001072304191.png rename to en/device-dev/porting/figure/en-us_image_0000001072304191.png diff --git a/en/device-dev/porting/figures/en-us_image_0000001073943511.png b/en/device-dev/porting/figure/en-us_image_0000001073943511.png similarity index 100% rename from en/device-dev/porting/figures/en-us_image_0000001073943511.png rename to en/device-dev/porting/figure/en-us_image_0000001073943511.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001126198996.png b/en/device-dev/porting/figure/en-us_image_0000001126198996.png new file mode 100644 index 0000000000000000000000000000000000000000..57e7e35c2eb4d0bcafecd07c32639ca0e8b17b6e GIT binary patch literal 11543 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 literal 0 HcmV?d00001 diff --git a/en/device-dev/porting/figure/en-us_image_0000001126354076.png b/en/device-dev/porting/figure/en-us_image_0000001126354076.png new file mode 100644 index 0000000000000000000000000000000000000000..c6cae9cb23b2d1767b415ba1fa668349e329034b GIT binary patch literal 70789 zcmdqJWmJ@5`v)kZv~<^iNaxVqh_rOafP!>43@Y6UN{50p64E&|(jc7!4Bb66`|!U1 z|DHX2&VJhcv>#xYInO-Lo!9k?>n8H8y5b8gN~|YOp1e?cBd_)33999jCr`~V(11^- zENYK{7Zi6bMcF51!_?crn`bsMYBEorRK{c9LY@QfF+xhr|((7FK?#Yvf zJSBM<9Urs3MRW^d-D$LCp%!mDLchZnHjK|vg>;{3SlQTKvMKyx)gmS!AR!^Xn=qHz zi~7vc5^;w6X;ej4~KhRh9h11Pv1cndhg zUHs$g;~Nh7r{MqjxPk|>>%SM^cXYhMC;FdDuoIh67|RJ2OsZ?~N516ZQkUS~6YV;`zrS%_@SHXcHB(&3 zFl+HELYk=iKaLxVz1B;nJzAAFSwZ){I)!ghOdCD=D2!?yA{#w-E&CD}=MoygUseOS zY?{?AEa;NB&C58y*J()I5tp}K7gL7dcaR=6*V~RW2^=-xhqlAQsg>m*t_L39sioIbu=E#mI8H#0Qo;j~G_<~J1dhX=w{pWf4q{$=Z)He>nO8IU zvMMO*&kq)j)ri)!b<~J+*0wjb(nQ>u()ew2vOwZK`1aFf-9Kc4-G&pJM>j%`OAV`d zoEC%ye)IozUTjoNW(B!`?4Ily=iR=FK#6yB)$GK|T;hUuC?$lO1#D(8&=iqzq{kgoQ#Ls30$I$cl zBbj0a8>#n@X(|6!rq;MJ)24n<5Tqu`%}V(x7-Aa=>`WFuoUV`x#jv)hpr2J`CJi}i zed#N&%8~@0nb`%je|~OvyAlr4Lv*)0x>AK<6FMp<`3>8KVW*YWI?fkcO(2I>fVOI* zX1ll2OY4j@WE}5~#>byFv>prAJ6ZvwJ~E42*Z2P16}P8X5m-+`O&swhJTcSj?vgv% z&kM+qo-Pt)&dtrOrme64O$+72vI9&TCHyZ6ZLe>fn}0_VG25w_7C7s}%c0cN!cMC2 z?Cn22H)I`YTbrDBw<%=zxaX(nup5*3;A6kreOJnn-zH%&A@}+9!#7ew+wcSID7)GXp+GQq@m5Nq>I$`?t1Pv z^fWgJev%6lY%Ld++~f~57bm@w;78t*gUZ3;>m>U=oa zu+U=oHZo*HEg1~e5RM;dP;)QuPPwObF?5I1Af~MXO0Qd0NiM{H@-0c3!x|3Dj-l9d zW=aXtsxyptvguOw9m{wI54q~%C=}*r>0(!;AyRG#$Angp+1Y6Wl#m}6N0>aD&PQuS zJj=jCyglXq=VV4%5Hp73C@cMYFnp%7VJu+=`x$40=#q`@g@XLHOO?s-mjjwQvn1-$eZBamRzf znpyhsHr++WWgeEOvNtcAR@yc*df*Y@yShQov-fANcMZosvbhH{y*;m;XBR}|9%4`G zO0v=G&Bsp@MXn{Ut{ckkuZ3fSw;O`Th0Ud;wh^LtCVh^sjZpCbrvNj01Twt0>`*^Q z>J2;|m=>Y%v;8gLgXDpoGsHh+?qLZ}drE65IL^Hh8n93Xbr6s1xNV^i6uSZ=TSj4c z;?M*Ap#AF`+w06hd#U{S4Vz!E25tqo4LKxzY~rt2@r z1hT~pLL~BQs9(n?qXyM0T#apbuL^ndu2i~ZZG%98Vxc0wyJWK0f@ef&$Cyes2Lijy zJmXRq*C2ev`_qnf;gnTDk<3FYnWz)dnC(M)l5;WX>*oc>n}bqMHsWR%F3zQR^U0X5 z?Ya9aF*MDNZc4JLutf3F#11L=kn^M5Q86Qd*UqUo>$R#QNI&apCxZtr(PAizw?jF$ZxHsY0kq-A z{)O2kXLq}Z{P{6BQQ5#%e!Fl1m9r4{h9q~~?xsEhsThPe7#OzUGW%JQ`HqiwDZdp& zi)s$L7rp#zn_#=-czb(WZ6nlQ;z&GipStQ=p%x}duC8O}_wL;qT?I>u+M$6o$R+=BKMsufp!4lJMK9 zC&dwWJJ|!Nd^Qsd1>ji~2;cjiY=Ze*3RqBplr4}wcQi5VJK$XNaPn;Q)7@(ZseH%5 z`h9&fUj+#vBSutb-Il9ef4tPm>I#HxOdD1BCqr1%YK1u^4y&=ade-3opR>YnHLM+ z6@mxwZF(MQKA2nz{SdyC5PHV4bGjU5J`o$PJ=-`!W=@|+RDNz1>%qEtoT=5^cuB2zc+f*&8S?wc`LyW!e&TcCz-y25 zHyIDB(cHzGw>00G9@EdWyLg;L)s$5wIlRBL&`XG?EEU)?M6k|*XVk*VbG&uT=bw<* z&IIc@IVEK=?P;eYp~luN>Id^YLMf$h8NTBJBRU#IG37 z>%=c%c2Bb=5<@oF{i5U4G5|#_wBeFlX~QXo^dci0gw}MM-k1LQHod2O>Rmv0bvKM9s=@QbiY^)MozL&g zLly?0Gp=oBvHLNWL4~J5gWuqxyg^&4Ed!wH)&Rq8I1F};+UPLLJ7xNp!g?qzkMrx$ zg6W^;%gf6`#a8s@8%L*Q)6N8)nQ2X(=7Cy^_NSgtq5Cz{)kV{;l!s545sqrGB?WVYRa65ck*?+62Iig6BCHe8rU}9kWWew%9+42O1lf0Pk`p$p~mz%z4LfXxnvLg5d8>f0S2u}a+~dhnT8kT0ZC z;-TUQ-EcHh_CdkS;NW+5{kM(e}iGKnL(u;+Ja(PeuCAe zO5!EL);~m_74Cb#sZe8f{oaH#eN$NiW19PRR>@r{DQ=chFWL&f$D;Iy{nzw%i@mL} z+~N_PdnUuD1@Mpw7-}i$hlA5i3!|EvLagfpVg;ov=KfW*Dpp|GFH(wmm5QRA;A)x$ zvG~-zTWNdrn=9;ES#C@Z%w_`Q*rIhiKDc^5DNSv)$-0N7%B1LGBDvaoQ(cWs0A1q@^T ziT`v>%j~F3F+8W z^-f^x(#U6J1j^dC04Mvp_&}=?1G~F0J~ult`o$9z9u*B^okD}8i<#vfAzv%BeD&o6 zI-6p3{TK#vc!c6PU4t9w2qQ3?xC{6g`=wtb%rfIGNVbJtTw+NNU}3rTIXwJ z=n~^?j_!JY=INs~d3aROC}X$+vTtR|DkZ1eDld==$KC0&iD6b~q36&THA&j7FzuCk zxXtDC%%p8T;bJZkbnyiuL6E`~Lk`TD`f|xNeL+yHAU~%W7b@r{z(R|z0zOBq+I%C+ z>bjy?Ui=F{c%$?*ni*GPaW2GkucDPnwhYPiG;-k6;d%%rQFUI~I2CPG$j6a$#9HpX zDPhOlw~JWTaVk0?IT)&wQPhx?KudcfC~Nm}4oh46rIa5pN(+q|)F*3Pg7+1yu<8wc(qCGlxb}&;uMRWi8 z4imD8BPIR4cEW{Fr%3ty6Cz{yDnCVQ(#7&`jW~KIsGaIx@kY0avazI4X8t(RMj4K~ zx$A?|Qy$*iUEOzm(GWK*tX3jPe$TS$%b|K@cThw1G{$6pD7v+I`(_9Lywd>X=t2lC zmaWKVB-RR+Bfsprib^@J+OO@7)wMgiQPAS`s=H}wx>px)V3$1YjySwhA=AdNGhrH#nqm;at z$OJ>I8$=!SapQA&^VTkT_S*q$T4RXD%YdN(8qvFufyA#O0WH^b)GM4h- zv;8HGapWth>zki2QpwF-{(A=Nr~&eFh7f^&+y-axTFE0>71#_oKil~16Iodo{5LJJ z%X0TuXnU6{0-GZ+$oEe2YJM^pKX7z}K45~oS$M0r=)pR6#P=E+lRQ1$XAjRm+fQ=} zMm5jgJ~YoxCUY9O3|wtP@Oz6d)Y9T_2j92u)W^`ulj8-%0>pV;ZIjCU*U8w~-3By9 zs_J&@unHU~w&5Z=&58rOq6Jc2+q?^CzD7fgUS?yEr!!DX0EJi9Qt>IL$w)pz*u(n@rc1jx6TC z9=^B>WygmZ16#co;w~*60i;5mpC0)30O83EqAQ|@&7bi@xjG7ykLK&|Y(E3F2wk%m zWV{X6xP%=^m23nz*p`#4w{y-FSj6L{Rg2-a-x>7kEQ@y%-mL!yAgJT^-d52^kT6MZeg{RRrpT)iERx|ZDZ9v<5s_`)bD1#mqKv4ZJn zYgFg^m9@wSM=XONQ8RT8_{nJ?JaU4%6D&`?ml8rd&y?k0(Pi8Hy zNRDnP8?m6g>TUh|m0>u(SDbfI3QKUL68WpjcmfFwD;UqqpuxDm336s1j_(jZkUu+1 zA%r2AfPB|M4Wz0H_dyKb^?njhX1l3U!{TfLJ;k-m`F|KM>jMu4^eX1)#e&!DEd}Ip z1BUkuFN_2fA632QiN%rs5&Eoo_G`+^oqx_lQafuo!tp?_-@J)f$ROy5Nw~~3WC!m5 zAMFs327lS*{P#~;gOq2Mk6)%Ss&mQ&L@U{EFa9sr{eK`K4$==u`*Z#8lb`;Q|9_)I zcHsUtu2X*jG`JrCX#eT7ECvJuWW4_oKtq-2nEvNkq)eYu{%@TG-u^#byz%Az4+*mW zy(0=B{r#V}VYGayfyqj7`F@v#S~NL=Pe1W%5|{b+4mVdX>2o@7e%$jeR2sInfgz=I z2H;C3$zQ&Fd_g6+4Dbp7h4X7^X;q7K=ruGn{4}buD>Q2nZS>fF8Wa@d7*`<#w7d#e z@zrYZIzc^UcD@=xH_6)m=VZU|ACQOwK?Pu9o?IL(MrQ}zQ~WlnkOz!Xf){&J0P(^?8 zU>H|gKBx8DqSyItq?^vRH?%>=}k#&|_~#^LrfT%}d9wt``P0nx88Yx{-;8CBS&K z??iB5Ceq=|)H!EU_9qq=vXHzomhFxr0lO?qmzp$a?d#8wVFF*9VJhY6IWNkWXe!Go z$Ce~FB8%nFc@f`haUjgG9-il?e#er2E52 z!$vfVY}`?Dq2cB03oLLG2scCViiUZ6z|Fs#(U3V5UlzZLffuZ3NG0J{jWr=ZYqiZn z2?nt6Y=rSQZ$+IHd2+emP4|#>L&Ws|&q&^O;D7w|P3JH-+H<(KlbR+`U9^N4xHwVd7j$ zFO2xJKwDyl1#E%t?o!`%da;)!oPYds;zmUFTaZiIpFV|$qhFtGCyskXIyMM9&E>0P z=Z^@LVO?EqW+U>F&DcC{m=7KznX}pe znSOqu_!O+U6PKyc@r#iee789s5v8G6aNRnW(cDsX#?ic(spI0QA}7Uh$*h%bMVoA| zKaE}<6r}vzfumvdx;(&L*3o|dlYM>5_Bm8k*!i*}*Di~z9I-bpi1Dx&s|5_FNiw6& z<1Q4i(yd=?^0v2nJ7OMitkBifRcK*%zB4(~8Yl+6S|<~bl9V)K{JxwE4m1K5kM4XO zq%*8&8z=vD9Cc(k2ul9x)2xu(X=flVB|k>I)V;9XWO3fp0!2`uj)aD?a>q}(@S|}J zsiG&*X9$Q`mC%xp91S{h4LX z;IDieyOF`Bnopo%a}|Zf;#u7nCkbg;p(Oq}JU^_uP4@q)n=AFmx#O+la0mLTrfYi~ za!V!K8wc$t5my0&?|?_-vw)KnFa+2Vz;^67M)d0P=;0?>ECN0WTc#8$8;!~y`9vkw zPsxC*^<=gPUTdz=fkRJXuO``Vf|yinGXdA zN~lyw-t1LTY3=i+)2TF{K`!=YMRf6h9IMti7ETw+T z%IK(iz>2tt-T!JmoKY0}olCFDii(A4kf(=k?NLq2^xJhTsOJcF&#wU_gY5yHPC8U3 zGnf_2qLxHe+Edv7xe-L;6@C@O*4DOIXRxnNDP60TS|U4S5fZ<}jHoj2KjPKKB)Ynl zP+bjvtaF`A@ha4HASg{<*0)YpGk)4Uz|k9*Frfi29GT#)l801wu5V1XXtpyqS$#kR zy4);qPp4l>pJ$x^7w=TO0`_mi$!;xs%Ka%Y%{PWR=ic2olIDJ-z^0ISZq}IGDxRP3 zJ`*I0QYUz%Jq`jtGu3q6PN`n|mF9h7`6o@C1M}3&yMrB`@%D6zwmxh=-5MDPxRj4= zX9VC`|94=|O(NE3s!ie{1d%(My+5Mzj5)ye_^X)C@q0VTo+W;TwKf|(U$9TSGy{EI zw-=1Yjs;g1=y~V_{*~VHA*39>-HO*;>)HD<$sWjC-NAYCkcs(uKRNW0w(n? zGU;jiM=PCnGq4~jAjssZ4b=jwiAgXRv7Nu`>i=kM7HJnuSa3*6(o#?)6zN7J@Bn%% z0H{c4X=y+F`-Q0oIGyfK+tVT=7VWuOGZRRX`M!%HsEf$`fTSVyA5rgGH3a` zw7KW3Tlk#FtWoT{5Z}sGH*$vw`3+!hJ)6D_mEzxIC5*!$J#KxhTkdJox2M9H!LE~X zdj1Pu{J2&(Is=Buj{PC{p}lQvTwJ)Rsi||s%QKZ$!Y<1nv7*SS!Nw(V<7Yo2+Ec&) z)_nH-`G3%-VO74Mfbl>Qr~8YZn1b}OUdP79Mmwv9(9qBoKtb-_7)r17M>;v$)uyDR znDjd00bX}L8hun0?5FpVFM80!olrtT!qK8PoL*SiU`WjWqBKp>#0h{_I~#w$(92Em z11@f&QTT3|Sqr7q?GbA0^$xoumkZ!GuXIHc6?0Djptbq-WZ>xZw6itvX0+T~s`q^_Z+7Ft&)1dyQL8^;>2&|4+xmHP`db9vl1R2>Je zD|Dhz2!c7XuwyD;#n6Oun>OmCCzvYte2kRQwOEdwjWU$&NoO!&hP^j*>q!739IMu1 z1_A+%dyaTl0MhYnFjGvQis(Z6{!avz4qjtc=IC5SF?}$1ErXRT9@EK;tGIf)ac${U zAW3bg3`WWQku0;sou6AeAfT5Jax9Ihzj-s7Z*4zSn#v}zlDP-i!5dh$Y0-zYYV9VmXvDna0ZyP>!%PD&QA-yrLWYuk92=XyktFUg10WQ(_kt_B zsK?fiVj5DNmn4LQIkbkJDVN5UZ9SeM` z`WU+aaI0?z$XFr&;Zy{s_{Q&uw|5bhQh#7x=FYdqNte)*K$4taU%L^y&sa&f8e*JuY1VM1Ab-^&1ZdeWm0I_K>$pv>~r;q)PqSZQQgQZ+Nn4=I>HE}LlPiD zgLdSrk>2Q&J%Ns&-xmA{SLUb3ia#WS3$+FXfUclenmVOMf1`2oy*ESu0#;hJ$SfHj z&L4ovein3`TNvFaV!`z58iLfQ>6!97jd$#1`y&r@b>#-^`va0J*7T$3mGSsOck<+? zK0JDMx48w$HWugo?ByTat5Ep@X_KuyWzqD`+EDQd3Bk2gh}$|iluAS5{99wCeDl{X ztt#CTy>$*ghZ!DEu6OhNOmzML%5bY4Ap|eQ{PAjT(92UMaa5hb?o0d78I>-eiJ^JD zsx?lKn1*)GJFcz$H3PpKO<%}+g5TtqudrBgQ@cZNHwToO+yZmAjS!rKRq=vC8&M_t z!FQm!5FL`xv2-%i8U-gnBb|zACs65#ah4^wQCoZQ3Qc(<#dul=IzVh4X#WR#=cn7! z5cF_AM-0LHkF>!Nk;i~j7N^K;(H$8*7*{Wy9d|l8a=Qi_v2C_;i_u*UaK* z*jHNm<1>g}m<(B!5-^1P`uII-EIpW7A%T{Y5bGPOX}qbJJpHTZvcAtDI-`x>;Jl%R zaHAvZ7bU4xVZjyLkD`Y>tJOR`(Sw_Ku`x3zaZHZ;yM~b{SB?kf2|& zDK8QQEoF&8D(qPO7VjHzRGLz7v%H%`hzsThw^QUDVED23FJxblSGn$Sq|Kh55%S%O z)UGuc%|(32bHHwdbfQhxfrxx&WO?+6dzdGB^$pCwSaX6nf|x>@_3-&&|;$?+U3lSEe<3VXVn{5BpuCYhSL~x6K<)? zyEIg4TvyhZXuCjvG6X+wyX7s0AL#sOgg&Y!11Tg6L3^<_oYjP%7c5z&u zEv_3!w7L=z294)HDqaD&MME*xWTB?qIYl?LIfO+Cfb_+S_&1Dv2S1vsD_*H8cZT5S z>;Zc>q{4QrR|t^}3+hrNBDHw<&TlgFz|I8YCCuiWfAK1#v-bDchsoc}&B1nUtenVh z?%kt0hgmJgIs6X7jEoGOzLX^yA!ED>&Qt(n%`*VHSx3I9Si^G=w1Rd&+wVzh!F~G# zQYdG>ZF5wF2V2uD_UJDv2@m3Xr7%@yNbzKG5w?XHPU5fcr0-*Cnh%y*jK2>mCpyuG zRB%47QU^+IGqEK&&Hj#F$1FoHf!hGl)>t!UnwMRywD6C+HdY^Z1C3kco&V*BNmhR6 zG1;0sOF~>dxpyQA^!->WRzScgdCGes$DC&c&_c0CQF5lbv{bcT#3tG0%3ox4xliKF zYtjTRGkMh$#ytr)k|8m8w7#Nv7`qLUj!TZSIDxrhgjuPLzMpbFM!@!;d|soMtLs=k zAemHnxrGA1ZOfKO@YfElF#dkb4@6sOUuN(*i0nOH0*S30(0;sR7&x97ZTGQWV#BE~ z2L)s@+BUOf1Nk>)+?j^x@2|YPqD^2tJ>wqlLlWHoCjGvniv2*Hq%HPQ-vSpy0*h%1=v zOH$e^nG}*0o9>aAY#OP~gtmVs2s+h2Y`_Se16NZqF2jkEA% zGFAejb%14J`UCpxi^uAnob%mj#3T6ph=Qu4^f7OIfbYAH?R^#&QG{u6O!DGs=RgvE&u^Vdg;Jz;x>A z&Fz>?qRsR;cXJ@|jm)AKOct4918Vgkg^*eJfICmOtw~Zabm3RIb8}!|cK*P2yop{A zzZuf{yWV##s8p&FSXh``zuau{aaFR!KQ3~E7Z;htG&Hfrx+Qkn@~*l?MilnbPH)>4 zhA1a1?Wbu=jbWNYR5$(aGq*_uLg+?YN2-=^e6K@v0xu zHw#qbEIB+~D;gIWAV8{^NQ&R4_}#v{-xLmbMLi;pOi0sT3JnRN~E2Ne>sB}r0@2b1dA4|4l}FUIj63TV&&<)hr)6nlCf%>3x_6vwq>C5~s1GRY2Z zb+r6)F}LPwC)LB~#u0k6Q=&kAdD*#h8O`1pQp{wOkevQDQ%+e6_ zKRQ!#N@q}-5+uM-P@>IFy4u3?OmVCYNWM%S8@P1~8kshE=ne4xu$|3GEzbJ;3Gp1# z#8&3NHA+wuFB#~ESVV3Vv4!?bVtFFZT8YeqS`28y>CjqB7-i-P+`RSgck_JDByiiv|S+C2YD?MKp+1 zHo{Hz57QhEP(9|L77!rb6GIXF9GjH*UM$m%03O6k6?D)TLFp|Xg&7Zj!Ci22F_ zaHx`Tb{PC{19RrNh-<7*+WHtXLHx_+-H3*Uy53}Mg7zO3Ox|&=s@}x$FMabmhK6s{ zl!u{CC=0RL6idPs!bgz()KM^ol^c<<1$D@APuQcZ^WS{v>yy87v@|44lKuRl_?%!B zwe;SSH2=PtLdj+dvSZIz={;@TEV}JTtrF8aav0ZvSAtwguVY$`&LpU>xC-)d+#st@ zf~39~9K#RJj8yAr9M`Wn7(9pkhFl80#8UEmW{735nybG_G(Ed|(=j}PJcP$T+7#Nr z7BNWEQLBak=!19?C;*PGsNexe?FVg+Xhuzd7w86ybQhVKh@rp_LV@4-Stu`4W3L`R9Z_;D-qVYz6<8Ie>6Yu}omm1HM41^JT0 z^!)K*u+wMaSe3A@F8NoCj75rO3#6Og-fT<+P26Ukcjv*JORonB{mz>47+&LOv+lqQ zF24%aT&8gRvQ2!=_6dC)!PnAK!@~W^04Ui9$Y+7*8?ugnK(M_~EoQ=^cjF;HIX~x2 zY#$#d0?rG#cyRQMYcX|PIJNzQ30m|<4q*J&LZL^Y6~3LOEmKYm^1*p+g*yxblPV0CmshnbI#^R-15 z2|_Ya{-?qA?+yCyz)4Qvc63mrA*Ncd$W|&z>SBd%2`L*kqA*zzsL&P^-Wu2)zsiWe z=IwIa9uaxSOYSK;77TNAYr6JOAJ`R^cLIvzlj#7+-v9B@8>QNacpaNYceM)TxVbT( zs6SOWE8UM`S0Wihwxhdj2Fr~W8k9aUge47mgRfED4!)2pBKcTFEe~baY#3OWF~$&N+<9D z6eDUEt<46J1y{IlzSNcWINNe<27Bhu4YQZG=F=)R^St(a@*BxVN()u}J)n3HP9s`1 z!7hHwf(ydbPsM2vAK!J)Y7KzI$*t`Vrt%d>0VpNnA2WbSa~3Sy-}=2K<#o;v`73~d z_k!XRYq?qvQQaS!7zU?63w+Tjq|hLCd*|Ivu4DN8aoZh@uB}eV0p99?x}(cTo8sGf zIDyl5V~aNrOGoZt^N#mrfiG0LYMmCN#tSs;wH@$KK^L4o#UJI+q~ZkZr>thQgLUEN zfj3LJ8+==q;RAcksWRkMcy2U^`}Ubs{zOPc;(GJHPInro@ZHJ@enCN8DnX}V!}wE= zP!Zg(LbZA`RW|X@9x*G*BMin$qWIM9JlyehFU_ps-K#J}3B@78;pLaKZyzVb|6p6^ zWp@7ag)PfA3etm0CzDeWB6BwrT-O|UakG_Pdj#aCnbCsDOUz-d#c_YN{s5;Pasds( z#oK#2>2Fz&4^TDm?%g-DDLMPK&CL?!x}G@NBDFp$G5ffPh(Qvc$OK)$IDUqXuEGOo z)}(ZgG>7{g9@{SUqOWb)nl^rBp-af63uxW}vC+x0`SNG60;oY?eRmypEVb__3HR`{M; z?=3cwJz|;-gM#bx-C`|PG)-#2iH!Azrx#=$E_&0A{NvR2_d3*$m%6)cVr#IQ&7rVv z7BP-Z$HK(y=}~(qy6TDPjrONr6tGd;JCX zrp_xyn~v^Tl(=E885%FN>{cO)L}oSlv@wMoX!CnlQG_H#z+{=Jn2k6LPNmXy+1k|D z_!4lg)vRizn3N$MA>-i487MvF9TkszuJ3ftFvW#?i&|QZrEIKj$ux!Jh`!D|r=G|= z0Y(4iOOev(7Y$zT?`TY31qcZaJcedts$HK zbKE5eAzfqC5qVB72I#_r=}~P6IONv82@LJynD7#K2o(3)BhLzOW9iZG1v$?1D^9GJ z)RQJZ#SF`iZdFpT;g z0EO(4B>ZoWxmQ+JE{}Ub#~s+*YyC&avvCas;Cr=Hf+}NN27TV4`3+`#&V&!jjJRh1 zfNYpGgWcG}pcAC#IHn)lPvPCuhpMk{3i4N$(C+PO`0Qa_XF(+^RecgGU)+eR!tNsO zv6*wq($fNiff`82@v1_KAVQ5=DmkW+o-6Fo>7rR>EH&&02g>0Hb$q;3s&gWIJ0*p@ zb5}Bc9QPp1qBb9^i;$3Td42tR%SR>#h8F<0>i_lZ?SeSeJMgxc9BT7^+|^Ih6euBH ze6{id9kb_udS}bP1eD;^*pbWu$H7AQcT?Y}X(+z7Cgs)QGeC^uzxef%kzw)Z+bQpt z^<|8Ln0F=()Unltcb99KzV#baF)=Od6=JJwURnY+8O`z68*ZOU(<2#%6$K4kO7=%0khx7Hl*{^fm{ashwZji-jnYvl&ai9I+ z*1|mF9_h@#efO;RT}DSaJX3c1Q%wbAg>vEK_H9?$EgH6db`OKxVf*m=beEC8U+Ygs zWH~N9sq8%LqKzm7MgtAFb$Di*;}|WYNjW=WDEKD41tnRDTq7x5+&!f~*6|S%u7a%x z$$=wsZPu{yjkyR$00zMMRC-hJLwt6U;58Mmm{K5wl(o*pIltaSrc~Gv0u2UCEwjfm z?avi}H>!}Hz&Rp4D65JJ*4`7Ir9}n1ryK=4dK(zE@5MArlL9`k%c>n)Qh0aKCdjcd zip=SS)=1ODg>3Zl?jjTevinOt8USVV)^-lFfAW-%+Mgu#NrqGqLpOh=<*=0DOObKR z(&T>TSw(bkYKCoZT)!dc@Omsv`U}a3tSJ3<2JSK!{xohggq-!i>?_@RHX$ESB$_oAa1EB{%m5+|ou zp@w-59<<6K->?Vi96g>>A}azUP@ur;uZo#25h(CXbFz*^#gHTRF2%Io1w}25zkRJQ zv8Jejq`+=yW>4=v~`)Z(*&mV95PTsjes$Ujk#@ZD_ z4T4#|t6=`3o!@HQhM~XHQb4U5gC5?%9+{Lftg;@`5qd65-ZTsCn%VEz9xoUx)@Aq9 zmX64IqckELf5q&|NN@Vwx+Hx1v5hqU6Ti59pIh!3q@-T;@7#3Up*?@TPQg#ijNcUC z!#@1$d9JzzHCLC->deK%7tK70gZ}I_ax?Cw2Q}51fjk%ehh}Nzv zmWqD)Xncb!zg`7Ld`*^;+ibT2`yBHPG3F4+D2J&qIEM@)&*TyqI}Wx#p` zl*G!DPwhjqRW_Vcn?%S?>_fnlu+?_@rcbB0M8b?ef4p8|K@;Baoev9BEH{B-NAt{=AI3#I4i`}9C#incj%eb5 zP6)?4KDY6o3C~^KkRs(!m1K*yJGSH^@;y-5W2a$8@;@2 zLGlgrMu!kc??S2MH7%G>V)ywwboo9Tu+s^8{o#7*2b!j*cFRQJThL`LoVjGmpJ9nf#@=#sLs%0Ax$ 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�`CQ|RV#ExZUQA8abUl4YF<Tjw)MXG`sms%vJq}4 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 literal 0 HcmV?d00001 diff --git a/en/device-dev/porting/figure/en-us_image_0000001172273945.jpg b/en/device-dev/porting/figure/en-us_image_0000001172273945.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1e7f8b695bebf395ea6cfa0aed55495c4896118 GIT binary patch literal 23299 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 z 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

    #H4utArGNPRVW4h&!sjQq6=;|~z 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�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
    mY91-NVFhu!+;euWz@Hkq^RK%yd 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 z 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 literal 0 HcmV?d00001 diff --git a/en/device-dev/porting/figures/key-steps-for-soc-porting.png b/en/device-dev/porting/figure/key-steps-for-soc-porting.png similarity index 100% rename from en/device-dev/porting/figures/key-steps-for-soc-porting.png rename to en/device-dev/porting/figure/key-steps-for-soc-porting.png diff --git a/en/device-dev/porting/figures/process-for-board-level-driver-adaptation.png b/en/device-dev/porting/figure/process-for-board-level-driver-adaptation.png similarity index 100% rename from en/device-dev/porting/figures/process-for-board-level-driver-adaptation.png rename to en/device-dev/porting/figure/process-for-board-level-driver-adaptation.png diff --git a/en/device-dev/porting/figures/successful-startup-of-openharmony.png b/en/device-dev/porting/figure/successful-startup-of-openharmony.png similarity index 100% rename from en/device-dev/porting/figures/successful-startup-of-openharmony.png rename to en/device-dev/porting/figure/successful-startup-of-openharmony.png diff --git "a/en/device-dev/porting/figure/\345\210\206\347\261\273.png" "b/en/device-dev/porting/figure/\345\210\206\347\261\273.png" new file mode 100644 index 0000000000000000000000000000000000000000..7edac54ec2fcd1fc93330d47acb2d44fceef2710 GIT binary patch literal 20230 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 - -- **[Overview](overview-0.md)** - -- **[Basic Kernel Adaptation](basic-kernel-adaptation.md)** - -- **[Kernel Porting Verification](kernel-porting-verification.md)** - - diff --git a/en/device-dev/porting/public_sys-resources/icon-caution.gif b/en/device-dev/porting/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/porting/public_sys-resources/icon-danger.gif b/en/device-dev/porting/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/porting/public_sys-resources/icon-note.gif b/en/device-dev/porting/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/porting/public_sys-resources/icon-notice.gif b/en/device-dev/porting/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/porting/third-party-library-porting-guide.md b/en/device-dev/porting/third-party-library-porting-guide.md deleted file mode 100644 index 2f5cbcb9396..00000000000 --- a/en/device-dev/porting/third-party-library-porting-guide.md +++ /dev/null @@ -1,9 +0,0 @@ -# Third-Party Library Porting Guide - -- **[Overview](overview.md)** - -- **[Porting a Library Built Using CMake](porting-a-library-built-using-cmake.md)** - -- **[Porting a Library Built Using Makefile](porting-a-library-built-using-makefile.md)** - - diff --git a/en/device-dev/porting/third-party-soc-porting-guide.md b/en/device-dev/porting/third-party-soc-porting-guide.md deleted file mode 100644 index 19cd7887dee..00000000000 --- a/en/device-dev/porting/third-party-soc-porting-guide.md +++ /dev/null @@ -1,11 +0,0 @@ -# Third-Party SoC Porting Guide - -- **[Porting Preparations](porting-preparations.md)** - -- **[Kernel Porting](kernel-porting.md)** - -- **[Board-Level OS Porting](board-level-os-porting.md)** - -- **[FAQ](faq.md)** - - diff --git a/en/device-dev/porting/transplant-chip-board-bundle.md b/en/device-dev/porting/transplant-chip-board-bundle.md new file mode 100644 index 00000000000..d6c185df8b3 --- /dev/null +++ b/en/device-dev/porting/transplant-chip-board-bundle.md @@ -0,0 +1,57 @@ +# 三方组件适配 + +如果需要使用third\_party目录下与产品相关的三方组件,可能需要对三方组件进行适配,下面以比较常用的mbedtls为例,介绍下适配步骤,注意本小节中仅介绍如何将适配的代码与OpenHarmony的编译框架融合,不会详细介绍mbedtls本身的原理和适配代码的具体逻辑,这些内容请参考mbedtls官方网站上的适配指南。 + +1. 编写适配层代码 + + 根据mbedtls官网的适配指南,编写需要的适配层代码,以适配硬件随机数举例,下面的路径都是相对third\_party/mbedtls的路径: + + 1. 拷贝include/mbedtls/config.h到ports目录下,并修改打开MBEDTLS\_ENTROPY\_HARDWARE\_ALT开关。 + 2. 在ports目录下创建entropy\_poll\_alt.c文件include并实现entropy\_poll.h中的硬件随机数接口 + 3. 在BUILD.gn中的mbedtls\_sources中增加刚才适配的entropy\_poll\_alt.c的路径 + 4. 在BIULD.gn中的lite\_library\("mbedtls\_static"\)中增加一行MBEDTLS\_CONFIG\_FILE指定新配置文件的位置 + + ``` + lite_library("mbedtks_static") { + ... + defines += ["MBEDTLS_CONFIG_FILE=<../port/config.h>"] + ... + } + ``` + + + 注意,上面的修改最好都新建一个config或者新建一个xxx\_alt.c文件来修改,不要直接在原先的代码中修改,侵入式的修改会导致后续版本升级出现大量零散冲突,增加升级维护成本。 + +2. 制作patch + + 由于上面的适配是硬件相关的,上库代码时,不能直接放到通用的third\_party/mbedtls目录中,因此需要将上面的修改制作成patch,在编译之前通过打patch的方式注入到代码中。 + + 1. 首先增加设备的patch配置文件device///patch.yml + 2. 编辑device///patch.yml,增加要打的patch的信息: + + ``` + # 需要打patch的路径,路径均为相对代码根目录的路径 + third_party/mbedtls: + # 该路径下需要打的patch存放路径 + - device///third_party/mbedtls/adapter.patch + third_party/wpa_supplicant: + # 当一个路径下有多个patch的时候会依次执行patch + - device///third_party/wpa_supplicant/xxxxx.patch + - device///third_party/wpa_supplicant/yyyyy.patch + ... + ``` + + 3. 制作上述**步骤1**修改的patch并放到对应的目录即可 + +3. 使用带patch的编译 + + 想要在编译的时候带上patch,其他步骤不变,仅需要在触发编译的时候加上 --patch,例如全编译的命令编程 + + ``` + hb build -f --patch + ``` + + >![](../public_sys-resources/icon-caution.gif) **CAUTION:** + >最后一次打patch的产品信息会被记录,在进行下一次编译操作时,会对上一次的patch进行回退(即执行\`patch -p1 -R < xxx\`),回退patch失败或新增patch失败均会终止编译过程,请解决patch冲突后再次尝试编译。 + + diff --git a/en/device-dev/porting/system-modules.md b/en/device-dev/porting/transplant-chip-board-component.md similarity index 87% rename from en/device-dev/porting/system-modules.md rename to en/device-dev/porting/transplant-chip-board-component.md index 686ea0751d8..2e29bb3150e 100644 --- a/en/device-dev/porting/system-modules.md +++ b/en/device-dev/porting/transplant-chip-board-component.md @@ -11,7 +11,7 @@ System modules, such as the system ability manager \(SAMGR\) and DFX subsystem, This service-oriented framework enables you to develop services, features, and external APIs, and implement multi-service process sharing and service invocation for inter-process communication \(IPC\). ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >This module must be used during board-level system porting. Otherwise, other service modules cannot run properly. For details about how to use SAMGR, see [samgr\_lite](https://gitee.com/openharmony/distributedschedule_samgr_lite/blob/master/README.md). @@ -22,5 +22,5 @@ For details about how to use SAMGR, see [samgr\_lite](https://gitee.com/openhar The design for X \(DFX\) subsystem mainly includes design for reliability \(DFR\) and design for testability \(DFT\), providing code maintenance and testing. -For details, see [dfx](../subsystems/dfx.md). +For details about how to use the DFX subsystem, see [DFX](../subsystems/subsys-dfx-overview.md). diff --git a/en/device-dev/porting/board-level-driver-adaptation.md b/en/device-dev/porting/transplant-chip-board-drive.md similarity index 100% rename from en/device-dev/porting/board-level-driver-adaptation.md rename to en/device-dev/porting/transplant-chip-board-drive.md diff --git a/en/device-dev/porting/implementation-of-apis-at-the-hal.md b/en/device-dev/porting/transplant-chip-board-hal.md similarity index 100% rename from en/device-dev/porting/implementation-of-apis-at-the-hal.md rename to en/device-dev/porting/transplant-chip-board-hal.md diff --git a/en/device-dev/porting/overview-1.md b/en/device-dev/porting/transplant-chip-board-overview.md similarity index 90% rename from en/device-dev/porting/overview-1.md rename to en/device-dev/porting/transplant-chip-board-overview.md index a7332baa377..036de7066ae 100644 --- a/en/device-dev/porting/overview-1.md +++ b/en/device-dev/porting/transplant-chip-board-overview.md @@ -13,11 +13,11 @@ After the minimum system is ported, you can port the board-level system by: 4. Verifying service functions **Figure 1** Process for board-level driver adaptation -![](figures/process-for-board-level-driver-adaptation.png "process-for-board-level-driver-adaptation") +![](figure/process-for-board-level-driver-adaptation.png "process-for-board-level-driver-adaptation") ## Board-Level Directory Specifications -For details about board-level system building adaptation, see [Compilation and Building Subsystem](building-adaptation-process.md). The board-related drivers, software development software kits \(SDKs\), directories, and HAL implementation are stored in the **device** directory. The directory structure and its description are as follows: +For details about board-level system building adaptation, see [Compilation and Building Subsystem](transplant-chip-prepare-process.md). The board-related drivers, software development software kits \(SDKs\), directories, and HAL implementation are stored in the **device** directory. The directory structure and its description are as follows: ``` . diff --git a/en/device-dev/porting/xts.md b/en/device-dev/porting/transplant-chip-board-xts.md similarity index 95% rename from en/device-dev/porting/xts.md rename to en/device-dev/porting/transplant-chip-board-xts.md index 95899d22121..35c40e9dc60 100644 --- a/en/device-dev/porting/xts.md +++ b/en/device-dev/porting/transplant-chip-board-xts.md @@ -12,7 +12,7 @@ X Test Suite \(XTS\) is a set of OpenHarmony certification test suites. Currentl - The **acts** directory stores the source code and configuration files of ACTS test cases. The ACTS helps device vendors detect the software incompatibility as early as possible and ensures that the software is compatible with OpenHarmony during the entire development process. - The **tools** software package stores the test case development framework related to **acts**. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The startup of the XTS depends on the SAMGR module. The XTS adaptation consists of the following steps: @@ -46,7 +46,7 @@ The following example shows how to execute ACTS cases for the IoTLink module of Obtain the image from the **out/hispark\_pegasus/wifiiot\_hispark\_pegasus/** directory. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >To check whether the ACTS is integrated into the current image, check whether the corresponding **.a** file is compiled. 2. Burn the image into the development board. diff --git a/en/device-dev/porting/transplant-chip-board.md b/en/device-dev/porting/transplant-chip-board.md new file mode 100644 index 00000000000..c674dd27e2d --- /dev/null +++ b/en/device-dev/porting/transplant-chip-board.md @@ -0,0 +1,15 @@ +# Board-Level OS Porting + +- **[Overview](transplant-chip-board-overview.md)** + +- **[Board-Level Driver Adaptation](transplant-chip-board-drive.md)** + +- **[Implementation of APIs at the HAL](transplant-chip-board-hal.md)** + +- **[System Modules](transplant-chip-board-component.md)** + +- **[三方组件适配](transplant-chip-board-bundle.md)** + +- **[XTS](transplant-chip-board-xts.md)** + + diff --git a/en/device-dev/porting/faq.md b/en/device-dev/porting/transplant-chip-faqs.md similarity index 100% rename from en/device-dev/porting/faq.md rename to en/device-dev/porting/transplant-chip-faqs.md diff --git a/en/device-dev/porting/basic-kernel-adaptation.md b/en/device-dev/porting/transplant-chip-kernel-adjustment.md similarity index 99% rename from en/device-dev/porting/basic-kernel-adaptation.md rename to en/device-dev/porting/transplant-chip-kernel-adjustment.md index 8713d4e6c02..88acd2d1454 100644 --- a/en/device-dev/porting/basic-kernel-adaptation.md +++ b/en/device-dev/porting/transplant-chip-kernel-adjustment.md @@ -15,7 +15,7 @@ Basic adaptation consists of the following steps: **Figure 1** Startup process -![](figures/en-us_image_0000001073943511.png) +![](figure/en-us_image_0000001073943511.png) In the **startup.S** file, you must ensure that the entry function \(for example, **reset\_vector**\) of the interrupt vector table is stored in the RAM start address specified by the link configuration files. The link configuration files of IAR, Keil, and GCC projects are **xxx.icf**, **xxx.sct**, and **xxx.ld**, respectively. The startup file provided by the vendor does not need to be modified if the **startup.S** file has initialized the system clock and returned to the **main** function. Otherwise, the preceding functions need to be implemented. diff --git a/en/device-dev/porting/overview-0.md b/en/device-dev/porting/transplant-chip-kernel-overview.md similarity index 98% rename from en/device-dev/porting/overview-0.md rename to en/device-dev/porting/transplant-chip-kernel-overview.md index 46e8c9491f4..48634e90d7b 100644 --- a/en/device-dev/porting/overview-0.md +++ b/en/device-dev/porting/transplant-chip-kernel-overview.md @@ -21,7 +21,7 @@ The kernel used by module chips is LiteOS Cortex-M, which consists of four modul **Figure 1** Architecture of the LiteOS Cortex-M kernel -![](figures/en-us_image_0000001072304191.png) +![](figure/en-us_image_0000001072304191.png) The directory structure of the kernel is described as follows: diff --git a/en/device-dev/porting/kernel-porting-verification.md b/en/device-dev/porting/transplant-chip-kernel-verify.md similarity index 98% rename from en/device-dev/porting/kernel-porting-verification.md rename to en/device-dev/porting/transplant-chip-kernel-verify.md index b00b1cb1556..56aa1d19d06 100644 --- a/en/device-dev/porting/kernel-porting-verification.md +++ b/en/device-dev/porting/transplant-chip-kernel-verify.md @@ -55,5 +55,5 @@ LITE_OS_SEC_TEXT_INIT int main(void) } ``` -If the first task is executed properly, the core process of the minimum system is valid. Due to the XTS framework's dependency on the link scripts of Utils and Bootstrap as well as the building framework, testing the kernel by executing the XTS is not supported. You can test whether the minimum system is completely ported in [XTS](xts.md). +If the first task is executed properly, the core process of the minimum system is valid. Due to the XTS framework's dependency on the link scripts of Utils and Bootstrap as well as the building framework, testing the kernel by executing the XTS is not supported. You can test whether the minimum system is completely ported in [XTS](transplant-chip-board-xts.md). diff --git a/en/device-dev/porting/transplant-chip-kernel.md b/en/device-dev/porting/transplant-chip-kernel.md new file mode 100644 index 00000000000..7f9366086a5 --- /dev/null +++ b/en/device-dev/porting/transplant-chip-kernel.md @@ -0,0 +1,9 @@ +# Kernel Porting + +- **[Overview](transplant-chip-kernel-overview.md)** + +- **[Basic Kernel Adaptation](transplant-chip-kernel-adjustment.md)** + +- **[Kernel Porting Verification](transplant-chip-kernel-verify.md)** + + diff --git a/en/device-dev/porting/before-you-start.md b/en/device-dev/porting/transplant-chip-prepare-knows.md similarity index 94% rename from en/device-dev/porting/before-you-start.md rename to en/device-dev/porting/transplant-chip-prepare-knows.md index 3b25588a1b4..731df255c42 100644 --- a/en/device-dev/porting/before-you-start.md +++ b/en/device-dev/porting/transplant-chip-prepare-knows.md @@ -33,7 +33,7 @@ The implementation of the OpenHarmony project directories and functions relies o

    V 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%0AX2O-t<@Pf2Gv7eU0dxS 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

    /device

    Board-level code implementation, which is provided by third-party vendors based on the OpenHarmony specifications. For detailed structure about the device directory and porting process, see Board-Level OS Porting.

    +

    Board-level code implementation, which is provided by third-party vendors based on the OpenHarmony specifications. For detailed structure about the device directory and porting process, see Board-Level OS Porting.

    /vendor

    @@ -44,7 +44,7 @@ The implementation of the OpenHarmony project directories and functions relies o
    -The **device** directory is in the internal structure of **device/\{Chip solution vendor\}/\{Development board\}**. The following uses Hisilicon **hispark\_taurus** as an example: +The **device** directory is in the internal structure of **device/\{Chip solution vendor\}/\{Development board\}**. The following uses HiSilicon **hispark\_taurus** as an example: ``` device @@ -75,10 +75,10 @@ vendor # Product solution vendor The **device** directory of OpenHarmony is the adaptation directory for the basic SoC. You can skip the porting process and directly develop system applications if complete SoC adaptation code is already available in the directory. If there is no corresponding SoC porting implementation in the directory, complete the porting process by following the instructions provided in this document. The following figure shows the process of porting OpenHarmony to a third-party SoC. **Figure 1** Key steps for SoC porting -![](figures/key-steps-for-soc-porting.png "key-steps-for-soc-porting") +![](figure/key-steps-for-soc-porting.png "key-steps-for-soc-porting") ## Porting Specifications - The porting must comply with the basic OpenHarmony principles described in [Contribution](https://gitee.com/openharmony/docs/blob/master/en/contribute/contribution.md). -- The code required for third-party SoC adaptation is stored in the **device**, **vendor**, and **arch** directories. Naming and usage of these directories must comply with specified naming and usage specifications. For details, see [Directory Specifications](overview-0.md) and [Board-Level Directory Specifications](overview-1.md#section6204129143013). +- The code required for third-party SoC adaptation is stored in the **device**, **vendor**, and **arch** directories. Naming and usage of these directories must comply with specified naming and usage specifications. For details, see [Directory Specifications](transplant-chip-kernel-overview.md) and [Board-Level Directory Specifications](transplant-chip-board-overview.md#section6204129143013). diff --git a/en/device-dev/porting/building-adaptation-process.md b/en/device-dev/porting/transplant-chip-prepare-process.md similarity index 100% rename from en/device-dev/porting/building-adaptation-process.md rename to en/device-dev/porting/transplant-chip-prepare-process.md diff --git a/en/device-dev/porting/porting-preparations.md b/en/device-dev/porting/transplant-chip-prepare.md similarity index 33% rename from en/device-dev/porting/porting-preparations.md rename to en/device-dev/porting/transplant-chip-prepare.md index 0e0f02a7044..f981ad0f6d0 100644 --- a/en/device-dev/porting/porting-preparations.md +++ b/en/device-dev/porting/transplant-chip-prepare.md @@ -1,7 +1,7 @@ # Porting Preparations -- **[Before You Start](before-you-start.md)** +- **[Before You Start](transplant-chip-prepare-knows.md)** -- **[Building Adaptation Process](building-adaptation-process.md)** +- **[Building Adaptation Process](transplant-chip-prepare-process.md)** diff --git a/en/device-dev/porting/transplant-minichip.md b/en/device-dev/porting/transplant-minichip.md new file mode 100644 index 00000000000..38a8e78dc15 --- /dev/null +++ b/en/device-dev/porting/transplant-minichip.md @@ -0,0 +1,11 @@ +# Mini System SoC Porting Guide + +- **[Porting Preparations](transplant-chip-prepare.md)** + +- **[Kernel Porting](transplant-chip-kernel.md)** + +- **[Board-Level OS Porting](transplant-chip-board.md)** + +- **[FAQ](transplant-chip-faqs.md)** + + diff --git a/en/device-dev/porting/transplant-smallchip-drive-des.md b/en/device-dev/porting/transplant-smallchip-drive-des.md new file mode 100644 index 00000000000..8608a1fff83 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-drive-des.md @@ -0,0 +1,11 @@ +# Overview + +Drivers can be classified as platform drivers or device drivers. The platform drivers are generally in the SoC, such as the GPIO, I2C, and SPI drivers. The device drivers are typically ouside of the SoC, such as the LCD, TP, and WLAN drivers. + +**Figure 1** OpenHarmony driver classification + + +![](figure/分类.png) + +The HDF driver is designed to be used across OSs. The HDF driver framework provides strong support for the driver to achieve this goal. During HDF driver development, you are advised to use only the APIs provided by the HDF driver framework. Otherwise, the driver cannot be used across OSs. Before driver development, familiarize yourself with the [HDF](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/hdf.md). + diff --git a/en/device-dev/porting/transplant-smallchip-drive-oom.md b/en/device-dev/porting/transplant-smallchip-drive-oom.md new file mode 100644 index 00000000000..6ca81d10be2 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-drive-oom.md @@ -0,0 +1,390 @@ +# Device Driver Porting + +- [LCD Driver Porting](#section1574513454119) +- [Touchscreen Driver Porting](#section20284142116422) +- [WLAN Driver Porting](#section0969448164217) + +This section describes how to port device drivers. + +## LCD Driver Porting + +To port an LCD driver, write the driver, create an instance of the corresponding model in the driver, and complete the registration. + +The LCD drivers are stored in **//drivers/framework/model/display/driver/panel**. + +1. Create a panel driver. + + Create an HDF driver and call the **RegisterPanel** method to register a model instance during driver initialization. + + ``` + int32_t LCDxxEntryInit(struct HdfDeviceObject *object) + { + struct PanelData *panel = CreateYourPanel(); + // Register a model instance. + if (RegisterPanel(panel) != HDF_SUCCESS) { + HDF_LOGE("%s: RegisterPanel failed", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_xxxxDevEntry = { + .moduleVersion = 1, + .moduleName = "LCD_XXXX", + .Init = LCDxxEntryInit, + }; + + HDF_INIT(g_xxxxDevEntry); + ``` + +2. Configure and load the panel driver. + + Modify the source code file **//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs**. Add configurations for the device named **device\_lcd** for the display host. + + >![](../public_sys-resources/icon-caution.gif) **CAUTION:** + >Make sure the value of **moduleName** is the same as that of **moduleName** in the panel driver. + + ``` + root { + ... + display :: host { + device_lcd :: device { + deviceN :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LCD_XXXX"; + } + } + } + } + ``` + + +## Touchscreen Driver Porting + +This section describes how to port a touchscreen driver. The touchscreen drivers are stored in the source code directory **//drivers/framework/model/input/driver/touchscreen**. To port a touchscreen driver, register a **ChipDevice** model instance with the system. + +For details about how to develop a touchscreen driver, see [Touchscreen Development Guidelines](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/touchscreen.md). + +1. Create a touchscreen driver. + + Create the **touch\_ic\_name.c** file in the **touchscreen** directory. Write the following content: + + ``` + #include "hdf_touch.h" + + static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) + { + ChipDevice *tpImpl = CreateXXXXTpImpl(); + if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) {// Register the ChipDevice model instance. + ReleaseXXXXTpImpl(tpImpl); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_touchXXXXChipEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH_XXXX", // Make sure the value is the same as that in the subsequent configuration. + .Init = HdfXXXXChipInit, + }; + + HDF_INIT(g_touchXXXXChipEntry); + ``` + + The following methods need to be implemented in **ChipDevice**: + + + + + + + + + + + + + + + + + + + + + + + + + +

    Method

    +

    Description

    +

    int32_t (*Init)(ChipDevice *device)

    +

    Initializes the device.

    +

    int32_t (*Detect)(ChipDevice *device)

    +

    Detects the device.

    +

    int32_t (*Suspend)(ChipDevice *device)

    +

    Places the device in sleep mode.

    +

    int32_t (*Resume)(ChipDevice *device)

    +

    Wakes up the device.

    +

    int32_t (*DataHandle)(ChipDevice *device)

    +

    Reads data from the device and writes touch point data to device > driver > frameData.

    +

    int32_t (*UpdateFirmware)(ChipDevice *device)

    +

    Updates the firmware.

    +
    + +2. Configure the product and load the driver. + + All device information of the product is defined in the source code file **//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs**. Modify the file and add configurations to the **device** named **device\_touch\_chip** in the **host** of the **input** command. + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >Make sure the value of **moduleName** is the same as that of **moduleName** in the touchscreen driver. + + ``` + deviceN :: deviceNode { + policy = 0; + priority = 130; + preload = 0; + permission = 0660; + moduleName = "HDF_TOUCH_XXXX"; + deviceMatchAttr = "touch_XXXX_configs"; + } + ``` + + +## WLAN Driver Porting + +The WLAN driver is divided into two parts. One of the parts manages WLAN devices, and the other part manages WLAN traffic. + +**Figure 1** OpenHarmony WLAN driver architecture + + +![](figure/hdf_wifi.png) + +As shown in [Figure 1](#fig155920160203), the left part manages Wi-Fi devices, and the right part manages WLAN traffic. The HDF WLAN framework abstracts these two parts. The porting process of the driver can be considered as the implementation of the APIs required by the two parts. These APIs are described as follows: + + + + + + + + + + + + + + + + + + + + +

    API

    +

    Header File

    +

    API Description

    +

    HdfChipDriverFactory

    +

    drivers\framework\include\wifi\hdf_wlan_chipdriver_manager.h

    +

    Factory of the ChipDriver, which is used to support multiple WLAN ports of a chip.

    +

    HdfChipDriver

    +

    drivers\framework\include\wifi\wifi_module.h

    +

    Manages a specific WLAN port.

    +

    NetDeviceInterFace

    +

    drivers\framework\include\wifi\net_device.h

    +

    Communicates with the protocol stack, such as sending data and setting the status of network ports.

    +
    + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>For details about the API development, see [WLAN Development Guidelines](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/wlan.md). + +The porting procedure is as follows: + +1. Create a WLAN chip driver. + + Create the **hdf\_wlan\_chip\_name.c** file in **/device/vendor\_name/peripheral/wifi/chip\_name/**. The sample code is as follows: + + ``` + static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { + static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); // Implement the method. + struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) {// Register the driver factory. + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_hdfXXXChipEntry = { + .moduleVersion = 1, + .Init = HdfWlanXXXChipDriverInit, + .Release = HdfWlanXXXChipRelease, + .moduleName = "HDF_WIFI_CHIP_XXX" // Make sure the name is the same as the configured one. + }; + + HDF_INIT(g_hdfXXXChipEntry); + ``` + + In the **CreateChipDriverFactory** method, create an object of the **HdfChipDriverFactory** type. This object provides the following methods: + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Method

    +

    Description

    +

    const char *driverName

    +

    Indicates the driver name.

    +

    int32_t (*InitChip)(struct HdfWlanDevice *device)

    +

    Initializes the chip.

    +

    int32_t (*DeinitChip)(struct HdfWlanDevice *device)

    +

    Deinitializes the chip.

    +

    void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)

    +

    Releases the HdfChipDriverFactory object.

    +

    struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)

    +

    Creates an HdfChipDriver. In the input parameters, device indicates the device information, and ifIndex indicates the sequence number of this interface in the chip.

    +

    void (*Release)(struct HdfChipDriver *chipDriver)

    +

    Releases the chip driver.

    +

    uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)

    +

    Obtains the maximum number of interfaces supported by the current chip.

    +
    + + The **Build** method creates an **HdfChipDriver** object that manages the specified network interface. This object needs to provide the following methods: + + + + + + + + + + + + + + + + + + + + + + +

    Method

    +

    Description

    +

    int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    +

    Initializes the current network interface. The NetDeviceInterFace needs to be provided for the netDev.

    +

    int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    +

    Deinitializes the current network interface.

    +

    struct HdfMac80211BaseOps *ops

    +

    Provides the WLAN basic capability interface set.

    +

    struct HdfMac80211STAOps *staOps

    +

    Provides the interface set required for supporting the STA mode.

    +

    struct HdfMac80211APOps *apOps

    +

    Provides the interface set required for supporting the AP mode.

    +
    + +2. Compile a configuration file to describe the chips supported by the driver. + + Create a chip configuration file in the product configuration directory and save it to the source code path **//vendor/vendor\_name/product\_name/config/wifi/wlan\_chip\_chip\_name.hcs**. + + The following is the file template: + + ``` + root { + wlan_config { + chip_name :& chipList { + chip_name :: chipInst { + match_attr = "hdf_wlan_chips_chip_name"; /* Indicates the configuration matching attribute, which is used to provide the configuration root of the driver.*/ + driverName = "driverName"; /* Indicates the driver name, which must be the same as that of driverName in HdfChipDriverFactory.*/ + sdio { + vendorId = 0xXXXX; /* your vendor id */ + deviceId = [0xXXXX]; /*your supported devices */ + } + } + } + } + } + ``` + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >Replace the values of **vendor\_name**, **product\_name**, and **chip\_name** in the path and file with the actual names. + >Set **vendorId** and **deviceId** to the actual vendor ID and chip ID, respectively. + +3. Compile the configuration file and load the driver. + + All device information of the product is defined in the source code file **//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs**. Modify the file and add configurations to the **device** named **device\_wlan\_chips** in the **host** of the **network** command. The sample code is as follows: + + ``` + deviceN :: deviceNode { + policy = 0; + preload = 2; + moduleName = "HDF_WLAN_CHIPS"; + deviceMatchAttr = "hdf_wlan_chips_chip_name"; + serviceName = "driverName"; + } + ``` + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >Make sure the value of **moduleName** is the same as that of **moduleName** in the WLAN driver. + +4. Modify the **Kconfig** file to make the ported WLAN driver appear in the kernel configuration. + + Add configurations to **device/vendor\_name/drivers/Kconfig**. The sample code is as follows: + + ``` + config DRIVERS_HDF_WIFI_chip_name + bool "Enable chip_name Host driver" + default n + depends on DRIVERS_HDF_WLAN help + Answer Y to enable chip_name Host driver. + ``` + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >Replace **chip\_name** with the actual chip name. + +5. Modify the build script to enable the driver to participate in the kernel build. + + Add the following content to the end of the source code file **//device/vendor\_name/drivers/lite.mk**: + + ``` + ifeq ($(LOSCFG_DRIVERS_HDF_WIFI_chip_name), y) + # After the build is complete, an object named hdf_wlan_chipdriver_chip_name needs to be linked. You are advised to use this name to prevent conflicts. + LITEOS_BASELIB += -lhdf_wlan_chipdriver_chip_name + # Add the build directory gpio. + LIB_SUBDIRS += ../peripheral/wifi/chip_name + endif + ``` + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >Replace **chip\_name** with the actual chip name. + + diff --git a/en/device-dev/porting/transplant-smallchip-drive-plat.md b/en/device-dev/porting/transplant-smallchip-drive-plat.md new file mode 100644 index 00000000000..e09e0856c25 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-drive-plat.md @@ -0,0 +1,165 @@ +# Platform Driver Porting + +Create a platform driver in the source code directory **//device/vendor\_name/soc\_name/drivers**. If there is no repository for the vendor of your SoC, contact [sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard.md) to create one. + +The recommended directory structure is as follows: + +``` +device +├── vendor_name +│ ├── drivers +│ │ │ ├── common +│ │ │ ├── Kconfig # Entry of the vendor driver kernel menu +│ │ │ └── lite.mk # Build entry +│ ├── soc_name +│ │ ├── drivers +│ │ │ ├── dmac +│ │ │ ├── gpio +│ │ │ ├── i2c +│ │ │ ├── LICENSE +│ │ │ ├── mipi_dsi +│ │ │ ├── mmc +│ │ │ ├── pwm +│ │ │ ├── README.md # docs Add documentation information as needed. +│ │ │ ├── README_zh.md +│ │ │ ├── rtc +│ │ │ ├── spi +│ │ │ ├── uart +│ │ │ └── watchdog +│ ├── board_name +``` + +The HDF creates driver models for all platform drivers. The main task of porting platform drivers is to inject instances into the models. You can find the definitions of these models in the source code directory **//drivers/framework/support/platform/include**. + +This section uses the GPIO as an example to describe how to port the platform driver. The porting procedure is as follows: + +1. Creating a GPIO driver. + + Create the **soc\_name\_gpio.c** file in the source code directory **//device/vendor\_name/soc\_name/drivers/gpio**. The sample code is as follows: + + ``` + #include "gpio_core.h" + + // Define the GPIO structure if necessary. + struct SocNameGpioCntlr { + struct GpioCntlr cntlr; // Structure required by the HDF GPIO driver framework. + int myData; // The following information is required by the current driver. + }; + + // The Bind method is mainly used to release services in the HDF driver. As this method is not needed here, simply return a success message. + static int32_t GpioBind(struct HdfDeviceObject *device) + { + (void)device; + return HDF_SUCCESS; + } + + // Entry for initializing the driver when the Init method is used. You need to register the model instance in the Init method. + static int32_t GpioInit(struct HdfDeviceObject *device) + { + SocNameGpioCntlr *impl = CreateGpio(); // Implement the CreateGpio method. + ret = GpioCntlrAdd(&impl->cntlr); // Register a GPIO model instance. + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: err add controller:%d", __func__, ret); + return ret; + } + return HDF_SUCCESS; + } + + // The Release method is called when the driver is uninstalled to reclaim resources. + static void GpioRelease(struct HdfDeviceObject *device) + { + // The GpioCntlrFromDevice method obtains the model instance registered in the init method from the abstract device object. + struct GpioCntlr *cntlr = GpioCntlrFromDevice(device); + // Destroy allocations. + } + + struct HdfDriverEntry g_gpioDriverEntry = { + .moduleVersion = 1, + .Bind = GpioBind, + .Init = GpioInit, + .Release = GpioRelease, + .moduleName = "SOC_NAME_gpio_driver", // Name to be used in the configuration file to load the driver. + }; + HDF_INIT(g_gpioDriverEntry); // Register a GPIO driver entry. + ``` + +2. Create a build entry for the vendor driver. + + As described above, **device/vendor\_name/drivers/lite.mk** is the entry for building vendor drivers. We need to start from this entry to build. + + ``` + # File: device/vendor_name/drivers/lite.mk + + SOC_VENDOR_NAME := $(subst $/",,$(LOSCFG_DEVICE_COMPANY)) + SOC_NAME := $(subst $/",,$(LOSCFG_PLATFORM)) + BOARD_NAME := $(subst $/",,$(LOSCFG_PRODUCT_NAME)) + + # Specify the SoC for building. + LIB_SUBDIRS += $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ + ``` + +3. Create a build Entry for the SoC driver. + + ``` + # File: device/vendor_name/soc_name/drivers/lite.mk + + SOC_DRIVER_ROOT := $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ + + # Check whether the kernel compilation switch of the GPIO is enabled. + ifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_GPIO), y) + # After the construction is complete, an object named hdf_gpio needs to be linked. + LITEOS_BASELIB += -lhdf_gpio + # Add the build directory gpio. + LIB_SUBDIRS += $(SOC_DRIVER_ROOT)/gpio + endif + + # Add other drivers here. + ``` + +4. Create a build entry for the GPIO driver. + + ``` + include $(LITEOSTOPDIR)/config.mk + include $(LITEOSTOPDIR)/../../drivers/adapter/khdf/liteos/lite.mk + + # Specify the name of the output object. Ensure that the name is the same as LITEOS_BASELIB in the SoC driver build entry. + MODULE_NAME := hdf_gpio + + # Add the INCLUDE of the HDF framework. + LOCAL_CFLAGS += $(HDF_INCLUDE) + + # Specify the file to be compiled. + LOCAL_SRCS += soc_name_gpio.c + + # Build parameters + LOCAL_CFLAGS += -fstack-protector-strong -Wextra -Wall -Werror -fsigned-char -fno-strict-aliasing -fno-common + + include $(HDF_DRIVER) + ``` + +5. Configure the product loading driver. + + All device information of the product is defined in the source code file **//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs**. + + Add the platform driver to the host of the platform. + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >The value of **moduleName** must be the same as that defined in the driver. + + ``` + root { + ... + platform :: host { + device_gpio :: device { + device0 :: deviceNode { + policy = 0; + priority = 10; + permission = 0644; + moduleName = "SOC_NAME_gpio_driver"; + } + } + } + } + ``` + + diff --git a/en/device-dev/porting/transplant-smallchip-drive.md b/en/device-dev/porting/transplant-smallchip-drive.md new file mode 100644 index 00000000000..a79db807339 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-drive.md @@ -0,0 +1,9 @@ +# Driver Porting + +- **[Overview](transplant-smallchip-drive-des.md)** + +- **[Platform Driver Porting](transplant-smallchip-drive-plat.md)** + +- **[Device Driver Porting](transplant-smallchip-drive-oom.md)** + + diff --git a/en/device-dev/porting/transplant-smallchip-kernel-a.md b/en/device-dev/porting/transplant-smallchip-kernel-a.md new file mode 100644 index 00000000000..f64a0e832b1 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-kernel-a.md @@ -0,0 +1,263 @@ +# LiteOS Cortex-A + +- [Overview](#section14876256185510) + - [Porting Scenario](#section1986014410569) + - [Directory Specifications](#section10916181716564) + +- [Adaptation Process](#section814974018565) + - [Programming Example](#section10854481825) + +- [Verification](#section646410453212) + +## Overview + +### Porting Scenario + +LiteOS Cortex-A supports the ARMv7-a instruction set architecture. If you are porting the kernel to a chipset that uses ARMv7-a, you can directly perform basic adaptation. Otherwise, you need to add support for the architecture used by the chipset. This process is complex and not covered in this document. + +### Directory Specifications + +For details about the LiteOS Cortex-A directory specifications, see [LiteOS Cortex-A Overview](https://gitee.com/openharmony/kernel_liteos_a). + +## Adaptation Process + +LiteOS Cortex-A provides the system initialization process and custom configuration options required for system running. During porting, pay attention to the functions related to hardware configuration in the initialization process. + +The LiteOS Cortex-A initialization process consists of five steps: + +1. Add the **target\_config.h** file and compile the macros **DDR\_MEM\_ADDR** and **DDR\_MEM\_SIZE**, which indicate the start address and length of the board memory, respectively. The prelinker script **board.ld.S** creates the linker script **board.ld** based on the two macros. +2. The kernel creates a kernel image based on the linker script **board.ld**. +3. Operations such as initialization of the interrupt vector table and MMU page table are performed in the assembly files: **reset\_vector\_up.S** and **reset\_vector\_mp.S**, from which a single-core CPU and a multi-core CPU start, respectively. +4. The assembly code in **reset\_vector.S** jumps to the **main** function of the C programming language to initialize the hardware clock, software timer, memory, and tasks. This process depends on the feature macro configuration in **target\_config.h** . The **SystemInit** task to be implemented in the board code is then created, and **OsSchedStart\(\)** is enabled for task scheduling. +5. The **DeviceManagerStart** function is called to initialize the HDF driver. This process is implemented by calling the driver configuration file **hdf.hcs** and driver source code in the board code. + +Below is the overall initialization process. + +**Figure 1** Overall initialization process + + +![](figure/en-us_image_0000001126358814.png) + +As can be seen from preceding figure, kernel basic adaptation involves the following parts: + +- Adding the **target\_config.h** file, which contains board hardware parameters and feature parameters described in the following table: + + **Table 1** Parameters in the target\_config.h file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parameter

    +

    Description

    +

    OS_SYS_CLOCK

    +

    System cycle frequency

    +

    DDR_MEM_ADDR

    +

    Start address of the system memory

    +

    DDR_MEM_SIZE

    +

    Size of the system memory

    +

    PERIPH_PMM_BASE

    +

    Base address of the peripheral register

    +

    PERIPH_PMM_SIZE

    +

    Size of the peripheral register

    +

    OS_HWI_MIN

    +

    Minimum number of system interrupts

    +

    OS_HWI_MAX

    +

    Maximum number of system interrupts

    +

    NUM_HAL_INTERRUPT_UART0

    +

    UART0 interrupt ID

    +

    UART0_REG_BASE

    +

    UART0 register base address

    +

    GIC_BASE_ADDR

    +

    Base address of the GIC interrupt register

    +

    GICD_OFFSET

    +

    Offset address of the GICD relative to the GIC base address

    +

    GICC_OFFSET

    +

    Offset address of the GICC relative to the GIC base address

    +
    + +- Implementing the **SystemInit** function to initialize services in the user space. Figure 2 shows a typical initialization scenario. + + **Figure 1** Service startup process + + + ![](figure/en-us_image_0000001126198996.png) + +- Implementing the **main** function for basic kernel initialization and initialization of services in the board kernel space. Figure 3 shows the initialization process, where the kernel startup framework takes the lead in the initialization process. The light blue part in the figure indicates the phase in which external modules can be registered and started in the startup framework. + + >![](../public_sys-resources/icon-caution.gif) **CAUTION:** + >Modules at the same layer cannot depend on each other. + + **Figure 2** Kernel startup framework + ![](figure/kernel-startup-framework.jpg "kernel-startup-framework") + + **Table 2** Startup framework layers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Level

    +

    Description

    +

    LOS_INIT_LEVEL_EARLIEST

    +

    Earliest initialization.

    +

    This layer does not depend on the architecture. The board and subsequent modules, such as the Trace module, will initialize the software-only modules on which they depend.

    +

    LOS_INIT_LEVEL_ARCH_EARLY

    +

    Early initialization of the architecture.

    +

    This layer depends on the architecture. Subsequent modules will initialize the modules on which they depend. It is recommended that functions not required for startup be placed at the LOS_INIT_LEVEL_ARCH layer.

    +

    LOS_INIT_LEVEL_PLATFORM_EARLY

    +

    Early initialization of the platform.

    +

    This layer depends on the board platform and drivers. Subsequent modules will initialize the modules on which they depend. It is recommended that functions required for startup be placed at the LOS_INIT_LEVEL_PLATFORM layer.

    +

    Example: UART module

    +

    LOS_INIT_LEVEL_KMOD_PREVM

    +

    Kernel module initialization before memory initialization.

    +

    This layer involves initialization of the modules that need to be enabled before memory initialization.

    +

    LOS_INIT_LEVEL_VM_COMPLETE

    +

    Initialization after the basic memory is ready.

    +

    This layer involves initialization of the modules that need to be enabled and do not depend on the inter-process communication mechanism and system processes.

    +

    Example: shared memory function

    +

    LOS_INIT_LEVEL_ARCH

    +

    Late initialization of the architecture.

    +

    This layer depends on the architecture extension function. Subsequent modules will initialize the modules on which they depend.

    +

    LOS_INIT_LEVEL_PLATFORM

    +

    Late initialization of the platform.

    +

    This layer depends on the board platform and drivers. Subsequent modules will initialize the modules on which they depend.

    +

    Example: initialization of the driver kernel abstraction layer (MMC and MTD)

    +

    LOS_INIT_LEVEL_KMOD_BASIC

    +

    Initialization of the kernel basic modules.

    +

    This layer is used to initialize the basic modules that can be detached from the kernel.

    +

    Example: VFS initialization

    +

    LOS_INIT_LEVEL_KMOD_EXTENDED

    +

    Initialization of the kernel extended modules.

    +

    This layer is used to initialize the extended modules that can be detached from the kernel.

    +

    Example: system call initialization, ProcFS initialization, Futex initialization, HiLog initialization, HiEvent initialization, and LiteIPC initialization

    +

    LOS_INIT_LEVEL_KMOD_TASK

    +

    Kernel task creation

    +

    This layer can be used to create kernel tasks (kernel thread and software timer tasks).

    +

    Example: creation of the resident resource reclaiming task, SystemInit task, and CPU usage statistics task.

    +
    + + Adaptation for board porting. Focus on layers between **LOS\_INIT\_LEVEL\_ARCH** and **LOS\_INIT\_LEVEL\_KMOD\_TASK** and try to divide the initialization process into as many phases as possible for refined registration. + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >Modules at the same layer cannot depend on each other. It is recommended that a new module be split based on the preceding startup phase and be registered and started as required. + >You can view the symbol table in the **.rodata.init.kernel.\*** segment of the **OHOS\_Image.map** file generated after the build is complete, so as to learn about the initialization entry of each module that has been registered with the kernel startup framework and check whether the newly registered initialization entry takes effect. + + +### Programming Example + +In the board SDK file: + +``` +/* Header file of the kernel startup framework */ +#include "los_init.h" +...... + +/* Initialization function of the new module */ +unsigned int OsSampleModInit(void) +{ + PRINTK("OsSampleModInit SUCCESS!\n"); + ...... +} +...... +/* Register the new module at the target layer of the startup framework. */ +LOS_MODULE_INIT(OsSampleModInit, LOS_INIT_LEVEL_KMOD_EXTENDED); +``` + +## Verification + +``` +main core booting up... +OsSampleModInit SUCCESS! +releasing 1 secondary cores +cpu 1 entering scheduler +cpu 0 entering scheduler +``` + +According to the preceding information displayed during the system startup, the kernel calls the initialization function of the registered module during the startup to initialize the module. + +The system enters the kernel-space shell and the task commands can be properly executed. + +``` +OHOS # help +*******************shell commands:************************* + +arp cat cd chgrp chmod chown cp cpup +date dhclient dmesg dns format free help hwi +ifconfig ipdebug kill log ls lsfd memcheck mkdir +mount netstat oom partinfo partition ping ping6 pmm +pwd reset rm rmdir sem shm stack statfs +su swtmr sync systeminfo task telnet touch umount +uname v2p virstatfs vmm watch writeproc +``` + diff --git a/en/device-dev/porting/transplant-smallchip-kernel-linux.md b/en/device-dev/porting/transplant-smallchip-kernel-linux.md new file mode 100644 index 00000000000..3296d239e64 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-kernel-linux.md @@ -0,0 +1,125 @@ +# Linux Kernel + +- [Overview](#section6282121355111) + - [Basic Information](#section19589322515) + - [Bootloader](#section19062510518) + +- [Adaptation, Building, Burning, and Startup](#section11112101695215) +- [Verification](#section17318153325311) + +## Overview + +Linux kernel porting involves basic kernel compilation, building, and verification after third-party chipset patches are installed based on the Linux kernel baseline. + +### Basic Information + +The current Linux kernel baseline evolves based on the Linux LTS version 4.19 and incorporates the CVE and bugfix patches. For details, see the [code library](https://gitee.com/openharmony/kernel_linux). The code path for the **repo** project is **kernel/linux-4.19**. + +### Bootloader + +You can use the Bootloader provided by the chipset vendor or open-source U-Boot to load the kernel image. For example, you can use [U-Boot](https://gitee.com/openharmony/device_hisilicon_third_party_uboot) for the Hi3516D V300 development board. + +## Adaptation, Building, Burning, and Startup + +1. Prepare the kernel configuration files, especially the chipset-related configuration files. + + Source code directory of the configuration files: **kernel/linux/config/** + + Create a **<_YOUR\_CHIP_\>\_small\_defconfig** file, such as **hi3516dv300\_small\_defconfig**, in the **linux-4.19/arch/arm/configs/** directory. The configuration file can be created by combining the general-purpose **small\_common\_defconfig** file and chipset-specific configurations. + +2. Prepare the chipset patches. + + Source code directory of the patch files: **kernel/linux/patches/linux-4.19** + + Create a **<_YOUR\_CHIP_\>\_patch** directory by referring to the existing patch directory **hi3516dv300\_small\_patch**, and place the related chipset patches, such as **hdf.patch** \(recommended\), in this directory. + +3. Build the code. + + In the project directory **kernel/linux/patches/**, after version-level build commands are passed to the **kernel\_module\_build.sh** and **kernel.mk** files, adapt the **patch** and **defconfig** configuration file paths, compiler, chipset architecture, and kernel image format. + + Adjust the patches based on build error logs. Typical error scenarios are as follows: + + \(1\) A conflict occurs in installing a patch. In this case, context adaptation is required. + + \(2\) The build fails due to kernel version mismatch. In this case, kernel adaptation is required, including function implementation adjustment. + + >![](../public_sys-resources/icon-caution.gif) **CAUTION:** + >- As in the **kernel.mk** file, patches are applied after the code environment of **kernel/linux-4.19** is copied during compilation and building of the OpenHarmony project. Retain the original code environment of **kernel/linux-4.19** before running the OpenHarmony version-level build command. + >- You can modify the patches in **out/<\*\*\*\>/kernel/linux-4.19**, to which the code environment is copied. + +4. Burn images and start the development board. + + The burning mode varies according to the development board of the chipset. Pay attention to the size of each burnt image and the configuration of the boot parameters. Below is the U-Boot parameter settings of Hi3516D V300: + + ``` + setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),9M(kernel),50M(rootfs),50M(userfs)' + ``` + + +## Verification + +Debug the **init** process, start shell, and run a simple program in the user space to check whether the kernel porting is successful. Below is the OS image structure of the OpenHarmony [small system](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des-0000001105598722) and the Linux user-space program startup process. + +**Figure 1** OS image structure and user-space program startup process based on the Linux kernel + + +![](figure/en-us_image_0000001126354076.png) + +Based on the preceding process, the recommended verification procedure is as follows: + +1. Create a root file system image. + + Create a root file system image **rootfs.img** by following instructions in [Adding a Chipset Solution and a Product Solution](https://device.harmonyos.com/en/docs/develop/subsystems/oem_subsys_build_guide-0000001060378721). As shown in the preceding figure, the startup process is closely related to the product configuration. You need to complete the following configuration when creating **rootfs.img**: + + - Component configuration + + In the product component configuration file **_vendor_/\{_company_\}/\{_product_\}/config.json**, configure the **init\_lite** component of the startup subsystem and the **linux\_4\_1\_9** component of the kernel subsystem. + + - System service configuration + + Modify the system service configuration file **_vendor_/\{_company_\}/\{_product_\}/init\_configs/init\_xxx.cfg** to start the shell service. + + - File system configuration + + In the file system configuration file **_vendor_/\{_company_\}/\{_product_\}/fs.yml**, create the **/bin/sh -\> mksh** and **/lib/ld-musl-arm.so.1 -\> libc.so** soft links. These two files are the shell executable program and the c library on which the executable program depends, respectively. + + - Startup configuration + + In the **_vendor_/\{_company_\}/\{_product_\}/init\_configs/etc** directory, configure startup settings, including the **fstab**, **rsS**, and **S_xxx_** files. Configure the startup settings as needed. + + + After the build is complete, check the **rootfs** content in the product compilation output directory to determine whether the generated **rootfs.img** file meets the expectation. + +2. Debug the init process and shell. + + Burn **rootfs.img** and debug the init process and shell. The burning tools and processes vary according to the development board. Follow the instructions provided by the chipset solution vendor. Before burning **rootfs.img**, ensure that the bootloader and Linux kernel are started properly. When **rootfs.img** is properly mounted by the kernel, the **/bin/init** program is executed, indicating the start of the user space. + + The init process calls the **/etc/init.d/rcS** script. The **rcS** script runs the first command **/bin/mount -a** to load the **fstab** file. After the commands in this file are executed, **rcS** calls the **S_xxx_** scripts in sequence to create and scan for device nodes and configure file permissions. + + Then the init process reads the **init.cfg** system service configuration file and starts the shell as configured. If the preceding process is executed properly, the system enters the shell. + + If the init startup log contains the version number, the init program is started properly: + + **Figure 2** Log indicating that the init process is started properly + + + ![](figure/en-us_image_0000001172273945.jpg) + + After entering the shell, run the **ls** command. The following figure shows the information printed over the serial port. + + **Figure 3** Information printed after the ls command is executed in the shell + + + ![](figure/en-us_image_0000001172393865.jpg) + +3. Configure the NFS. + + After the init process and shell are started, run the following command in the root directory to enable the NFS service. In this example, the server IP address is 192.168.1.22 and the client IP address is 192.168.1.4. + + ``` + ifconfig eth0 192.168.1.4 netmask 255.255.255.0 + mkdir -p /storgage/nfs + mount -t nfs -o nolock,addr=192.168.1.22 192.168.1.22:/nfs /storage/nfs + ``` + + diff --git a/en/device-dev/porting/transplant-smallchip-kernel.md b/en/device-dev/porting/transplant-smallchip-kernel.md new file mode 100644 index 00000000000..cd252f8b951 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-kernel.md @@ -0,0 +1,7 @@ +# Kernel Porting + +- **[LiteOS Cortex-A](transplant-smallchip-kernel-a.md)** + +- **[Linux Kernel](transplant-smallchip-kernel-linux.md)** + + diff --git a/en/device-dev/porting/transplant-smallchip-prepare-building.md b/en/device-dev/porting/transplant-smallchip-prepare-building.md new file mode 100644 index 00000000000..b386a049fec --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-prepare-building.md @@ -0,0 +1,142 @@ +# Compilation and Building + +- [Compilation Environment Setup](#section3336103410314) +- [Introduction to the Compilation and Building Subsystem](#section354343816319) +- [Adding a Chipset Solution](#section18612153175011) + +## Compilation Environment Setup + +Set up the basic environment by following instructions in [Ubuntu Build Environment](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_environment_lin-0000001105407498). Both the user space and LiteOS Cortex-A kernel space are compiled using the LLVM compiler. If you choose to port the Linux kernel, run the following command to install the gcc-arm-linux-gnueabi cross compiler for compiling the Linux kernel-space image: + +``` +sudo apt-get install gcc-arm-linux-gnueabi +``` + +## Introduction to the Compilation and Building Subsystem + +To learn more about the compilation and building subsystem, including the compilation and building process, compilation scripts, and building chipset source code or single components, see [Compilation and Building](https://gitee.com/openharmony/docs/blob/master/en/device-dev/subsystems/compilation-and-building.md). + +## Adding a Chipset Solution + +After learning the compilation framework and setting up the compilation environment, perform the following steps to create a chipset solution: + +1. Create a category. + + The directory structure is as follows: device/\{_chipset solution vendor_\}/\{_development board_\}. For example, if you are using the hispark\_taurus development board from HiSilicon, create the following directory in the root directory of the code: + + ``` + mkdir -p device/hisilicon/hispark_taurus + ``` + + The chipset solution directory tree is as follows: + + ``` + device + └── company # Chipset solution vendor + └── board # Name of the development board + ├── BUILD.gn # Build script + ├── hals # Southbound APIs for OS adaptation + ├── linux # Linux kernel version (optional) + │ └── config.gni # Build options for the Linux version + └── liteos_a # LiteOS kernel version (optional) + └── config.gni # Build options for the LiteOS Cortex-A version + ``` + + For example, if you are porting the Linux kernel to the hispark\_taurus development board, the directory tree is as follows: + + ``` + device + └── hisilicon + └── hispark_tautus + ├── BUILD.gn + ├── hals + ├── ...... + └── linux + └── config.gni + ``` + + After the directory tree is created, store the source code related to the development board in the **hispark\_taurus** directory. + +2. Configure the build options of the development board. + + You can configure the build options in the **config.gni** file described in [1](#li20894101862). The compilation and building framework will then compile all OS components in the user space based on your configuration. The **config.gni** file contains the following key fields: + + ``` + kernel_type: kernel used by the development board, for example, liteos_a, liteos_m, or linux. + kernel_version: kernel version used by the development board, for example, 4.19. + board_cpu: CPU of the development board, for example, cortex-a7 or riscv32. + board_arch: chipset architecture of the development board, for example, armv7-a or rv32imac. + board_toolchain: name of the customized compiler used by the development board, for example, gcc-arm-none-eabi. If this field is not specified, ohos-clang will be used by default. + board_toolchain_prefix: prefix of the compiler, for example, gcc-arm-none-eabi. + board_toolchain_type: compiler type, for example, gcc or clang. Currently, only GCC and clang are supported. + board_cflags: build options of the .c file configured for the development board. + board_cxx_flags: build options of the .cpp file configured for the development board. + board_ld_flags: link options configured for the development board. + ``` + + For HiSilicon's hispark\_taurus development board, the content in **device/hisilicon/hispark\_taurus/config.gni** is as follows: + + ``` + # Board CPU type, e.g. "cortex-a7", "riscv32". + board_cpu = "cortex-a7" + + # Name of the compiler that is used for system building + # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. + # Note: The "ohos-clang" toolchain is used by default. You can also customize the toolchain. + board_toolchain = "mips-linux-gnu-gcc" + + # Path where the toolchain is installed, which can be left blank if the installation path has been added to ~/.bashrc. + board_toolchain_path = + rebase_path("//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/bin", + root_build_dir) + + # Prefix of the toolchain + board_toolchain_prefix = "arm-linux-ohoseabi-" + + # Type of the compiler, which can be gcc or clang + board_toolchain_type = "gcc" + + # Building flags related to the board + board_cflags = [ + ] + board_cxx_flags = [ + ] + board_ld_flags = [] + + # Board related headfiles search path. + board_include_dirs = [] + board_include_dirs += [ rebase_path( + "//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/target/usr/include", + root_build_dir) ] + + # Board adapter dir for OHOS components. + board_adapter_dir = "" + + # Sysroot path. + board_configed_sysroot = "" + + # Board storage type, it used for file system generation. + storage_type = "emmc" + ``` + +3. Edit the build script of the development board. + + In the **BUILD.gn** file described in 1, build code related to the development board, such as code for the on-device driver, on-device interface adaptation \(media and graphics\), and SDK on the development board. + + For example, edit the **device/hisilicon/hispark\_taurus/BUILD.gn** file as follows: + + ``` + # It is recommended that the group name be the same as the developer board name. + group("hispark_taurus") { + deps = [ "//kernel/linux/patches:linux_kernel" ] # Start kernel compilation. + deps += [ + ...... # Other compilation units of the development board + ] + } + ``` + +4. Start building and debugging. + + In the directory of the development board, run the **hb set** and **hb build** commands to start building the chipset solution. The compilation framework starts the building with the **BUILD.gn** file in the directory as the entry. + + diff --git a/en/device-dev/porting/transplant-smallchip-prepare-needs.md b/en/device-dev/porting/transplant-smallchip-prepare-needs.md new file mode 100644 index 00000000000..685a2a7a8cd --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-prepare-needs.md @@ -0,0 +1,98 @@ +# Before You Start + +This document provides guidance on how to port the Linux and LiteOS Cortex-A kernels on the OpenHarmony [small system](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des-0000001105598722) to a development board. It is intended for developers with experience in developing embedded systems. Before following instructions in this document, it is recommended that you familiarize yourself with [OpenHarmony](https://gitee.com/openharmony/docs/blob/master/en/OpenHarmony-Overview.md), including its technical architecture, directory structure, kernel subsystem, and driver subsystem. The following table lists the development boards that have been adapted to the small system. + +**Table 1** Development boards compatible with the OpenHarmony small system + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Development Board

    +

    Kernel

    +

    Architecture

    +

    ROM

    +

    RAM

    +

    File System

    +

    Flash Type

    +

    hispark_taurus

    +

    LiteOS Cortex-A and Linux 4.19

    +

    Arm Cortex-A7

    +

    8 GB

    +

    1 GB

    +

    VFAT, EXT4

    +

    eMMC4.5

    +

    hispark_aries

    +

    LiteOS-A

    +

    Arm Cortex-A7

    +

    16 MB

    +

    512 MB

    +

    JFFS2

    +

    SPI NOR

    +
    + +In addition to the aforementioned development boards, LiteOS Cortex-A and Linux 4.19 can be ported to development boards that meet the requirements described in the table below. + +**Table 2** Requirements for porting OpenHarmony small system kernels + + + + + + + + + + + + + + + + + + + + + + +

    Kernel

    +

    Supported Architecture

    +

    ROM

    +

    File System

    +

    Flash Type

    +

    LiteOS-A

    +

    ARMv7

    +

    > 2 MB

    +

    VFAT, JFFS2, YAFFS2

    +

    SPI NOR, NAND, eMMC

    +

    Linux 4.19

    +

    ARM, Arm64, MIPS, x86

    +

    > 5 MB

    +

    VFAT, JFFS2, YAFFS, EXT/2/3/4, NFS

    +

    NOR, NAND, eMMC

    +
    + diff --git a/en/device-dev/porting/transplant-smallchip-prepare.md b/en/device-dev/porting/transplant-smallchip-prepare.md new file mode 100644 index 00000000000..91c9cecaa0b --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip-prepare.md @@ -0,0 +1,7 @@ +# Porting Preparations + +- **[Before You Start](transplant-smallchip-prepare-needs.md)** + +- **[Compilation and Building](transplant-smallchip-prepare-building.md)** + + diff --git a/en/device-dev/porting/transplant-smallchip.md b/en/device-dev/porting/transplant-smallchip.md new file mode 100644 index 00000000000..818a9af1211 --- /dev/null +++ b/en/device-dev/porting/transplant-smallchip.md @@ -0,0 +1,9 @@ +# Small System SoC Porting Guide + +- **[Porting Preparations](transplant-smallchip-prepare.md)** + +- **[Kernel Porting](transplant-smallchip-kernel.md)** + +- **[Driver Porting](transplant-smallchip-drive.md)** + + diff --git a/en/device-dev/porting/porting-a-library-built-using-cmake.md b/en/device-dev/porting/transplant-thirdparty-cmake.md similarity index 98% rename from en/device-dev/porting/porting-a-library-built-using-cmake.md rename to en/device-dev/porting/transplant-thirdparty-cmake.md index a7d399c983a..b8a9f359001 100644 --- a/en/device-dev/porting/porting-a-library-built-using-cmake.md +++ b/en/device-dev/porting/transplant-thirdparty-cmake.md @@ -227,12 +227,12 @@ The following steps show how to configure and modify the toolchains for cross-co 1. Set up the OpenHarmony environment. - Using Hi3518EV300 as an example, compile the OpenHarmony image and burn it to the development board. For details, see [Developing the First Example Program Running on Hi3518](https://gitee.com/openharmony/docs/blob/master/docs-en/quick-start/developing-the-first-example-program-running-on-hi3518.md). + Using Hi3518EV300 as an example, compile the OpenHarmony image and burn it to the development board. For details, see [Developing the First Example Program Running on Hi3518](../quick-start/quickstart-lite-steps-board3518-running.md). The following screen is displayed after a successful login to the OS. **Figure 1** Successful startup of OpenHarmony - ![](figures/successful-startup-of-openharmony.png "successful-startup-of-openharmony") + ![](figure/successful-startup-of-openharmony.png "successful-startup-of-openharmony") 2. Mount the **nfs** directory and put the executable file **cctest** into the **test** directory \(listed in [Table 2](#table1452412391911)\) to the **nfs** directory. 3. Perform the test cases. @@ -306,7 +306,7 @@ The following steps show how to configure and modify the toolchains for cross-co

    GN file for adding the third-party library to the OpenHarmony project

    openHarmony/third_party/double-conversion/build_thirdpaty.py

    +

    openHarmony/third_party/double-conversion/build_thirdparty.py

    Script file for GN to call the shell command to convert compilation from GN to CMake.

    GN file for adding the third-party library to the OpenHarmony project

    openHarmony/third_party/yxml/build_thirdpaty.py

    +

    openHarmony/third_party/yxml/build_thirdparty.py

    Script file for GN to call the shell command to convert compilation from GN to Makefile.

    - - - - - - - - - - -

    Item

    -

    Description

    -

    Processor and internal memory

    -
    • Hi3516D V300
    • 1 GB DDR3
    • 8 GB eMMC4.5
    -

    External components

    -
    • Ethernet port
    • Audio and video
      • One voice input
      • One mono (AC_L) output, connected to a 3 W power amplifier (LM4871)
      • Micro-HDMI (one HDMI 1.4)
      -
    • Cameras
      • Sensor IMX335
      • M12 lens with a focal length of 4 mm and an aperture of 1.8
      -
    • Display
      • 2.35-inch LCD connector
      • 5.5-inch LCD connector
      -
    • External components and interfaces
      • microSD card interface
      • JTAG/I2S interface
      • ADC interface
      • Steer gear interface
      • Grove connector
      • USB 2.0 (Type C)
      • Three function keys: two custom keys and one update key
      • LED indicator (including green and red)
      -
    -
    - diff --git a/en/device-dev/quick-start/mini-and-small-systems.md b/en/device-dev/quick-start/mini-and-small-systems.md deleted file mode 100644 index 458c7109f92..00000000000 --- a/en/device-dev/quick-start/mini-and-small-systems.md +++ /dev/null @@ -1,11 +0,0 @@ -# Mini and Small Systems - -- **[Overview](overview-0.md)** - -- **[Introduction to the Development Boards](introduction-to-the-development-boards.md)** - -- **[Environment Setup](environment-setup.md)** - -- **[How to Develop](how-to-develop.md)** - - diff --git a/en/device-dev/quick-start/overview.md b/en/device-dev/quick-start/overview.md deleted file mode 100644 index 4a5832db5a9..00000000000 --- a/en/device-dev/quick-start/overview.md +++ /dev/null @@ -1,175 +0,0 @@ -# Overview - -- [System Types](#section767218232110) -- [Document Outline](#section19810171681218) - -This topic provides a panorama of all documents for you to obtain helpful information quickly. These documents are classified based on your learning progress and development scenarios of OpenHarmony. - -## System Types - -It is good practice to understand the system types for you to find useful documents that can guide your development. - -OpenHarmony is an open-source distributed operating system for all scenarios. It uses a component-based design to tailor its features to better suit devices with 128 KiB to GiB-level of RAM. You can integrate a flexible combination of system components based on the hardware capabilities of the device. - -To make the integration simple and easy on different hardware, OpenHarmony defines three basic system types. You only need to select a suitable system type and configure the mandatory component set, thereby developing a system for your device at the minimum workload. The definitions of the basic system types are provided as follows for your reference: - -- Mini system - - A mini system runs on the devices whose memory is greater than or equal to 128 KiB and that are equipped with MCU processors such as Arm Cortex-M and 32-bit RISC-V. This system provides multiple lightweight network protocols and graphics frameworks, and a wide range of read/write components for the IoT bus. Typical products include connection modules, sensors, and wearables for smart home. - -- Small system - - A small system runs on the devices whose memory is greater than or equal to 1 MiB and that are equipped with application processors such as Arm Cortex-A. This system provides higher security capabilities, standard graphics frameworks, and video encoding and decoding capabilities. Typical products include smart home IP cameras, electronic cat eyes, and routers, and event data recorders \(EDRs\) for smart travel. - -- Standard system - - A standard system runs on the devices whose memory is greater than or equal to 128 MiB and that are equipped with application processors such as Arm Cortex-A. This system provides a complete application framework supporting the enhanced interaction, 3D GPU, hardware composer, diverse components, and rich animations. This system applies to high-end refrigerator displays. - - -In addition, OpenHarmony provides a series of optional system components that can be configured as required to support feature extension and customization. These system components are combined to form a series of system capabilities that, for better understanding, are described as features or functions for you to choose. - -## Document Outline - -- [Mini and Small System Development Guidelines](#table3762949121211) -- [Standard System Development Guidelines](#table17667535516) - -**Table 1** Mini and small system development guidelines \(reference memory < 128 MB\) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Topic

    -

    Development Scenario

    -

    Documents

    -

    About OpenHarmony

    -

    Getting familiar with OpenHarmony

    -
    -

    Development resources

    -

    Preparing for your development

    -
    -

    Quick start

    -

    Getting started with setup, build, burning, debugging, and running of OpenHarmony

    -

    Getting Started for Mini and Small Systems

    -

    Basic capabilities

    -

    Using basic capabilities of OpenHarmony

    -
    -

    Advanced development

    -

    Developing smart devices based on system capabilities

    -
    -

    Porting and adaptation

    -
    • Porting and adapting the OpenHarmony to an SoC
    • Porting and adapting the OpenHarmony to a third-party library
    -
    -

    Contributing components

    -

    Contributing components to OpenHarmony

    -
    -

    Reference

    -

    Referring to development specifications

    -
    -
    - -**Table 2** Standard system development guidelines \(reference memory ≥ 128 MB\) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Topic

    -

    Development Scenario

    -

    Documents

    -

    About OpenHarmony

    -

    Getting familiar with OpenHarmony

    -
    -

    Development resources

    -

    Preparing for your development

    -
    -

    Quick start

    -

    Getting started with setup, build, burning, debugging, and running of OpenHarmony

    -

    Getting Started for Standard System

    -

    Basic capabilities

    -

    Using basic capabilities of OpenHarmony

    -
    -

    Advanced development

    -

    Developing smart devices based on system capabilities

    -
    -

    Porting and adaptation

    -

    Porting and adapting the OpenHarmony to a third-party library

    -

    Third-Party Library Porting Guide

    -

    Contributing components

    -

    Contributing components to OpenHarmony

    -
    -

    Reference

    -

    Referring to development specifications

    -
    -
    - diff --git a/en/device-dev/quick-start/public_sys-resources/icon-caution.gif b/en/device-dev/quick-start/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/quick-start/public_sys-resources/icon-danger.gif b/en/device-dev/quick-start/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/quick-start/public_sys-resources/icon-note.gif b/en/device-dev/quick-start/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/quick-start/public_sys-resources/icon-notice.gif b/en/device-dev/quick-start/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/quick-start/overview-1.md b/en/device-dev/quick-start/quickstart-lite-env-setup-des.md similarity index 100% rename from en/device-dev/quick-start/overview-1.md rename to en/device-dev/quick-start/quickstart-lite-env-setup-des.md diff --git a/en/device-dev/quick-start/faq.md b/en/device-dev/quick-start/quickstart-lite-env-setup-faqs.md similarity index 100% rename from en/device-dev/quick-start/faq.md rename to en/device-dev/quick-start/quickstart-lite-env-setup-faqs.md diff --git a/en/device-dev/quick-start/ubuntu-build-environment.md b/en/device-dev/quick-start/quickstart-lite-env-setup-lin.md similarity index 95% rename from en/device-dev/quick-start/ubuntu-build-environment.md rename to en/device-dev/quick-start/quickstart-lite-env-setup-lin.md index 50c25fe1ea2..a5ec9aa0dae 100644 --- a/en/device-dev/quick-start/ubuntu-build-environment.md +++ b/en/device-dev/quick-start/quickstart-lite-env-setup-lin.md @@ -26,10 +26,10 @@ Perform the following steps to set up the build environment: 5. Install LLVM. 6. Install hb. ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->- Docker is provided for the Ubuntu build environment, which encapsulates related build tools. If you use Docker to prepare the build environment, you do not need to perform the following steps in this section. Instead, refer to [Using Docker to Prepare the Build Environment](../get-code/docker-environment.md). +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>- Docker is provided for the Ubuntu build environment, which encapsulates related build tools. If you use Docker to prepare the build environment, you do not need to perform the following steps in this section. Instead, refer to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md). >- By default, basic software, such as Samba and Vim, is installed in the system. Adaptation on the software is required to support file sharing between the Linux server and the Windows workstation. ->- For details about the compilation and building subsystem of OpenHarmony, see the [Compilation and Building Overview](../subsystems/building-guidelines-for-mini-and-small-systems.md). +>- For details about the compilation and building subsystem of OpenHarmony, see [Compilation and Building Overview](../subsystems/subsys-build-mini-lite.md). ## Obtaining Source Code and Tools @@ -50,7 +50,7 @@ The following table describes the tools and source code required for setting up

    Develops functions.

    For details, see Source Code Acquisition.

    +

    For details, see Source Code Acquisition.

    Python3.7+

    @@ -107,13 +107,13 @@ The following table describes the tools and source code required for setting up
    ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install compilation tools like **gn** and **ninja**. >- \(Recommended\) If you obtain the source code via the mirror site or code repository, install compilation tools such as **gn**, **ninja**, and LLVM. When installing these tools, ensure that their environment variable paths are unique. ## Obtaining Source Code -You need to acquire [source code](../get-code/source-code-acquisition.md), download it on a Linux server, and decompress it. +You need to acquire [source code](../get-code/sourcecode-acquire.md), download it on a Linux server, and decompress it. ## Installing and Configuring Python @@ -254,7 +254,7 @@ You need to acquire [source code](../get-code/source-code-acquisition.md), down 1. Start a Linux server. 2. [Download LLVM](https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz). - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >For the OpenHarmony\_v1.x branches and tags, click [here](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar) to download LLVM. 3. Decompress the LLVM installation package to **\~/llvm**. @@ -263,7 +263,7 @@ You need to acquire [source code](../get-code/source-code-acquisition.md), down tar -zxvf llvm.tar.gz -C ~/ ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >For the OpenHarmony\_v1.x branches and tags, run the following command to decompress the LLVM installation package: >``` >tar -xvf llvm-linux-9.0.0-36191.tar -C ~/ @@ -345,8 +345,8 @@ Python 3.7.4 or later has been installed. For details, see [Installing and Conf python3 -m pip uninstall ohos-build ``` ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->If you encounter any problem during the installation, resort to the [FAQ](faq.md). +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>If you encounter any problem during the installation, resort to the [FAQ](quickstart-lite-env-setup-faqs.md). ## Installing Other Tools @@ -355,7 +355,7 @@ python3 -m pip uninstall ohos-build 1. Use **apt-get** to install dependent tools. ``` - sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils + sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi ``` diff --git a/en/device-dev/quick-start/windows-development-environment.md b/en/device-dev/quick-start/quickstart-lite-env-setup-win.md similarity index 88% rename from en/device-dev/quick-start/windows-development-environment.md rename to en/device-dev/quick-start/quickstart-lite-env-setup-win.md index d0824ce00ea..5cb943bfdb1 100644 --- a/en/device-dev/quick-start/windows-development-environment.md +++ b/en/device-dev/quick-start/quickstart-lite-env-setup-win.md @@ -43,9 +43,9 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu

    Programming tool

    v3.7.4–3.8.x (64-bit)

    +

    V3.7.4 to V3.8.x (64-bit)

    https://www.python.org/downloads/

    +

    Recommended: https://www.python.org/downloads/release/python-388/

    Node.js

    @@ -63,8 +63,7 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu

    Latest version

    Run the following command:

    -
    npm install -g @ohos/hpm-cli
    +

    For details, see Installing hpm.

    DevEco Device Tool

    @@ -82,29 +81,29 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu ## Installing Visual Studio Code ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If you have installed Visual Studio Code, open the CLT and run **code --version** to check whether the version is 1.53 or later. If the version number is returned, it indicates that the environment variables are set correctly. 1. Double-click the Visual Studio Code package to install it. During the installation, select **Add to PATH \(requires shell restart\)**. - ![](figures/en-us_image_0000001174350653.png) + ![](figure/en-us_image_0000001174350653.png) 2. After the installation is complete, restart the computer for the environment variables of Visual Studio Code to take effect. 3. Open the CLT and run **code --version**. If the version number can be displayed, it indicates that the installation is successful. ## Installing Python -1. Double-click the Python software package, select **Add Python xx to PATH**, and click **Install Now**. +1. Double-click the Python software package, select **Add Python 3.8 to PATH**, and click **Install Now**. - ![](figures/en-us_image_0000001128471042.png) + ![](figure/en-us_image_0000001128470908.png) 2. After the installation is complete, click **Close**. - ![](figures/en-us_image_0000001128311104.png) + ![](figure/en-us_image_0000001128311104.png) 3. Open the CLT, and run **python --version** to check the installation result. - ![](figures/en-us_image_0000001174350781.png) + ![](figure/en-us_image_0000001174350655.png) 4. In the CLT, run the following commands to set the pip source for downloading the dependencies required for later installation: @@ -117,22 +116,22 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu ## Installing Node.js ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If you have installed Node.js, open the CLT and run **node -v** to check whether the version is 12.0.0 or later. 1. Run the downloaded software package to install. Use the default settings when following the installation wizard, and click **Next** until **Finish** is displayed. During the installation, Node.js will automatically set the system Path environment variable to the installation directory of **node.exe**. 2. Open the CLT and run **node -v**. If the version number of Node.js is displayed, it indicates that Node.js has been successfully installed. - ![](figures/en-us_image_0000001128311096.png) + ![](figure/en-us_image_0000001128311096.png) ## Installing hpm Before installing hpm, ensure that Node.js has been installed -and that your network can access the Internet. If your network requires a proxy to access the Internet, [set up the npm proxy](https://device.harmonyos.com/cn/docs/ide/user-guides/npm_proxy-0000001054491032) first. +and that your network can access the Internet. If your network requires a proxy to access the Internet, [set up the npm proxy](https://device.harmonyos.com/en/docs/ide/user-guides/npm_proxy-0000001054491032) first. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If hpm has been installed, run **npm update -g @ohos/hpm-cli** to update it to the latest version. 1. You are advised to set the npm source to an image in China, for example, a HUAWEI CLOUD image source. @@ -147,7 +146,7 @@ and that your network can access the Internet. If your network requires a proxy npm install -g @ohos/hpm-cli ``` - ![](figures/en-us_image_0000001128311100.png) + ![](figure/en-us_image_0000001128311100.png) 3. After the installation is complete, run the following command to obtain the installation result: @@ -155,29 +154,29 @@ and that your network can access the Internet. If your network requires a proxy hpm -V ``` - ![](figures/en-us_image_0000001174270735.png) + ![](figure/en-us_image_0000001174270735.png) ## Installing the DevEco Device Tool Plug-in To install the DevEco Device Tool plug-in, ensure that the **user name of the host cannot contain Chinese characters**; otherwise, the plug-in may fail to run. -DevEco Device Tool will automatically download and install the C/C++ and CodeLLDB plug-ins from the Visual Studio Code Marketplace during the installation process. Therefore, make sure Visual Studio Code can access the Internet. If your network requires a proxy to access the Internet, [set up the Visual Studio Code proxy](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144) first. +DevEco Device Tool will automatically download and install the C/C++ and CodeLLDB plug-ins from the Visual Studio Code Marketplace during the installation process. Therefore, make sure Visual Studio Code can access the Internet. If your network requires a proxy to access the Internet, [set up the Visual Studio Code proxy](https://device.harmonyos.com/en/docs/ide/user-guides/vscode_proxy-0000001074231144) first. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Before installing DevEco Device Tool, ensure that Visual Studio Code is closed. 1. Decompress the DevEco Device Tool plug-in package and double-click the installer to install. 2. During the installation, the dependency files \(such as C/C++ and CodeLLDB plug-ins\) and execution programs required by DevEco Device Tool are automatically installed. - ![](figures/en-us_image_0000001128470902.png) + ![](figure/en-us_image_0000001128470902.png) 3. After the installation is complete, the CLT is automatically closed. -4. Open Visual Studio Code, click the ![](figures/en-us_image_0000001174350651.png) button on the left, and check whether C/C++, CodeLLDB, and DevEco Device Tool are listed in **INSTALLED**. +4. Open Visual Studio Code, click the ![](figure/en-us_image_0000001174350651.png) button on the left, and check whether C/C++, CodeLLDB, and DevEco Device Tool are listed in **INSTALLED**. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the C/C++ and CodeLLDB plug-ins fail to be installed, DevEco Device Tool cannot run properly. To solve the issue, see [Installing the C/C++ and CodeLLDB Plug-ins Offline](https://device.harmonyos.com/en/docs/ide/user-guides/offline_plugin_install-0000001074376846). - ![](figures/en-us_image_0000001174270727.png) + ![](figure/en-us_image_0000001174270727.png) diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup.md b/en/device-dev/quick-start/quickstart-lite-env-setup.md new file mode 100644 index 00000000000..ae5573f8c09 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-env-setup.md @@ -0,0 +1,11 @@ +# Environment Setup + +- **[Overview](quickstart-lite-env-setup-des.md)** + +- **[Windows Development Environment](quickstart-lite-env-setup-win.md)** + +- **[Ubuntu Build Environment](quickstart-lite-env-setup-lin.md)** + +- **[FAQ](quickstart-lite-env-setup-faqs.md)** + + diff --git a/en/device-dev/quick-start/hi3516-development-board.md b/en/device-dev/quick-start/quickstart-lite-introduction-hi3516.md similarity index 99% rename from en/device-dev/quick-start/hi3516-development-board.md rename to en/device-dev/quick-start/quickstart-lite-introduction-hi3516.md index 53148cbe9a1..69fcc82dfeb 100644 --- a/en/device-dev/quick-start/hi3516-development-board.md +++ b/en/device-dev/quick-start/quickstart-lite-introduction-hi3516.md @@ -10,7 +10,7 @@ Hi3516D V300 is a next-generation system on chip \(SoC\) designed for the indust **Figure 1** Front view of the Hi3516D V300 board -![](figures/3516正面.png) +![](figure/3516正面.png) ## Development Board Specifications diff --git a/en/device-dev/quick-start/hi3518-development-board.md b/en/device-dev/quick-start/quickstart-lite-introduction-hi3518.md similarity index 97% rename from en/device-dev/quick-start/hi3518-development-board.md rename to en/device-dev/quick-start/quickstart-lite-introduction-hi3518.md index 262d456b50b..4e050a388c0 100644 --- a/en/device-dev/quick-start/hi3518-development-board.md +++ b/en/device-dev/quick-start/quickstart-lite-introduction-hi3518.md @@ -8,12 +8,12 @@ Hi3518E V300 is a next-generation system on chip \(SoC\) designed for the industry-dedicated smart HD IP camera. It introduces a next-generation image signal processor \(ISP\), the H.265 video compression encoder, and the advanced low-power process and architecture design, leading the industry in terms of low bit rate, high image quality, and low power consumption. **Figure 1** Front view of the Hi3518E V300 board -![](figures/front-view-of-the-hi3518e-v300-board.png "front-view-of-the-hi3518e-v300-board") +![](figure/front-view-of-the-hi3518e-v300-board.png "front-view-of-the-hi3518e-v300-board") **Figure 2** Rear view of the Hi3518E V300 board -![](figures/hi3518正背面.png) +![](figure/hi3518正背面.png) ## Development Board Specifications diff --git a/en/device-dev/quick-start/hi3861-development-board.md b/en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md similarity index 99% rename from en/device-dev/quick-start/hi3861-development-board.md rename to en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md index 6790ab0fe64..3a8c051e1c7 100644 --- a/en/device-dev/quick-start/hi3861-development-board.md +++ b/en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md @@ -12,14 +12,14 @@ The Hi3861 WLAN module is a development board with 2 x 5 cm form factor. It cont **Figure 1** Appearance of Hi3861 WLAN module -![](figures/3861正面.png) +![](figure/3861正面.png) The Hi3861 WLAN module can also be connected to the Hi3861 mother board to expand its peripheral capabilities. The following figure shows the Hi3861 mother board. **Figure 2** Appearance of the Hi3861 mother board -![](figures/en-us_image_0000001174350615.png) +![](figure/en-us_image_0000001174350615.png) - The RF circuit includes modules such as the power amplifier \(PA\), low noise amplifier \(LNA\), RF Balun, antenna switch, and power management. It supports a standard bandwidth of 20 MHz and a narrow bandwidth of 5 MHz or 10 MHz, and provides a maximum rate of 72.2 Mbit/s at the physical layer. - The Hi3861 WLAN baseband supports the orthogonal frequency division multiplexing \(OFDM\) technology and is backward compatible with the direct sequence spread spectrum \(DSSS\) and complementary code keying \(CCK\) technologies. In addition, the Hi3861 WLAN baseband supports various data rates specified in the IEEE 802.11 b/g/n protocol. @@ -29,7 +29,7 @@ The Hi3861 WLAN module can also be connected to the Hi3861 mother board to expan **Figure 3** Hi3861 functions - ![](figures/en-us_image_0000001128311066.png) + ![](figure/en-us_image_0000001128311066.png) ## Resources and Constraints diff --git a/en/device-dev/quick-start/quickstart-lite-introduction.md b/en/device-dev/quick-start/quickstart-lite-introduction.md new file mode 100644 index 00000000000..39c2b6911dc --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-introduction.md @@ -0,0 +1,9 @@ +# Introduction to the Development Boards + +- **[Hi3861 Development Board](quickstart-lite-introduction-hi3861.md)** + +- **[Hi3516 Development Board](quickstart-lite-introduction-hi3516.md)** + +- **[Hi3518 Development Board](quickstart-lite-introduction-hi3518.md)** + + diff --git a/en/device-dev/quick-start/overview-0.md b/en/device-dev/quick-start/quickstart-lite-overview.md similarity index 100% rename from en/device-dev/quick-start/overview-0.md rename to en/device-dev/quick-start/quickstart-lite-overview.md diff --git a/en/device-dev/quick-start/faqs-3.md b/en/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md similarity index 79% rename from en/device-dev/quick-start/faqs-3.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md index 12c3a207b5c..8c597eeca8e 100644 --- a/en/device-dev/quick-start/faqs-3.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md @@ -13,7 +13,7 @@ **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port. **Figure 1** Failed to open the serial port - ![](figures/failed-to-open-the-serial-port.png "failed-to-open-the-serial-port") + ![](figure/failed-to-open-the-serial-port.png "failed-to-open-the-serial-port") - **Possible Causes** @@ -24,19 +24,19 @@ 1. Search for the terminal using serial-xx from the drop-down list in the **TERMINAL** panel. **Figure 2** Checking whether the serial port is used - ![](figures/checking-whether-the-serial-port-is-used.png "checking-whether-the-serial-port-is-used") + ![](figure/checking-whether-the-serial-port-is-used.png "checking-whether-the-serial-port-is-used") 2. Click the dustbin icon as shown in the following figure to disable the terminal using the serial port. **Figure 3** Disabling the terminal using the serial port - ![](figures/disabling-the-terminal-using-the-serial-port.png "disabling-the-terminal-using-the-serial-port") + ![](figure/disabling-the-terminal-using-the-serial-port.png "disabling-the-terminal-using-the-serial-port") 3. Click **Burn**, select the serial port, and start burning images again. **Figure 4** Restarting burning - ![](figures/changjian1.png) + ![](figure/changjian1.png) ## What should I do when Windows-based PC failed to be connected to the board? @@ -46,7 +46,7 @@ The file image cannot be obtained after clicking **Burn** and selecting a serial port. **Figure 5** Failed to obtain the image file due to unavailable connection - ![](figures/failed-to-obtain-the-image-file-due-to-unavailable-connection.png "failed-to-obtain-the-image-file-due-to-unavailable-connection") + ![](figure/failed-to-obtain-the-image-file-due-to-unavailable-connection.png "failed-to-obtain-the-image-file-due-to-unavailable-connection") - **Possible Causes** @@ -60,22 +60,22 @@ 2. Click **Windows Firewall**. **Figure 6** Network and firewall setting - ![](figures/network-and-firewall-setting.png "network-and-firewall-setting") + ![](figure/network-and-firewall-setting.png "network-and-firewall-setting") 3. Click **Firewall & network protection**, and on the displayed page, click **Allow applications to communicate through Windows Firewall**. **Figure 7** Firewall and network protection - ![](figures/firewall-and-network-protection.png "firewall-and-network-protection") + ![](figure/firewall-and-network-protection.png "firewall-and-network-protection") 4. Select the Visual Studio Code application. **Figure 8** Selecting the Visual Studio Code application - ![](figures/selecting-the-visual-studio-code-application.png "selecting-the-visual-studio-code-application") + ![](figure/selecting-the-visual-studio-code-application.png "selecting-the-visual-studio-code-application") 5. Select the **Private** and **Public** network access rights for the Visual Studio Code application. **Figure 9** Allowing the Visual Studio Code application to access the network - ![](figures/allowing-the-visual-studio-code-application-to-access-the-network.png "allowing-the-visual-studio-code-application-to-access-the-network") + ![](figure/allowing-the-visual-studio-code-application-to-access-the-network.png "allowing-the-visual-studio-code-application-to-access-the-network") ## What should I do when the image failed to be burnt? @@ -97,17 +97,17 @@ - **Symptom** - ![](figures/en-us_image_0000001174270715.png) + ![](figure/en-us_image_0000001174270715.png) - **Possible Cause 1**: Python is not installed. - **Solutions** - Install Python by referring to [Installing and Configuring Python](../quick-start/ubuntu-build-environment.md). + Install Python by referring to [Installing and Configuring Python](quickstart-lite-env-setup-lin.md). - **Possible Cause 2**: The soft link that points to the Python does not exist in the usr/bin directory. - ![](figures/en-us_image_0000001128470880.png) + ![](figure/en-us_image_0000001128470880.png) - **Solutions** @@ -122,7 +122,7 @@ Example: - ![](figures/en-us_image_0000001174270713.png) + ![](figure/en-us_image_0000001174270713.png) ## What should I do when no command output is displayed? @@ -139,7 +139,7 @@ Change the serial port number. - Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step [1](../quick-start/running-a-hello-ohos-program.md) in the **Running an Image** section to change the serial port number. + Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step [1](#section627268185113) in the **Running an Image** section to change the serial port number. - **Possible Cause 2** @@ -155,7 +155,7 @@ 1. Obtain the U-boot file. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The U-boot file of the two boards can be obtained from the following paths, respectively. >Hi3516D V300: **device\\hisilicon\\hispark\_taurus\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3516dv300.bin** >Hi3518E V300: **device\\hisilicon\\hispark\_aries\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3518ev300.bin** @@ -167,6 +167,6 @@ 3. Log in to the serial port after the burning is complete. **Figure 10** Serial port displayed after the U-boot is burnt - ![](figures/serial-port-displayed-after-the-u-boot-is-burnt.png "serial-port-displayed-after-the-u-boot-is-burnt") + ![](figure/serial-port-displayed-after-the-u-boot-is-burnt.png "serial-port-displayed-after-the-u-boot-is-burnt") diff --git a/en/device-dev/quick-start/developing-a-driver.md b/en/device-dev/quick-start/quickstart-lite-steps-board3516-program.md similarity index 95% rename from en/device-dev/quick-start/developing-a-driver.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3516-program.md index 46e8fc8d733..e541eb52379 100644 --- a/en/device-dev/quick-start/developing-a-driver.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3516-program.md @@ -56,7 +56,7 @@ The following operations take a HDF-based UART driver as an example to show how } ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >The configuration files are in the same path as the source code of the UART driver. You need to manually add the files to the path of the Hi3516D V300 development board. 2. Register a UART driver entry. @@ -416,34 +416,34 @@ The following operations take a HDF-based UART driver as an example to show how } ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >Preceding code snippets are for reference only. You can view the complete sample code in **vendor/huawei/hdf/sample.** >The sample code is not automatically compiled by default. You can add it to the compilation script. ## Compiling and Burning -Compile and burn images by referring to [Building](../guide/development-example-for-platform-drivers.md)and [Burning](../guide/development-example-for-platform-drivers.md). +Perform the [building](quickstart-lite-steps-board3516-running.md#section1077671315253) and [burning](quickstart-lite-steps-board3516-running.md#section1347011412201) as instructed in **Running a Hello OHOS Program**. ## Running an Image 1. Connect to a serial port. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >If the connection fails, rectify the fault by referring to [FAQs](../quick-start/faqs-3.md). + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** + >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-board3516-faqs.md). **Figure 1** Serial port connection - ![](figures/chuankou1.png) + ![](figure/chuankou1.png) 1. Click **Monitor** to enable the serial port. 2. Press **Enter** repeatedly until **hisilicon** displays. - 3. Go to [2](running-a-hello-ohos-program.md#l5b42e79a33ea4d35982b78a22913b0b1) if the board is started for the first time or the startup parameters need to be modified; go to [3](running-a-hello-ohos-program.md#ld26f18828aa44c36bfa36be150e60e49) otherwise. + 3. Go to [2](quickstart-lite-steps-board3516-running.md#l5b42e79a33ea4d35982b78a22913b0b1) if the board is started for the first time or the startup parameters need to be modified; go to [3](quickstart-lite-steps-board3516-running.md#ld26f18828aa44c36bfa36be150e60e49) otherwise. 2. \(Mandatory when the board is started for the first time\) Modify the **bootcmd** and **bootargs** parameters of U-Boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The default waiting time in the U-Boot is 2s. You can press **Enter** to interrupt the waiting and run the **reset** command to restart the system after "hisilicon" is displayed. **Table 1** Parameters of the U-Boot @@ -479,7 +479,7 @@ Compile and burn images by referring to [Building](../guide/development-example
    - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >**go 0x80000000** is optional. It indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press **Enter** in the countdown phase of the U-Boot startup to interrupt the automatic startup. 3. Run the **reset** command and press **Enter** to restart the board. After the board is restarted, **OHOS** is displayed when you press **Enter**. @@ -487,7 +487,7 @@ Compile and burn images by referring to [Building](../guide/development-example **Figure 2** System startup - ![](figures/qi1.png) + ![](figure/qi1.png) 4. In the root directory, run the **./bin/hello\_uart** command line to execute the demo program. The compilation result is shown in the following example. @@ -499,5 +499,5 @@ Compile and burn images by referring to [Building](../guide/development-example ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/cameras-without-a-screen.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/device-camera.md). diff --git a/en/device-dev/quick-start/running-a-hello-ohos-program.md b/en/device-dev/quick-start/quickstart-lite-steps-board3516-running.md similarity index 90% rename from en/device-dev/quick-start/running-a-hello-ohos-program.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3516-running.md index 1bc2f5daad2..9b33afae196 100644 --- a/en/device-dev/quick-start/running-a-hello-ohos-program.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3516-running.md @@ -129,7 +129,7 @@ This section describes how to create, compile, burn, and run the first program, ## Building -If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/docker-environment.md). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: +If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: ``` hb set (Set the building path.) @@ -139,28 +139,28 @@ hb build -f (Start building.) ``` **Figure 1** Settings -![](figures/settings.png "settings") +![](figure/settings.png "settings") The result files are generated in the **out/hispark\_taurus/ipcamera\_hispark\_taurus** directory. ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The U-Boot file of the Hi3516D V300 development board can be obtained from the following path: device/hisilicon/hispark\_taurus/sdk\_liteos/uboot/out/boot/u-boot-hi3516dv300.bin ## Burning The Hi3516 development board allows you to burn flash memory over the USB port, serial port, or network port. The following uses the network port burning as an example. -1. Connect the PC and the target development board through the power port, serial port, and network port. In this section, the Hi3516DV300 is used as an example. For details, please refer to [Introduction to the Hi3516 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3516-0000001152041033). +1. Connect the PC and the target development board through the power port, serial port, and network port. In this section, the Hi3516DV300 is used as an example. For details, please refer to [Introduction to the Hi3516 Development Board](quickstart-lite-introduction-hi3516.md). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3516 or Hi3518 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695). - ![](figures/en-us_image_0000001174350647.png) + ![](figure/en-us_image_0000001174350647.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figures/2021-01-27_170334.png) + ![](figure/2021-01-27_170334.png) 4. On the **Partition Configuration** tab page, modify the settings. In general cases, you can leave the fields at their default settings. 5. On the **hi3516dv300** tab page, set the programming options. @@ -169,7 +169,7 @@ The Hi3516 development board allows you to burn flash memory over the USB port, - **upload\_protocol**: Select the programming protocol **hiburn-net**. - **upload\_partitions**: Select the file to be programmed. By default, the **fastboot**, **kernel**, **rootfs**, and **userfs** files are programmed at the same time. - ![](figures/en-us_image_0000001128470904.png) + ![](figure/en-us_image_0000001128470904.png) 6. Check and set the IP address of the network adapter connected to the development board. For details, see [Setting the IP Address of the Network Port for Programming on Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/set_ipaddress-0000001141825075). 7. Set the IP address of the network port for programming: @@ -179,33 +179,33 @@ The Hi3516 development board allows you to burn flash memory over the USB port, - **upload\_net\_client\_gw**: Set the gateway of the development board, such as 192.168.1.1. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. Example: 192.168.1.1. - **upload\_net\_client\_ip**: Set the IP address of the development board, such as 192.168.1.3. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. Example: 192.168.1.3. - ![](figures/en-us_image_0000001174270733.png) + ![](figure/en-us_image_0000001174270733.png) 8. When you finish modifying, click **Save** in the upper right corner. -9. Open the project file and click ![](figures/2021-01-27_170334-2.png). In the DevEco Device Tool window, choose **PROJECT TASKS** \> **hi3516dv300** \> **Upload** to start programming. +9. Open the project file and click ![](figure/2021-01-27_170334-2.png). In the DevEco Device Tool window, choose **PROJECT TASKS** \> **hi3516dv300** \> **Upload** to start programming. - ![](figures/en-us_image_0000001174270729.png) + ![](figure/en-us_image_0000001174270729.png) 10. When the following message is displayed, power off the development board and then power it on. - ![](figures/en-us_image_0000001128470906.png) + ![](figure/en-us_image_0000001128470906.png) 11. Start burning. When the following message is displayed, the burning is successful. - ![](figures/en-us_image_0000001128311098.png) + ![](figure/en-us_image_0000001128311098.png) ## Running an Image 1. Connect to a serial port. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >If the connection fails, rectify the fault by referring to [FAQs](../quick-start/faqs-3.md). + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** + >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-board3516-faqs.md). **Figure 2** Serial port connection - ![](figures/chuankou1.png) + ![](figure/chuankou1.png) 1. Click **Monitor** to enable the serial port. 2. Press **Enter** repeatedly until **hisilicon** displays. @@ -213,7 +213,7 @@ The Hi3516 development board allows you to burn flash memory over the USB port, 2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs parameters of U-Boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The default waiting time in the U-Boot is 2s. You can press **Enter** to interrupt the waiting and run the **reset** command to restart the system after "hisilicon" is displayed. **Table 1** Parameters of the U-Boot @@ -249,7 +249,7 @@ The Hi3516 development board allows you to burn flash memory over the USB port,
    - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >**go 0x80000000** \(optional\) indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press **Enter** in the countdown phase of the U-Boot startup to interrupt the automatic startup. 3. Run the **reset** command and press **Enter** to restart the board. After the board is restarted, **OHOS** is displayed when you press **Enter**. @@ -257,7 +257,7 @@ The Hi3516 development board allows you to burn flash memory over the USB port, **Figure 3** System startup - ![](figures/qi1.png) + ![](figure/qi1.png) ## Running a Program @@ -265,5 +265,5 @@ The Hi3516 development board allows you to burn flash memory over the USB port, In the root directory, run the **./bin/helloworld** command to operate the demo program. The compilation result is shown in the following example. **Figure 4** Successful system startup and program execution -![](figures/successful-system-startup-and-program-execution.png "successful-system-startup-and-program-execution") +![](figure/successful-system-startup-and-program-execution.png "successful-system-startup-and-program-execution") diff --git a/en/device-dev/quick-start/setting-up-the-environment-2.md b/en/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md similarity index 97% rename from en/device-dev/quick-start/setting-up-the-environment-2.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md index 0e8430d75a7..bb8595701a4 100644 --- a/en/device-dev/quick-start/setting-up-the-environment-2.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md @@ -22,11 +22,11 @@ The following figure shows the hardware connections. **Figure 1** Hardware connections -![](figures/矩形备份-292.png) +![](figure/矩形备份-292.png) ### Software ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >This section describes how to use an installation package to set up the compilation and development environment. If you are going to use Docker to set up the environment, skip this section and [Installing Linux Build Tools](#section182916865219). The following table describes the tools required for setting up the general environment for a Linux server of the Hi3516 development board and how to obtain these tools. @@ -75,7 +75,7 @@ The following table describes the tools required for setting up the general envi ## Installing Linux Build Tools ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install compilation tools like **LLVM** and **hc-gen**. >- \(Recommended\) If you obtain the source code via the mirror site or code repository, install **hc-gen**. When installing the compilation tool, ensure that its environment variable path is unique. diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3516.md b/en/device-dev/quick-start/quickstart-lite-steps-board3516.md new file mode 100644 index 00000000000..97db943fc49 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3516.md @@ -0,0 +1,11 @@ +# Hi3516 + +- **[Setting Up the Environment](quickstart-lite-steps-board3516-setting.md)** + +- **[Running a Hello OHOS Program](quickstart-lite-steps-board3516-running.md)** + +- **[Developing a Driver](quickstart-lite-steps-board3516-program.md)** + +- **[FAQs](quickstart-lite-steps-board3516-faqs.md)** + + diff --git a/en/device-dev/quick-start/faqs-6.md b/en/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md similarity index 80% rename from en/device-dev/quick-start/faqs-6.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md index 05d53356aed..384eac7cdcc 100644 --- a/en/device-dev/quick-start/faqs-6.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md @@ -13,7 +13,7 @@ **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port. **Figure 1** Failed to open the serial port - ![](figures/failed-to-open-the-serial-port-8.png "failed-to-open-the-serial-port-8") + ![](figure/failed-to-open-the-serial-port-8.png "failed-to-open-the-serial-port-8") - **Possible Causes** @@ -24,19 +24,19 @@ 1. Search for the terminal using serial-xx from the drop-down list in the **TERMINAL** panel. **Figure 2** Checking whether the serial port is used - ![](figures/checking-whether-the-serial-port-is-used-9.png "checking-whether-the-serial-port-is-used-9") + ![](figure/checking-whether-the-serial-port-is-used-9.png "checking-whether-the-serial-port-is-used-9") 2. Click the dustbin icon as shown in the following figure to disable the terminal using the serial port. **Figure 3** Disabling the terminal using the serial port - ![](figures/disabling-the-terminal-using-the-serial-port-10.png "disabling-the-terminal-using-the-serial-port-10") + ![](figure/disabling-the-terminal-using-the-serial-port-10.png "disabling-the-terminal-using-the-serial-port-10") 3. Click **Burn**, select the serial port, and start burning images again. **Figure 4** Restarting burning - ![](figures/changjian1-11.png) + ![](figure/changjian1-11.png) ## What should I do when Windows-based PC failed to be connected to the board? @@ -46,7 +46,7 @@ The file image cannot be obtained after clicking **Burn** and selecting a serial port. **Figure 5** Failed to obtain the image file due to unavailable connection - ![](figures/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png "failed-to-obtain-the-image-file-due-to-unavailable-connection-12") + ![](figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png "failed-to-obtain-the-image-file-due-to-unavailable-connection-12") - **Possible Causes** @@ -60,22 +60,22 @@ 2. Click **Windows Firewall**. **Figure 6** Network and firewall setting - ![](figures/network-and-firewall-setting-13.png "network-and-firewall-setting-13") + ![](figure/network-and-firewall-setting-13.png "network-and-firewall-setting-13") 3. Click **Firewall & network protection**, and on the displayed page, click **Allow applications to communicate through Windows Firewall**. **Figure 7** Firewall and network protection - ![](figures/firewall-and-network-protection-14.png "firewall-and-network-protection-14") + ![](figure/firewall-and-network-protection-14.png "firewall-and-network-protection-14") -4. Select the Visual Studio Code application +4. Select the Visual Studio Code application. **Figure 8** Selecting the Visual Studio Code application - ![](figures/selecting-the-visual-studio-code-application-15.png "selecting-the-visual-studio-code-application-15") + ![](figure/selecting-the-visual-studio-code-application-15.png "selecting-the-visual-studio-code-application-15") 5. Select the **Private** and **Public** network access rights for the Visual Studio Code application. **Figure 9** Allowing the Visual Studio Code application to access the network - ![](figures/allowing-the-visual-studio-code-application-to-access-the-network-16.png "allowing-the-visual-studio-code-application-to-access-the-network-16") + ![](figure/allowing-the-visual-studio-code-application-to-access-the-network-16.png "allowing-the-visual-studio-code-application-to-access-the-network-16") ## What should I do when the image failed to be burnt? @@ -97,7 +97,7 @@ - **Symptom** - ![](figures/en-us_image_0000001174270743.png) + ![](figure/en-us_image_0000001174270743.png) - **Possible Cause 1** @@ -106,11 +106,11 @@ - **Solutions** - Install Python by referring to [Installing and Configuring Python](../quick-start/ubuntu-build-environment.md). + Install Python by referring to [Installing and Configuring Python](quickstart-lite-env-setup-lin.md). - **Possible Cause 2**: The soft link that points to the Python does not exist in the usr/bin directory. - ![](figures/en-us_image_0000001174270739.png) + ![](figure/en-us_image_0000001174270739.png) - **Solutions** @@ -125,7 +125,7 @@ Example: - ![](figures/en-us_image_0000001174350661.png) + ![](figure/en-us_image_0000001174350661.png) ## What should I do when no command output is displayed? @@ -142,7 +142,7 @@ Change the serial port number. - Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step [1](../quick-start/running-a-hello-ohos-program.md) in the **Running an Image** section to change the serial port number. + Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step [1](quickstart-lite-steps-board3518-running.md) in the **Running an Image** section to change the serial port number. - **Possible Cause 2** @@ -158,7 +158,7 @@ 1. Obtain the U-boot file. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The U-boot file of the two boards can be obtained from the following paths, respectively. >Hi3516D V300: **device\\hisilicon\\hispark\_taurus\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3516dv300.bin** >Hi3518E V300: **device\\hisilicon\\hispark\_aries\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3518ev300.bin** @@ -169,6 +169,6 @@ 3. Log in to the serial port after the burning is complete. - ![](figures/en-us_image_0000001174350659.png) + ![](figure/en-us_image_0000001174350659.png) diff --git a/en/device-dev/quick-start/running-a-hello-ohos-program-5.md b/en/device-dev/quick-start/quickstart-lite-steps-board3518-running.md similarity index 90% rename from en/device-dev/quick-start/running-a-hello-ohos-program-5.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3518-running.md index e3f5d5e2955..7b8ec4ecd0d 100644 --- a/en/device-dev/quick-start/running-a-hello-ohos-program-5.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3518-running.md @@ -128,7 +128,7 @@ This section describes how to create, compile, burn, and run the first program, ## Building -If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/docker-environment.md). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: +If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: ``` hb set (Set the building path.) @@ -140,26 +140,26 @@ hb build -f (Start building.) The result files are generated in the **out/hispark\_aries/ipcamera\_hispark\_aries** directory. **Figure 1** Settings -![](figures/settings-4.png "settings-4") +![](figure/settings-4.png "settings-4") ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The U-Boot file of the Hi3518E V300 development board can be obtained from the following path: device/hisilicon/hispark\_aries/sdk\_liteos/uboot/out/boot/u-boot-hi3518ev300.bin ## Burning The USB port is the only burning mode supported by the Hi3518 development board. -1. Connect the PC and the target development board through the serial port and USB port. In this section, the Hi3518EV300 is used as an example. For details, see [Introduction to the Hi3518 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3518-0000001105201138). +1. Connect the PC and the target development board through the serial port and USB port. In this section, the Hi3518EV300 is used as an example. For details, see [Introduction to the Hi3518 Development Board](quickstart-lite-introduction-hi3518.md). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3516 or Hi3518 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695). - ![](figures/en-us_image_0000001128470900.png) + ![](figure/en-us_image_0000001128470900.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figures/en-us_image_0000001174350649.png) + ![](figure/en-us_image_0000001174350649.png) 4. On the **Partition Configuration** tab page, modify the settings. In general cases, you can leave the fields at their default settings. 5. On the **hi3518ev300** tab page, set the programming options. @@ -168,41 +168,41 @@ The USB port is the only burning mode supported by the Hi3518 development board. - **upload\_protocol**: Select the programming protocol **hiburn-usb**. - **upload\_partitions**: Select the file to be programmed. By default, the **fastboot**, **kernel**, **rootfs**, and **userfs** files are programmed at the same time. - ![](figures/en-us_image_0000001128311090.png) + ![](figure/en-us_image_0000001128311090.png) 6. When you finish modifying, click **Save** in the upper right corner. -7. Open the project file and click ![](figures/2021-01-27_170334-5.png). In the DevEco Device Tool window, choose **PROJECT TASKS** \> **hi3518ev300\_fastboot** \> **Erase** to erase U-Boot. +7. Open the project file and click ![](figure/2021-01-27_170334-5.png). In the DevEco Device Tool window, choose **PROJECT TASKS** \> **hi3518ev300\_fastboot** \> **Erase** to erase U-Boot. - ![](figures/en-us_image_0000001174270731.png) + ![](figure/en-us_image_0000001174270731.png) 8. When the following message is displayed, power off the development board and then power it on. - ![](figures/en-us_image_0000001128311092.png) + ![](figure/en-us_image_0000001128311092.png) 9. If the following message is displayed, it indicates that U-Boot is erased successfully. - ![](figures/en-us_image_0000001128311094.png) + ![](figure/en-us_image_0000001128311094.png) 10. Go to **hi3518ev300** \> **Upload** to start programming. - ![](figures/en-us_image_0000001174350641.png) + ![](figure/en-us_image_0000001174350641.png) 11. If the following message is displayed, it indicates that the programming is successful. - ![](figures/en-us_image_0000001174350643.png) + ![](figure/en-us_image_0000001174350643.png) ## Running an Image 1. Connect to a serial port. - >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >If the connection fails, rectify the fault by referring to [FAQs](../quick-start/faqs-6.md). + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** + >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-board3518-faqs.md). **Figure 2** Serial port connection - ![](figures/chuankou1-6.png) + ![](figure/chuankou1-6.png) 1. Click **Monitor** to enable the serial port. The **TERMINAL** window is displayed. 2. Press **Enter** repeatedly until **hisilicon** displays. @@ -247,16 +247,16 @@ The USB port is the only burning mode supported by the Hi3518 development board.
    - >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >**go 0x40000000** \(optional\) indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press **Enter** in the countdown phase of the U-Boot startup to interrupt the automatic startup. 3. If **hisilicon \#** is displayed during the startup, run the **reset** command. After the system automatically starts and **OHOS** is displayed, run the **./bin/helloworld** command and then press **Enter**. The system is started successfully if information shown in the following figure is displayed. **Figure 3** Successful system startup and program execution - ![](figures/successful-system-startup-and-program-execution-7.png "successful-system-startup-and-program-execution-7") + ![](figure/successful-system-startup-and-program-execution-7.png "successful-system-startup-and-program-execution-7") ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/cameras-with-a-screen.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/device-iotcamera.md). diff --git a/en/device-dev/quick-start/setting-up-the-environment-4.md b/en/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md similarity index 96% rename from en/device-dev/quick-start/setting-up-the-environment-4.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md index 606871622b0..9bc63015a4c 100644 --- a/en/device-dev/quick-start/setting-up-the-environment-4.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md @@ -21,11 +21,11 @@ **Figure 1** Hardware connections -![](figures/hardware-connections-3.png "hardware-connections-3") +![](figure/hardware-connections-3.png "hardware-connections-3") ### Software Requirements ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >This section describes how to use an installation package to set up the compilation and development environment. If you are going to use Docker to set up the environment, skip this section and [Installing Linux Build Tools](#section8831868501). The following table describes the tools required for setting up the general environment for a Linux server of the Hi3518 development board and how to obtain these tools. @@ -67,7 +67,7 @@ The following table describes the tools required for setting up the general envi ## Installing Linux Build Tools ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install **hc-gen**. >- \(Recommended\) If you obtain the source code via the mirror site or code repository, install **hc-gen**. When installing the compilation tool, ensure that its environment variable path is unique. diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3518.md b/en/device-dev/quick-start/quickstart-lite-steps-board3518.md new file mode 100644 index 00000000000..e9f239a0ee8 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3518.md @@ -0,0 +1,9 @@ +# Hi3518 + +- **[Setting Up the Environment](quickstart-lite-steps-board3518-setting.md)** + +- **[Running a Hello OHOS Program](quickstart-lite-steps-board3518-running.md)** + +- **[FAQs](quickstart-lite-steps-board3518-faqs.md)** + + diff --git a/en/device-dev/quick-start/wlan-connection.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md similarity index 87% rename from en/device-dev/quick-start/wlan-connection.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md index 6869012b733..2ce585ea88b 100644 --- a/en/device-dev/quick-start/wlan-connection.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md @@ -10,42 +10,42 @@ This example shows how to connect the WLAN module to the gateway using attention This section describes how to perform the WLAN module building on a Linux server. -If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/docker-environment.md). If the Linux environment is installed using a software package, perform the following steps: +If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/sourcecode-acquire.md). If the Linux environment is installed using a software package, perform the following steps: 1. Open the HUAWEI DevEco Device Tool and choose **View** \> **Terminal**. **Figure 1** Starting the IDE terminal tool - ![](figures/1.png) + ![](figure/1.png) On the **TERMINAL** panel, run the ssh command, for example, **ssh** **_user_@_ipaddr_**, to connect to the Linux server. **Figure 2** TERMINAL panel - ![](figures/2.png) + ![](figure/2.png) 2. Go to the root directory of the code, run the **hb set** and **.** commands on the **TERMINAL** panel, and select the **wifiiot\_hispark\_pegasus** version. **Figure 3** Selecting the target build version - ![](figures/3.png) + ![](figure/3.png) 3. Run the **hb build** command to start building. **Figure 4** Running commands on the TERMINAL panel - ![](figures/4.png) + ![](figure/4.png) 4. Check whether the building is successful. If yes, **wifiiot\_hispark\_pegasus build success** will be displayed, as shown in the following figure. **Figure 5** Successful building - ![](figures/5.png) + ![](figure/5.png) 5. Check whether the following files are generated in the **./out/wifiiot/** directory. @@ -56,24 +56,24 @@ If the Linux environment is installed using Docker, perform the building by refe **Figure 6** Directory for storing the generated files - ![](figures/3-0.png) + ![](figure/3-0.png) ## Burning Images You can use the DevEco tool to perform the image burning of the Hi3861 WLAN module. For details about how to use the tool, see [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905). -1. Connect the PC and the target development board through the USB port. For details, please refer to [Introduction to the Hi3861 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3861-0000001105041324). +1. Connect the PC and the target development board through the USB port. For details, see [Introduction to the Hi3861 Development Board](quickstart-lite-introduction-hi3861.md). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3861 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3861-drivers-0000001058153433). - ![](figures/en-us_image_0000001128311118.png) + ![](figure/en-us_image_0000001128311118.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figures/en-us_image_0000001128311116.png) + ![](figure/en-us_image_0000001128311116.png) 4. On the **Partition Configuration** tab page, modify the settings. In general cases, you can leave the fields at their default settings. 5. On the **hi3861** tab page, set the programming options. @@ -82,20 +82,20 @@ You can use the DevEco tool to perform the image burning of the Hi3861 WLAN modu - **upload\_protocol**: Select the burning protocol **burn-serial**. - **upload\_partitions**: Select the file to be burned. **hi3861\_app** is selected by default. - ![](figures/en-us_image_0000001128470922.png) + ![](figure/en-us_image_0000001128470922.png) 6. When you finish modifying, click **Save** in the upper right corner. 7. Open the project file. In the DevEco Device Tool window, go to **PROJECT TASKS** \> **hi3861** \> **Upload** to start programming. - ![](figures/en-us_image_0000001174270749.png) + ![](figure/en-us_image_0000001174270749.png) 8. When the following information is displayed, press the RST button on the development board to restart it. - ![](figures/en-us_image_0000001174270751.png) + ![](figure/en-us_image_0000001174270751.png) 9. Start burning. When the following message is displayed, the burning is successful. - ![](figures/en-us_image_0000001174350669.png) + ![](figure/en-us_image_0000001174350669.png) ## Connecting WLAN Module to the Internet. @@ -107,14 +107,14 @@ After completing version building and burning, do as follows to connect the WLAN **Figure 7** Opening the DevEco serial port - ![](figures/5-1.png) + ![](figure/5-1.png) 2. Reset the WLAN module. The message **ready to OS start** is displayed on the **TERMINAL** panel, indicating that the WLAN module is started successfully. **Figure 8** Successful resetting of the WLAN module - ![](figures/6.png) + ![](figure/6.png) 3. Run the following AT commands in sequence via the DevEco serial port terminal to start the STA mode, connect to the specified AP, and enable Dynamic Host Configuration Protocol \(DHCP\). @@ -137,6 +137,6 @@ After completing version building and burning, do as follows to connect the WLAN **Figure 9** Successful networking of the WLAN module - ![](figures/截图.png) + ![](figure/截图.png) diff --git a/en/device-dev/quick-start/faqs.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md similarity index 95% rename from en/device-dev/quick-start/faqs.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md index 43db6c03736..9f4f5b1583e 100644 --- a/en/device-dev/quick-start/faqs.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md @@ -73,7 +73,7 @@ Solution 2: If the software source does not contain **zlib**, download the source code from [http://www.zlib.net/](http://www.zlib.net/). - ![](figures/10.png) + ![](figure/10.png) Then run the following commands to install **zlib** offline: @@ -134,7 +134,7 @@ - Download the source code from [https://pypi.org/project/pycrypto/\#files](https://pypi.org/project/pycrypto/#files). - ![](figures/en-us_image_0000001128470864.png) + ![](figure/en-us_image_0000001128470864.png) - Save the source code package to the Linux server, decompress the package, and run the **python3 setup.py install** command to install **Crypto**. - Rebuild an environment. @@ -164,7 +164,7 @@ - Download the installation package from [https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files). - ![](figures/en-us_image_0000001128311072.png) + ![](figure/en-us_image_0000001128311072.png) - Save the installation package to the Linux server and run the **pip3 install ecdsa-0.15-py2.py3-none-any.whl** command to install **ecdsa**. - Rebuild an environment. @@ -194,7 +194,7 @@ - Download the installation package from [https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files). - ![](figures/en-us_image_0000001174270699.png) + ![](figure/en-us_image_0000001174270699.png) - Save the source code to the Linux server and run the **pip3 install six-1.14.0-py2.py3-none-any.whl** command to install **six**. - Rebuild an environment. @@ -243,11 +243,11 @@ - **Possible Cause 1:** Python is not installed. - **Solutions** - Install Python by referring to [Installing and Configuring Python](../quick-start/ubuntu-build-environment.md). + Install Python by referring to [Installing and Configuring Python](quickstart-lite-env-setup-lin.md). - **Possible Cause 2:** The soft link that points to the Python does not exist in the **usr/bin** directory. - ![](figures/en-us_image_0000001128311070.png) + ![](figure/en-us_image_0000001128311070.png) - **Solutions** @@ -262,7 +262,7 @@ Example: - ![](figures/en-us_image_0000001174350623.png) + ![](figure/en-us_image_0000001174350623.png) ## What should I do when an error with **lsb\_release** occurs during **kconfiglib** installation? diff --git a/en/device-dev/quick-start/running-a-hello-world-program.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md similarity index 98% rename from en/device-dev/quick-start/running-a-hello-world-program.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md index 033f919351f..573245e7e22 100644 --- a/en/device-dev/quick-start/running-a-hello-world-program.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md @@ -135,7 +135,7 @@ To parse the call stack information, the **Hi3861\_wifiiot\_app.asm** file is 3. Determine that an exception occurs in the **WadRecvCB** function based on the call stack information. - ![](figures/en-us_image_0000001174270737.png) + ![](figure/en-us_image_0000001174270737.png) 4. Check and modify the code. @@ -152,5 +152,5 @@ wifi init success! ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [WLAN-connected products](../guide/wlan-connected-products.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [WLAN-connected products](../guide/device-wifi.md). diff --git a/en/device-dev/quick-start/setting-up-the-environment.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md similarity index 97% rename from en/device-dev/quick-start/setting-up-the-environment.md rename to en/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md index 9eb8b040c63..92d567cd5d9 100644 --- a/en/device-dev/quick-start/setting-up-the-environment.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md @@ -24,11 +24,11 @@ The following figure shows the hardware connections. **Figure 1** Hardware connections -![](figures/hardware-connections.png "hardware-connections") +![](figure/hardware-connections.png "hardware-connections") ### Software ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The following part describes how to install tools using installation packages. If you use Docker to set up the build environment, you only need to install the Windows workstation described in [Table 1](#table6299192712513). The following table lists the tools required for the Hi3861 development board. @@ -96,7 +96,7 @@ The following table lists the tools required for the Hi3861 development board. ## Installing Linux Build Tools ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install **gcc\_riscv32**. >- \(Recommended\) If you obtain the source code via the mirror site or code repository, install **gcc\_riscv32**. When installing the compilation tool, ensure that its environment variable path is unique. @@ -124,7 +124,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev ``` **Figure 2** Successful installation \(SCons version requirement: 3.0.4 or later\) - ![](figures/successful-installation-(scons-version-requirement-3-0-4-or-later).png "successful-installation-(scons-version-requirement-3-0-4-or-later)") + ![](figure/successful-installation-(scons-version-requirement-3-0-4-or-later).png "successful-installation-(scons-version-requirement-3-0-4-or-later)") ### Installing Python Modules @@ -227,7 +227,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev ### Installing gcc\_riscv32 \(Compilation Toolchain for WLAN Module\) ->![](public_sys-resources/icon-notice.gif) **NOTICE:** +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** >- The Hi3861 platform supports only the static link of the libgcc library. The dynamic link is not recommended because version 3 of the GNU General Public License \(GPLv3\) will be polluted during commercial distribution. >- Steps 2 to 15 of the following procedure are used to build the **gcc\_riscv32** image. You can simply [download the image](https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz) and skip these steps. @@ -316,7 +316,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev 16. Set an environment variable. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If you use the compiled **riscv32 gcc** package, perform the following steps to set environment variables: >1. Decompress the package to the root directory. > ``` @@ -358,10 +358,10 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev Perform the following operations on the Windows station. -1. Download the USB-to-serial driver: [CH341SER USB-to-serial driver](http://www.wch-ic.com/search?t=all&q=CH340g). +1. Download the USB-to-serial driver: [CH341SER USB-to-serial driver](http://www.hihope.org/en/download/download.aspx). 2. Install the driver. 3. After the driver is installed, remove and then insert the USB cable. The serial port entry should be displayed as shown in the following figure. - ![](figures/en-us_image_0000001174350633.png) + ![](figure/en-us_image_0000001174350633.png) diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861.md new file mode 100644 index 00000000000..a0b8821b092 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3861.md @@ -0,0 +1,11 @@ +# Hi3861 + +- **[Setting Up the Environment](quickstart-lite-steps-board3861-setting.md)** + +- **[WLAN Connection](quickstart-lite-steps-board3861-connection.md)** + +- **[Running a Hello World Program](quickstart-lite-steps-board3861-running.md)** + +- **[FAQs](quickstart-lite-steps-board3861-faqs.md)** + + diff --git a/en/device-dev/quick-start/quickstart-lite-steps.md b/en/device-dev/quick-start/quickstart-lite-steps.md new file mode 100644 index 00000000000..cd4b82e4fd4 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps.md @@ -0,0 +1,9 @@ +# How to Develop + +- **[Hi3861](quickstart-lite-steps-board3861.md)** + +- **[Hi3516](quickstart-lite-steps-board3516.md)** + +- **[Hi3518](quickstart-lite-steps-board3518.md)** + + diff --git a/en/device-dev/quick-start/quickstart-lite.md b/en/device-dev/quick-start/quickstart-lite.md new file mode 100644 index 00000000000..064e2ef51e7 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite.md @@ -0,0 +1,11 @@ +# Mini and Small Systems + +- **[Overview](quickstart-lite-overview.md)** + +- **[Introduction to the Development Boards](quickstart-lite-introduction.md)** + +- **[Environment Setup](quickstart-lite-env-setup.md)** + +- **[How to Develop](quickstart-lite-steps.md)** + + diff --git a/en/device-dev/quick-start/burning-images.md b/en/device-dev/quick-start/quickstart-standard-burn.md similarity index 97% rename from en/device-dev/quick-start/burning-images.md rename to en/device-dev/quick-start/quickstart-standard-burn.md index b63966d9433..5cfe9fccf98 100644 --- a/en/device-dev/quick-start/burning-images.md +++ b/en/device-dev/quick-start/quickstart-standard-burn.md @@ -11,7 +11,7 @@ The Hi3516DV300 of the Hi3516 series development boards supports programming fla Except for environment setup, the operations of programming are the same for Windows and Linux. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Currently, the Hi3516D V300 development board supports system burning over the network port, USB port, or serial port. This document uses the network port as an example. For details about system burning over other ports, see [Programming Flash Memory on the Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681). ### Prerequisites @@ -25,14 +25,14 @@ The Hi3516DV300 supports programming through the network port in Windows or Linu 1. Connect the PC and the target development board through the power port, serial port, and network port. In this section, the Hi3516DV300 is used as an example. For details, please refer to [Introduction to the Hi3516 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_3516-0000001052670587). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3516 or Hi3518 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695). - ![](figures/en-us_image_0000001114129428.png) + ![](figure/en-us_image_0000001114129428.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figures/2021-01-27_170334-18.png) + ![](figure/2021-01-27_170334-17.png) 4. On the **Partition Configuration** tab page, enter the information about the files to be programmed, including the following. @@ -165,7 +165,7 @@ The Hi3516DV300 supports programming through the network port in Windows or Linu
    - ![](figures/en-us_image_0000001160527611.png) + ![](figure/en-us_image_0000001160527611.png) 5. On the **hi3516dv300** tab page, configure the programming options. @@ -173,7 +173,7 @@ The Hi3516DV300 supports programming through the network port in Windows or Linu - **upload\_protocol**: Select the programming protocol **hiburn-net**. - **upload\_partitions**: Select the file to be programmed, including the following: fastboot, boot, updater, misc, system, vendor, and userdata. - ![](figures/en-us_image_0000001117621400.png) + ![](figure/en-us_image_0000001117621400.png) 6. Check and set the IP address of the network adapter connected to the development board. For details, see [Setting the IP Address of the Network Port for Programming on Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/set_ipaddress-0000001141825075). 7. Set the IP address of the network port for programming: @@ -183,23 +183,23 @@ The Hi3516DV300 supports programming through the network port in Windows or Linu - **upload\_net\_client\_gw**: Set the gateway of the development board, such as 192.168.1.1. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. - **upload\_net\_client\_ip**: Set the IP address of the development board, such as 192.168.1.3. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. - ![](figures/en-us_image_0000001117463460.png) + ![](figure/en-us_image_0000001117463460.png) 8. When you finish modifying, click **Save** in the upper right corner. -9. Open the project file, go to ![](figures/2021-01-27_170334-19.png) \> **PROJECT TASKS** \> **fastboot** \> **Erase** to erase U-boot. +9. Open the project file, go to ![](figure/2021-01-27_170334-18.png) \> **PROJECT TASKS** \> **fastboot** \> **Erase** to erase U-boot. - ![](figures/en-us_image_0000001163045527.png) + ![](figure/en-us_image_0000001163045527.png) 10. When the following message is displayed, power off the development board and then power it on. - ![](figures/en-us_image_0000001114129432.png) + ![](figure/en-us_image_0000001114129432.png) 11. Start programming. When the following message is displayed, it indicates that the programming is successful. - ![](figures/en-us_image_0000001113969542.png) + ![](figure/en-us_image_0000001113969542.png) ## Next -Congratulations! You have completed the quick start for the standard system. Get yourself familiar with OpenHarmony by a [Development Example for Clock App](../guide/development-example-for-clock-apps.md). +Congratulations! You have completed the quick start for the standard system. Get yourself familiar with OpenHarmony by a [Development Example for Clock App](../guide/oem_device_clockapp_des.md). diff --git a/en/device-dev/quick-start/setting-up-ubuntu-development-environment-in-docker-mode-and-building-source-code.md b/en/device-dev/quick-start/quickstart-standard-docker-environment.md similarity index 91% rename from en/device-dev/quick-start/setting-up-ubuntu-development-environment-in-docker-mode-and-building-source-code.md rename to en/device-dev/quick-start/quickstart-standard-docker-environment.md index 0a3ca86c329..c9f27fb455f 100644 --- a/en/device-dev/quick-start/setting-up-ubuntu-development-environment-in-docker-mode-and-building-source-code.md +++ b/en/device-dev/quick-start/quickstart-standard-docker-environment.md @@ -9,9 +9,9 @@ The standard OpenHarmony system provides a Docker environment which encapsulates build tools. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >- Before using Docker, install it by following instructions in [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/). ->- You can also use the [installation package](setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md) to set up the Ubuntu development environment. +>- You can also use the [installation package](quickstart-standard-package-environment.md) to set up the Ubuntu development environment. ## Obtaining Standard-System Source Code @@ -111,8 +111,8 @@ repo forall -c 'git lfs pull' Files generated during the build are stored in the **out/ohos-arm-release/** directory, and the generated image is stored in the **out/ohos-arm-release/packages/phone/images/** directory. -3. Burn the image. For details, see [Burning Images](burning-images.md). +3. Burn the image. For details, see [Burning Images](quickstart-standard-burn.md). ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >You can exit Docker by simply running the **exit** command. diff --git a/en/device-dev/quick-start/faqs-7.md b/en/device-dev/quick-start/quickstart-standard-faq.md similarity index 100% rename from en/device-dev/quick-start/faqs-7.md rename to en/device-dev/quick-start/quickstart-standard-faq.md diff --git a/en/device-dev/quick-start/setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md b/en/device-dev/quick-start/quickstart-standard-package-environment.md similarity index 91% rename from en/device-dev/quick-start/setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md rename to en/device-dev/quick-start/quickstart-standard-package-environment.md index 0aaa9188a03..ee9049108fb 100644 --- a/en/device-dev/quick-start/setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md +++ b/en/device-dev/quick-start/quickstart-standard-package-environment.md @@ -16,7 +16,7 @@ The installation command is as follows: sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The preceding command is applicable to Ubuntu 18.04. For other Ubuntu versions, modify the preceding installation command based on the installation package name. ## Obtaining Standard-System Source Code @@ -91,8 +91,8 @@ Perform the following operations in the Linux environment: Files generated during the build are stored in the **out/ohos-arm-release/** directory, and the generated image is stored in the **out/ohos-arm-release/packages/phone/images/** directory. - >![](public_sys-resources/icon-note.gif) **NOTE:** - >For details about module-specific build operations, see [Compilation and Building Overview](../subsystems/building-guidelines-for-the-standard-system.md). + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >For details about module-specific build operations, see [Building Guidelines](../subsystems/subsys-build-standard-large.md). -3. Burn the image. For details, see [Burning Images](burning-images.md). +3. Burn the image. For details, see [Burning Images](quickstart-standard-burn.md). diff --git a/en/device-dev/quick-start/setting-up-windows-development-environment.md b/en/device-dev/quick-start/quickstart-standard-windows-environment.md similarity index 93% rename from en/device-dev/quick-start/setting-up-windows-development-environment.md rename to en/device-dev/quick-start/quickstart-standard-windows-environment.md index 4308389e169..c07334b5383 100644 --- a/en/device-dev/quick-start/setting-up-windows-development-environment.md +++ b/en/device-dev/quick-start/quickstart-standard-windows-environment.md @@ -82,12 +82,12 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu ## Installing Visual Studio Code ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If you have installed Visual Studio Code, open the CLT and run **code --version** to check whether the version is 1.53 or later. If the version number is returned, it indicates that the environment variables are set correctly. 1. Double-click the Visual Studio Code package to install it. During the installation, select **Add to PATH \(requires shell restart\)**. - ![](figures/en-us_image_0000001057335403.png) + ![](figure/en-us_image_0000001057335403.png) 2. After the installation is complete, restart the computer for the environment variables of Visual Studio Code to take effect. 3. Open the CLT and run **code --version**. If the version number can be displayed, it indicates that the installation is successful. @@ -96,15 +96,15 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu 1. Double-click the Python software package, select **Add Python xx to PATH**, and click **Install Now**. - ![](figures/en-us_image_0000001096154076.png) + ![](figure/en-us_image_0000001096154076.png) 2. After the installation is complete, click **Close**. - ![](figures/en-us_image_0000001142794291.png) + ![](figure/en-us_image_0000001142794291.png) 3. Open the CLT, and run **python --version** to check the installation result. - ![](figures/en-us_image_0000001143154485.png) + ![](figure/en-us_image_0000001143154485.png) 4. In the CLT, run the following commands to set the pip source for downloading the dependencies required for later installation: @@ -117,13 +117,13 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu ## Installing Node.js ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If you have installed Node.js, open the CLT and run **node -v** to check whether the version is 12.0.0 or later. 1. Run the downloaded software package to install. Use the default settings when following the installation wizard, and click **Next** until **Finish** is displayed. During the installation, Node.js will automatically set the system Path environment variable to the installation directory of **node.exe**. 2. Open the CLT and run **node -v**. If the version number of Node.js is displayed, it indicates that Node.js has been successfully installed. - ![](figures/en-us_image_0000001056814287.png) + ![](figure/en-us_image_0000001056814287.png) ## Installing hpm @@ -132,7 +132,7 @@ Before installing hpm, ensure that Node.js has been installed and that your network can access the Internet. If your network requires a proxy to access the Internet, [set up the npm proxy](https://device.harmonyos.com/cn/docs/ide/user-guides/npm_proxy-0000001054491032) first. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >If hpm has been installed, run **npm update -g @ohos/hpm-cli** to update it to the latest version. 1. You are advised to set the npm source to an image in China, for example, a HUAWEI CLOUD image source. @@ -147,7 +147,7 @@ and that your network can access the Internet. If your network requires a proxy npm install -g @ohos/hpm-cli ``` - ![](figures/en-us_image_0000001073840162.png) + ![](figure/en-us_image_0000001073840162.png) 3. After the installation is complete, run the following command to obtain the installation result: @@ -155,7 +155,7 @@ and that your network can access the Internet. If your network requires a proxy hpm -V ``` - ![](figures/en-us_image_0000001100641602.png) + ![](figure/en-us_image_0000001100641602.png) ## Installing the DevEco Device Tool Plug-in @@ -164,20 +164,20 @@ To install the DevEco Device Tool plug-in, ensure that the **user name of the h DevEco Device Tool will automatically download and install the C/C++ and CodeLLDB plug-ins from the Visual Studio Code Marketplace during the installation process. Therefore, make sure Visual Studio Code can access the Internet. If your network requires a proxy to access the Internet, [set up the Visual Studio Code proxy](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144) first. ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Before installing DevEco Device Tool, ensure that Visual Studio Code is closed. 1. Decompress the DevEco Device Tool plug-in package and double-click the installer to install. 2. During the installation, the dependency files \(such as C/C++ and CodeLLDB plug-ins\) and execution programs required by DevEco Device Tool are automatically installed. - ![](figures/en-us_image_0000001072468991.png) + ![](figure/en-us_image_0000001072468991.png) 3. After the installation is complete, the CLT is automatically closed. -4. Open Visual Studio Code, click the ![](figures/en-us_image_0000001072757874.png) button on the left, and check whether C/C++, CodeLLDB, and DevEco Device Tool are listed in **INSTALLED**. +4. Open Visual Studio Code, click the ![](figure/en-us_image_0000001072757874.png) button on the left, and check whether C/C++, CodeLLDB, and DevEco Device Tool are listed in **INSTALLED**. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the C/C++ and CodeLLDB plug-ins fail to be installed, DevEco Device Tool cannot run properly. To solve the issue, see [Installing the C/C++ and CodeLLDB Plug-ins Offline](https://device.harmonyos.com/en/docs/ide/user-guides/offline_plugin_install-0000001074376846). - ![](figures/en-us_image_0000001142802505.png) + ![](figure/en-us_image_0000001142802505.png) diff --git a/en/device-dev/quick-start/quickstart-standard.md b/en/device-dev/quick-start/quickstart-standard.md new file mode 100644 index 00000000000..2801682ab40 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-standard.md @@ -0,0 +1,15 @@ +# Standard System + +- **[FAQ](quickstart-lite-env-setup-faqs.md)** + +- **[Setting Up Windows Development Environment](quickstart-standard-windows-environment.md)** + +- **[Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](quickstart-standard-docker-environment.md)** + +- **[Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](quickstart-standard-package-environment.md)** + +- **[Burning Images](quickstart-standard-burn.md)** + +- **[FAQs](quickstart-standard-faq.md)** + + diff --git a/en/device-dev/quick-start/quickstart.md b/en/device-dev/quick-start/quickstart.md new file mode 100644 index 00000000000..3f82098be9f --- /dev/null +++ b/en/device-dev/quick-start/quickstart.md @@ -0,0 +1,7 @@ +# Getting Started + +- **[Mini and Small Systems](quickstart-lite.md)** + +- **[Standard System](quickstart-standard.md)** + + diff --git a/en/device-dev/quick-start/standard-system.md b/en/device-dev/quick-start/standard-system.md deleted file mode 100644 index f0aa95fdac2..00000000000 --- a/en/device-dev/quick-start/standard-system.md +++ /dev/null @@ -1,15 +0,0 @@ -# Standard System - -- **[Introduction](introduction.md)** - -- **[Setting Up Windows Development Environment](setting-up-windows-development-environment.md)** - -- **[Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](setting-up-ubuntu-development-environment-in-docker-mode-and-building-source-code.md)** - -- **[Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](setting-up-ubuntu-development-environment-with-installation-package-and-building-source-code.md)** - -- **[Burning Images](burning-images.md)** - -- **[FAQs](faqs-7.md)** - - diff --git a/en/device-dev/security/Readme-EN.md b/en/device-dev/security/Readme-EN.md index 03e75d7a357..09b0d20c442 100644 --- a/en/device-dev/security/Readme-EN.md +++ b/en/device-dev/security/Readme-EN.md @@ -1,5 +1,5 @@ # Privacy and Security -- [Privacy Protection](privacy-protection.md) -- [Security Guidelines](security-guidelines.md) +- [Privacy Protection](oem_security_privacy.md) +- [Security Guidelines](safety-safeguide-security.md) diff --git "a/en/device-dev/security/figures/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" "b/en/device-dev/security/figure/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" similarity index 100% rename from "en/device-dev/security/figures/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" rename to "en/device-dev/security/figure/1-\346\225\217\346\204\237\346\235\203\351\231\220\345\274\271\347\252\227.png" diff --git "a/en/device-dev/security/figures/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" "b/en/device-dev/security/figure/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" similarity index 100% rename from "en/device-dev/security/figures/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" rename to "en/device-dev/security/figure/2-\345\272\224\347\224\250\345\220\257\345\212\250\351\242\204\346\216\210\346\235\203.png" diff --git "a/en/device-dev/security/figures/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" "b/en/device-dev/security/figure/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" similarity index 100% rename from "en/device-dev/security/figures/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" rename to "en/device-dev/security/figure/3-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216.png" diff --git "a/en/device-dev/security/figures/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" "b/en/device-dev/security/figure/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" similarity index 100% rename from "en/device-dev/security/figures/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" rename to "en/device-dev/security/figure/4-\351\232\220\347\247\201\345\243\260\346\230\216\345\217\230\346\233\264\351\200\232\347\237\245.png" diff --git "a/en/device-dev/security/figures/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" "b/en/device-dev/security/figure/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" similarity index 100% rename from "en/device-dev/security/figures/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" rename to "en/device-dev/security/figure/5-\345\272\224\347\224\250\351\232\220\347\247\201\345\243\260\346\230\216\345\205\245\345\217\243.png" diff --git "a/en/device-dev/security/figures/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" "b/en/device-dev/security/figure/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" similarity index 100% rename from "en/device-dev/security/figures/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" rename to "en/device-dev/security/figure/6-1-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" diff --git "a/en/device-dev/security/figures/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" "b/en/device-dev/security/figure/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" similarity index 100% rename from "en/device-dev/security/figures/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" rename to "en/device-dev/security/figure/6-2-\351\232\220\347\247\201\345\243\260\346\230\216\346\222\244\351\224\200.png" diff --git a/en/device-dev/security/figures/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png b/en/device-dev/security/figure/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png similarity index 100% rename from en/device-dev/security/figures/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png rename to en/device-dev/security/figure/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png diff --git a/en/device-dev/security/figures/how-dac-works.png b/en/device-dev/security/figure/how-dac-works.png similarity index 100% rename from en/device-dev/security/figures/how-dac-works.png rename to en/device-dev/security/figure/how-dac-works.png diff --git a/en/device-dev/security/figures/huks-functions.png b/en/device-dev/security/figure/huks-functions.png similarity index 100% rename from en/device-dev/security/figures/huks-functions.png rename to en/device-dev/security/figure/huks-functions.png diff --git a/en/device-dev/security/figures/security-assurance-framework.png b/en/device-dev/security/figure/security-assurance-framework.png similarity index 100% rename from en/device-dev/security/figures/security-assurance-framework.png rename to en/device-dev/security/figure/security-assurance-framework.png diff --git a/en/device-dev/security/privacy-protection.md b/en/device-dev/security/oem_security_privacy.md similarity index 98% rename from en/device-dev/security/privacy-protection.md rename to en/device-dev/security/oem_security_privacy.md index c386470726a..0a3e53c1d82 100644 --- a/en/device-dev/security/privacy-protection.md +++ b/en/device-dev/security/oem_security_privacy.md @@ -141,26 +141,26 @@ When collecting personal data, clearly and explicitly notify users of the data t **Figure 1** Examples of a privacy notice and a privacy statement - ![](figures/2-应用启动预授权.png)![](figures/3-应用隐私声明.png) + ![](figure/2-应用启动预授权.png)![](figure/3-应用隐私声明.png) - Personal data shall be collected for specified, explicit, and legitimate purposes and not further processed in a manner that is incompatible with those purposes. If the purposes are changed or a user withdraws their consent, you shall obtain user consent again before using the data. The figures below are examples of a privacy statement update and content withdrawal, respectively. **Figure 2** Example dialog showing a privacy statement update - ![](figures/4-隐私声明变更通知.png) + ![](figure/4-隐私声明变更通知.png) **Figure 3** Example dialog showing consent withdrawal - ![](figures/6-1-隐私声明撤销.png)![](figures/6-2-隐私声明撤销.png) + ![](figure/6-1-隐私声明撤销.png)![](figure/6-2-隐私声明撤销.png) - You shall provide an entry for users to view the privacy statement. For example, you can provide an entry on the **About** page of your application to view the privacy statement, as shown in the following figure. **Figure 4** Example of About page providing an entry to the privacy statement - ![](figures/5-应用隐私声明入口.png) + ![](figure/5-应用隐私声明入口.png) **Minimization in Data Collection and Use** @@ -184,7 +184,7 @@ You shall obtain consent from users and comply with applicable laws and regulati **Figure 5** Example dialog for requesting a sensitive permission - ![](figures/1-敏感权限弹窗.png) + ![](figure/1-敏感权限弹窗.png) - Users shall have the right to modify or withdraw the permissions granted to your product. When a user does not agree to a permission or data collection, the user shall be allowed to use the functions irrelevant to the permission or data collection. For example, the user can refuse to grant the camera permission to social or communication apps on Smart TVs, when using product functions irrelevant to the camera, such as voice calls. - In scenarios where personal data is recorded, users shall be provided with the functions of adding, deleting, modifying, and viewing personal data. @@ -195,9 +195,9 @@ You shall obtain consent from users and comply with applicable laws and regulati Data processing security shall be ensured in technical terms, which include encrypted data storage and secure data transfer. Security mechanisms or measures shall be enabled by default for a system. -- A protection mechanism shall be available for personal data access, including identity authentication and access control. Identity authentication \(such as username and password\) allows only authenticated users to access data in multi-user scenarios. Access control \(for example, [permission control](security-guidelines.md#li201725506375)\) can be applied to restrict access to applications. +- A protection mechanism shall be available for personal data access, including identity authentication and access control. Identity authentication \(such as username and password\) allows only authenticated users to access data in multi-user scenarios. Access control \(for example, [permission control](security/safety-safeguide-security.md#li201725506375)\) can be applied to restrict access to applications. - Secure storage of personal data on distributed devices must meet Huawei Universal Keystore \(HUKS\) requirements, including secure storage of keys and data. -- The transfer of personal data between distributed devices must meet the trust binding relationship between devices and security requirements of data transmission channels. For details, see [Security Guidelines](security-guidelines.md#section26153183616). +- The transfer of personal data between distributed devices must meet the trust binding relationship between devices and security requirements of data transmission channels. For details, see [Security Guidelines](security/safety-safeguide-security.md#section26153183616). - Authentication data \(such as passwords and fingerprints\) shall be encrypted before being stored. **Localization** diff --git a/en/device-dev/security/public_sys-resources/icon-caution.gif b/en/device-dev/security/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/security/public_sys-resources/icon-danger.gif b/en/device-dev/security/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/security/public_sys-resources/icon-note.gif b/en/device-dev/security/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/security/public_sys-resources/icon-notice.gif b/en/device-dev/security/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/security/security-guidelines.md b/en/device-dev/security/safety-safeguide-security.md similarity index 96% rename from en/device-dev/security/security-guidelines.md rename to en/device-dev/security/safety-safeguide-security.md index e82aa5c28bd..bc0933021d4 100644 --- a/en/device-dev/security/security-guidelines.md +++ b/en/device-dev/security/safety-safeguide-security.md @@ -2,18 +2,22 @@ - [Overview](#section1521410017353) - [Hardware Security](#section2558121318351) -- [Mechanism](#section1312953842210) -- [Recommended Practices](#section37901319112311) + - [Mechanism](#section1399511541896) + - [Recommended Practices](#section948519243104) + - [System Security](#section87802111361) -- [Mechanism](#section1654963052914) -- [Recommended Practices](#section45821048173613) + - [Mechanism](#section149107611118) + - [Recommended Practices](#section1364122019112) + - [Data Security](#section2468927364) -- [Mechanism](#section11192175813293) -- [Recommended Practices](#section174640713306) + - [Mechanism](#section1378993720111) + - [Recommended Practices](#section1531735481112) + - [Device Interconnection Security](#section26153183616) - [Application Security](#section852593153614) -- [Mechanism](#section12125105014377) -- [Recommended Practices](#section1641420155381) + - [Mechanism](#section55012136125) + - [Recommended Practices](#section6341102610123) + ## Overview @@ -22,11 +26,11 @@ OpenHarmony is an open OS that allows you to easily develop services and applica This environment combines chip security and system security features with upper-layer security services to secure hardware, the system, data, device interconnection, applications, and updates. **Figure 1** Security assurance framework -![](figures/security-assurance-framework.png "security-assurance-framework") +![](figure/security-assurance-framework.png "security-assurance-framework") ## Hardware Security -## Mechanism +### Mechanism - Boot root of trust @@ -53,7 +57,7 @@ This environment combines chip security and system security features with upper- OpenHarmony devices support the hardware key engine, which allows OpenHarmony to perform computing tasks such as data encryption and decryption, certificate signature verification, and hash value calculation. The hardware key engine supports popular algorithms such as Advanced Encryption Standard \(AES\) and Rivest-Shamir-Adleman \(RSA\). -## Recommended Practices +### Recommended Practices - The boot root of trust consists of a built-in code segment in the chip and the root key of the device. The root of trust is written into the chip during manufacturing and cannot be modified in the device lifecycle. It is used to verify software certificates in the device boot process. The root key is the public key matching the private key of the device certificate signature. The private key is maintained on the PKI signature server and the public key is written to the device. To prevent attackers from tampering with the public key to bypass signature authentication, you can write the public key to media such as fuses on OpenHarmony devices. Considering that the fuse space is limited, you can store only the hash value of the public key in the fuse and verify the validity of the public key using the boot code. - Generally, a trusted execution environment \(TEE\) is built based on the Arm TrustZone technology, and can also adopt other isolation mechanisms, such as TrustZone-M and independent security cores, depending on the device form. A TEE OS must be deployed in the TEE to manage resources and schedule tasks. OpenHarmony provides iTrustee as the TEE OS. You can develop and deploy security services based on iTrustee. @@ -64,7 +68,7 @@ This environment combines chip security and system security features with upper- ## System Security -## Mechanism +### Mechanism For devices with 128 KB to 128 MB of memory, the OpenHarmony lite kernel is recommended. It provides the following features: @@ -85,7 +89,7 @@ For devices with 128 KB to 128 MB of memory, the OpenHarmony lite kernel is reco The following figure shows how DAC works when a process accesses a file. The DAC first matches the process UID with the file UID, and then the process GID with the file GID. If the UID and GID both fail to match, DAC checks the **other** attribute of the file to determine whether the process is allowed to read, write, or execute the file. In addition, the system supports a privileged capability that is not subject to DAC mechanism \(read, write, and execute\) and can access files directly. Services with high permissions \(such as system services\) can manage files of applications with low permissions \(such as third-party applications\). **Figure 2** How DAC works - ![](figures/how-dac-works.png "how-dac-works") + ![](figure/how-dac-works.png "how-dac-works") - Capability mechanism @@ -98,19 +102,19 @@ For devices with 128 KB to 128 MB of memory, the OpenHarmony lite kernel is reco The chip does not need to be verified after it is powered on because the on-chip ROM code cannot be modified. The on-chip ROM verifies the bootloader based on the public key hash value which is calculated using the asymmetric algorithm in eFuse. The verification is performed based on the hardware trust root and is fully trusted. The bootloader that passes this verification is deemed to be trusted for subsequent use. This is the process of constructing a trust chain. Bootloader initializes the execution environment, including initializing the double data rate \(DDR\) and reading and writing the flash memory, to prepare for loading modules and executing more complex logic. After the bootloader is initialized, it verifies the integrity of the X.509 certificate and verifies image packages \(**kernel.bin**, **teeOS.bin**, and **rootfs.bin**\) using the public key of the X.509 certificate. -## Recommended Practices +### Recommended Practices - DAC and the capability mechanism are used to control who can access resources. It is recommended that the minimum permissions are granted. - Secure boot must be enabled, and the trusted root must be in the chip and cannot be modified. In addition, you must consider the impact of secure upgrade \(if available\) on secure boot, that is, the signature or hash value of an image file must be updated after a secure upgrade. ## Data Security -## Mechanism +### Mechanism Huawei Universal Keystore Service \(HUKS\) provides key and certificate management. For OpenHarmony, it mainly provides key management for HiChain \(the device identity authentication platform\). The following figure shows the functions of HUKS **Figure 3** HUKS functions -![](figures/huks-functions.png "huks-functions") +![](figure/huks-functions.png "huks-functions") The following algorithms are supported: @@ -126,7 +130,7 @@ HUKS has the following restrictions: - Key access security: OpenHarmony stores different data of an application separately to implement data isolation in the application, and includes the UID and process ID in the parameter structure to implement data isolation between different applications. - Concurrent access is not supported, that is, multiple applications cannot invoke HUKS simultaneously. As HUKS is a single library, resource exclusion is not a concern. If multiple applications need to use HUKS, each of them needs to connect to a HUKS library and pass a path for storing data. Data is stored in the directory of each application. -## Recommended Practices +### Recommended Practices To use the device certification function, it is recommended that you use HiChain to interconnect with HUKS. HUKS provides applications such as HiChain with key generation, import, export, encryption/decryption, storage, and destruction, certificate import and query, and secret information storage. @@ -135,7 +139,7 @@ To use the device certification function, it is recommended that you use HiChain To transmit user data securely between devices, ensure that the devices are trusted by each other. A trust relationship and a secure data transmission channel must be established between the devices. This section describes how an IoT controller and IoT device establish a trust relationship. The following figure shows how an IoT controller and an IoT device establish a trust relationship. **Figure 4** How an IoT controller and an IoT device establish a trust relationship -![](figures/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png "how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship") +![](figure/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png "how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship") - **IoT device interconnection security** @@ -168,7 +172,7 @@ To transmit user data securely between devices, ensure that the devices are trus ## Application Security -## Mechanism +### Mechanism - Application signature management @@ -265,7 +269,7 @@ To transmit user data securely between devices, ensure that the devices are trus
    -## Recommended Practices +### Recommended Practices When developing an application, determine what permissions your application needs and register the permissions in the **profile.json** file. Sign the application to ensure that the devices on which the application will be installed can verify its integrity and source. diff --git a/en/device-dev/subsystems/Readme-EN.md b/en/device-dev/subsystems/Readme-EN.md index 4af4610ea81..e25ab80a3cc 100644 --- a/en/device-dev/subsystems/Readme-EN.md +++ b/en/device-dev/subsystems/Readme-EN.md @@ -1,95 +1,74 @@ -# Subsystems - -- [Compilation and Building](compilation-and-building.md) - - [Building Guidelines for Mini and Small Systems](building-guidelines-for-mini-and-small-systems.md) - - [Compilation and Building Overview](compilation-and-building-overview.md) - - [Compilation and Building Guidelines](compilation-and-building-guidelines.md) - - [Compilation and Building FAQ](compilation-and-building-faq.md) - - - [Building Guidelines for the Standard System](building-guidelines-for-the-standard-system.md) - - [Compilation and Building Overview](compilation-and-building-overview-0.md) - - [Compilation and Building Guidelines](compilation-and-building-guidelines-1.md) - -- [Distributed Remote Startup](distributed-remote-startup.md) -- [Graphics](graphics.md) - - [Graphics](graphics-2.md) - - [Development Guidelines on Container Components](development-guidelines-on-container-components.md) - - [Development Guidelines on Layout Container Components](development-guidelines-on-layout-container-components.md) - - [Development Guidelines on Common Components](development-guidelines-on-common-components.md) - - [Development Guidelines on Animators](development-guidelines-on-animators.md) - -- [Multimedia](multimedia.md) - - [Camera](camera.md) - - [Overview](overview.md) - - [Development Guidelines on Photographing](development-guidelines-on-photographing.md) - - [Development Guidelines on Video Recording](development-guidelines-on-video-recording.md) - - [Development Guidelines on Previewing](development-guidelines-on-previewing.md) - - - [Audio/Video](audio-video.md) - - [Overview](overview-3.md) - - [Development Guidelines on Media Playback](development-guidelines-on-media-playback.md) - - [Development Guidelines on Media Recording](development-guidelines-on-media-recording.md) - -- [Utils](utils.md) - - [Utils Overview](utils-overview.md) - - [Utils Development Guidelines](utils-development-guidelines.md) - - [Utils FAQ](utils-faq.md) - -- [AI Framework](ai-framework.md) - - [AI Engine Framework](ai-engine-framework.md) - - [Development Environment](development-environment.md) - - [Technical Specifications](technical-specifications.md) - - [Code Management](code-management.md) - - [Naming](naming.md) - - [API Development](api-development.md) - - - [Development Guidelines](development-guidelines.md) - - [SDK](sdk.md) - - [Plug-in](plug-in.md) - - [Configuration File](configuration-file.md) - - - [Development Examples](development-examples.md) - - [KWS SDK](kws-sdk.md) - - [KWS Plug-in](kws-plug-in.md) - - [KWS Configuration File](kws-configuration-file.md) - -- [Sensors](sensors.md) - - [Sensors Overview](sensors-overview.md) - - [Sensors Usage Guidelines](sensors-usage-guidelines.md) - - [Sensors Usage Example](sensors-usage-example.md) - -- [Application Framework](application-framework.md) - - [Overview](overview-4.md) - - [Setting Up a Development Environment](setting-up-a-development-environment.md) - - [Development Guidelines](development-guidelines-5.md) - - [Development Example](development-example.md) - -- [OTA Upgrade](ota-upgrade.md) -- [Security](security.md) - - [Overview](overview-9.md) - - [Development Guidelines on Application Signature Verification](development-guidelines-on-application-signature-verification.md) - - [Development Guidelines on Application Permission Management](development-guidelines-on-application-permission-management.md) - - [Development Guidelines on IPC Authentication](development-guidelines-on-ipc-authentication.md) - -- [Startup](startup.md) - - [Startup](startup-10.md) - - [init Module](init-module.md) - - [appspawn Module](appspawn-module.md) - - [bootstrap Module](bootstrap-module.md) - - [syspara Module](syspara-module.md) - - [FAQs](faqs.md) - - [Reference](reference.md) - -- [Testing](testing.md) -- [DFX](dfx.md) - - [DFX](dfx-11.md) - - [Development Guidelines on HiLog ](development-guidelines-on-hilog.md) - - [Development Guidelines on HiLog\_Lite](development-guidelines-on-hilog_lite.md) - - [Development Guidelines on HiSysEvent](development-guidelines-on-hisysevent.md) - -- [R&D Tools](r-d-tools.md) - - [bytrace Usage Guidelines](bytrace-usage-guidelines.md) - - [hdc\_std Usage Guidelines](hdc_std-usage-guidelines.md) - -- [XTS](xts.md) - +# Subsystems + +- [Compilation and Building](subsys-build.md) + - [Building Guidelines for Mini and Small Systems](subsys-build-mini-lite.md) + - [Building Guidelines for Standard Systems](subsys-build-standard-large.md) +- [Distributed Remote Startup](subsys-remote-start.md) +- [Graphics](subsys-graphics.md) + - [Graphics](subsys-graphics-overview.md) + - [Development Guidelines on Container Components](subsys-graphics-bundle-guide1.md) + - [Development Guidelines on Layout Container Components](subsys-graphics-bundle-guide2.md) + - [Development Guidelines on Common Components](subsys-graphics-bundle-guide3.md) + - [Development Guidelines on Animators](subsys-graphics-animation-guide.md) +- [Multimedia](subsys-multimedia.md) + - [Camera](subsys-multimedia-camera.md) + - [Overview](subsys-multimedia-camera-overview.md) + - [Development Guidelines on Photographing](subsys-multimedia-camera-photo-guide.md) + - [Development Guidelines on Video Recording](subsys-multimedia-camera-record-guide.md) + - [Development Guidelines on Previewing](subsys-multimedia-camera-preview-guide.md) + - [Audio/Video](subsys-multimedia-video.md) + - [Overview](subsys-multimedia-video-overview.md) + - [Development Guidelines on Media Playback](subsys-multimedia-video-play-guide.md) + - [Development Guidelines on Media Recording](subsys-multimedia-video-record-guide.md) +- [Utils](subsys-utils.md) + - [Utils Overview](oem_subsys_utils_des.md) + - [Utils Development Guidelines](oem_subsys_utils_guide.md) + - [Utils FAQ](oem_subsys_utils_faq.md) +- [AI Framework](subsys-aiframework.md) + - [AI Engine Framework](subsys-aiframework-guide.md) + - [Development Environment](subsys-aiframework-envbuild.md) + - [Technical Specifications](subsys-aiframework-tech.md) + - [Code Management](subsys-aiframework-tech-codemanage.md) + - [Naming](subsys-aiframework-tech-name.md) + - [API Development](subsys-aiframework-tech-interface.md) + - [Development Guidelines](subsys-aiframework-devguide.md) + - [SDK](subsys-aiframework-devguide-sdk.md) + - [Plug-in](subsys-aiframework-devguide-plugin.md) + - [Configuration File](subsys-aiframework-devguide-conf.md) + - [Development Examples](subsys-aiframework-demo.md) + - [KWS SDK](subsys-aiframework-demo-sdk.md) + - [KWS Plug-in](subsys-aiframework-demo-plugin.md) + - [KWS Configuration File](subsys-aiframework-demo-conf.md) +- [Sensors](subsys-densor.md) + - [Sensors Overview](subsys-densor-overview.md) + - [Sensors Usage Guidelines](subsys-densor-guide.md) + - [Sensors Usage Example](subsys-densor-demo.md) +- [Application Framework](subsys-application-framework.md) + - [Overview](subsys-application-framework-overview.md) + - [Setting Up a Development Environment](subsys-application-framework-builden.md) + - [Development Guidelines](subsys-application-framework-guide.md) + - [Development Example](subsys-application-framework-demo.md) +- [OTA Upgrade](subsys-ota-guide.md) +- [Security](subsys-security.md) + - [Overview](subsys-security-overview.md) + - [Development Guidelines on Application Signature Verification](subsys-security-sigverify.md) + - [Development Guidelines on Application Permission Management](subsys-security-rightmanagement.md) + - [Development Guidelines on IPC Authentication](subsys-security-communicationverify.md) +- [Startup](subsys-boot.md) + - [Startup](subsys-boot-overview.md) + - [init Module](subsys-boot-init.md) + - [appspawn Module](subsys-boot-appspawn.md) + - [bootstrap Module](subsys-boot-bootstrap.md) + - [syspara Module](subsys-boot-syspara.md) + - [FAQs](subsys-boot-faqs.md) + - [Reference](subsys-boot-ref.md) +- [Testing](subsys-testguide-test.md) +- [DFX](subsys-dfx.md) + - [DFX](subsys-dfx-overview.md) + - [Development Guidelines on HiLog ](subsys-dfx-hilog-rich.md) + - [Development Guidelines on HiLog\_Lite](subsys-dfx-hilog-lite.md) + - [Development Guidelines on HiSysEvent](subsys-dfx-hisysevent.md) +- [R&D Tools](subsys-toolchain.md) + - [bytrace Usage Guidelines](subsys-toolchain-bytrace-guide.md) + - [hdc\_std Usage Guidelines](oem_subsys_toolchain_hdc_guide.md) +- [XTS](subsys-xts-guide.md) \ No newline at end of file diff --git a/en/device-dev/subsystems/ai-framework.md b/en/device-dev/subsystems/ai-framework.md deleted file mode 100644 index 87f4c6a5f26..00000000000 --- a/en/device-dev/subsystems/ai-framework.md +++ /dev/null @@ -1,13 +0,0 @@ -# AI Framework - -- **[AI Engine Framework](ai-engine-framework.md)** - -- **[Development Environment](development-environment.md)** - -- **[Technical Specifications](technical-specifications.md)** - -- **[Development Guidelines](development-guidelines.md)** - -- **[Development Examples](development-examples.md)** - - diff --git a/en/device-dev/subsystems/application-framework.md b/en/device-dev/subsystems/application-framework.md deleted file mode 100644 index d58ed3003a0..00000000000 --- a/en/device-dev/subsystems/application-framework.md +++ /dev/null @@ -1,11 +0,0 @@ -# Application Framework - -- **[Overview](overview-4.md)** - -- **[Setting Up a Development Environment](setting-up-a-development-environment.md)** - -- **[Development Guidelines](development-guidelines-5.md)** - -- **[Development Example](development-example.md)** - - diff --git a/en/device-dev/subsystems/audio-video.md b/en/device-dev/subsystems/audio-video.md deleted file mode 100644 index 16e2f5b0835..00000000000 --- a/en/device-dev/subsystems/audio-video.md +++ /dev/null @@ -1,9 +0,0 @@ -# Audio/Video - -- **[Overview](overview-3.md)** - -- **[Development Guidelines on Media Playback](development-guidelines-on-media-playback.md)** - -- **[Development Guidelines on Media Recording](development-guidelines-on-media-recording.md)** - - diff --git a/en/device-dev/subsystems/building-guidelines-for-mini-and-small-systems.md b/en/device-dev/subsystems/building-guidelines-for-mini-and-small-systems.md deleted file mode 100644 index d19baae1474..00000000000 --- a/en/device-dev/subsystems/building-guidelines-for-mini-and-small-systems.md +++ /dev/null @@ -1,9 +0,0 @@ -# Building Guidelines for Mini and Small Systems - -- **[Compilation and Building Overview](compilation-and-building-overview.md)** - -- **[Compilation and Building Guidelines](compilation-and-building-guidelines.md)** - -- **[Compilation and Building FAQ](compilation-and-building-faq.md)** - - diff --git a/en/device-dev/subsystems/building-guidelines-for-the-standard-system.md b/en/device-dev/subsystems/building-guidelines-for-the-standard-system.md deleted file mode 100644 index bbc92d83896..00000000000 --- a/en/device-dev/subsystems/building-guidelines-for-the-standard-system.md +++ /dev/null @@ -1,7 +0,0 @@ -# Building Guidelines for the Standard System - -- **[Compilation and Building Overview](compilation-and-building-overview-0.md)** - -- **[Compilation and Building Guidelines](compilation-and-building-guidelines-1.md)** - - diff --git a/en/device-dev/subsystems/camera.md b/en/device-dev/subsystems/camera.md deleted file mode 100644 index 4d38a63f4b5..00000000000 --- a/en/device-dev/subsystems/camera.md +++ /dev/null @@ -1,11 +0,0 @@ -# Camera - -- **[Overview](overview.md)** - -- **[Development Guidelines on Photographing](development-guidelines-on-photographing.md)** - -- **[Development Guidelines on Video Recording](development-guidelines-on-video-recording.md)** - -- **[Development Guidelines on Previewing](development-guidelines-on-previewing.md)** - - diff --git a/en/device-dev/subsystems/compilation-and-building-faq.md b/en/device-dev/subsystems/compilation-and-building-faq.md deleted file mode 100644 index 7c90a77cafe..00000000000 --- a/en/device-dev/subsystems/compilation-and-building-faq.md +++ /dev/null @@ -1,121 +0,0 @@ -# Compilation and Building FAQ - -- [Invalid -- w option](#section1019152312222) -- [Ncurses library not found](#section21449422618) -- [Mcopy not found](#section12477184992615) -- [No riscv file or directory](#section178451337202716) -- [No Crypto](#section1241481172819) -- [Unexpected operator](#section3691222152919) - -## Invalid -- w option - -- **Problem** - - The compilation fails, and **usr/sbin/ninja: invalid option -- w** is displayed. - -- **Cause** - - The Ninja version in the compilation environment is outdated and does not support the **--w** option. - -- **Solution** - - Uninstall Ninja and GN and follow the instructions provided in [Acquiring Tools](../get-code/tool-acquisition.md) to obtain the provided compilation toolchain. - - -## Ncurses library not found - -- **Problem** - - The compilation fails, and **/usr/bin/ld: cannot find -lncurses** is displayed. - -- **Cause** - - The ncurses library is not installed. - -- **Solution** - - ``` - sudo apt-get install lib32ncurses5-dev - ``` - - -## Mcopy not found - -- **Problem** - - The compilation fails, and **line 77: mcopy: command not found** is displayed. - -- **Cause** - - Mcopy is not installed. - -- **Solution** - - ``` - ​sudo apt-get install dosfstools mtools - ``` - - -## No riscv file or directory - -- **Problem** - - The compilation fails, and the following information is displayed: **riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory**. - -- **Cause** - - Permission is required to access files in the **riscv** compiler path. - -- **Solution** - 1. Run the following command to query the directory where **gcc\_riscv32** is located: - - ``` - which riscv32-unknown-elf-gcc - ``` - - 2. Run the **chmod** command to change the directory permission to **755**. - - -## No Crypto - -- **Problem** - - The compilation fails, and **No module named'Crypto loaded** is displayed. - -- **Cause** - - Crypto is not installed in Python 3. - -- **Solution** - 1. Run the following command to query the Python version: - - ``` - python3 --version - ``` - - 2. Ensure that Python 3.7 or later is installed, and then run the following command to install pycryptodome: - - ``` - sudo pip3 install pycryptodome - ``` - - - -## Unexpected operator - -- **Problem** - - The compilation fails, and **xx.sh \[: xx unexpected operator** is displayed. - -- **Cause** - - The compilation environment is shell instead of bash. - -- **Solution** - - ``` - sudo rm -rf /bin/sh - sudo ln -s /bin/bash /bin/sh - ``` - - diff --git a/en/device-dev/subsystems/compilation-and-building-guidelines.md b/en/device-dev/subsystems/compilation-and-building-guidelines.md deleted file mode 100644 index e89b07bebaa..00000000000 --- a/en/device-dev/subsystems/compilation-and-building-guidelines.md +++ /dev/null @@ -1,430 +0,0 @@ -# Compilation and Building Guidelines - -- [Prerequisites](#section13333171022312) -- [How to Use the hb Command Line Tool](#section477242204612) -- [Adding a Module](#section4207112818418) -- [Adding a Chipset Solution](#section2737141421917) -- [Adding a Product Solution](#section720881917199) - -## Prerequisites - -Ensure that the development environment has GN, Ninja, Python 3.7.4 or later, and hb commands. For details about installation methods, see [Basic OS Environment Setup](../quick-start/environment-setup.md). - -## How to Use the hb Command Line Tool - -hb is a command line tool for OpenHarmony to execute build commands. Common hb commands are described as follows: - -1. **hb set** - - ``` - hb set -h - usage: hb set [-h] [-root [ROOT_PATH]] [-p] - - optional arguments: - -h, --help show this help message and exit - -root [ROOT_PATH], --root_path [ROOT_PATH] - Set OHOS root path - -p, --product Set OHOS board and kernel - ``` - - - If you run **hb set** with no argument, the default setting process starts. - - You can run **hb set -root** _dir_ to set the root directory of the source code. - - **hb set -p** is used to set the product to build. - -2. **hb env** - - View the current configuration. - - ``` - hb env - [OHOS INFO] root path: xxx - [OHOS INFO] board: hispark_taurus - [OHOS INFO] kernel: liteos - [OHOS INFO] product: ipcamera - [OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera - [OHOS INFO] device path: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19 - ``` - -3. **hb build** - - ``` - hb build -h - usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]] - [--dmverity] [-p PRODUCT] [-f] [-n] - [component [component ...]] - - positional arguments: - component name of the component - - optional arguments: - -h, --help show this help message and exit - -b BUILD_TYPE, --build_type BUILD_TYPE - release or debug version - -t [TEST [TEST ...]], --test [TEST [TEST ...]] - compile test suit - --dmverity Enable dmverity - -p PRODUCT, --product PRODUCT - build a specified product with - {product_name}@{company}, eg: ipcamera@hisilcon - -f, --full full code compilation - -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]] - Compile single target - ``` - - - If you run **hb build** with no argument, the previously configured code directory, product, and options are used for the build. The **-f** option will delete all products to be built, which is equivalent to running **hb clean** and **hb build**. - - You can run **hb build** _\{module\_name\}_ to build product modules separately based on the development board and kernel set for the product, for example, **hb build kv\_store**. - - You can run **hb build -p ipcamera@hisilicon** to skip the setting step and compile the product directly. - - You can run **hb build** in **device/device\_company/board** to select the kernel and start the build based on the current development board and the selected kernel to generate an image that contains the kernel and driver only. - -4. **hb clean** - - Clear the build result of the product in the **out** directory, and retain the **args.gn** and **build.log** files only. To clear files in a specified directory, add the directory parameter to the command, for example, **hb clean out/xxx/xxx**. - - ``` - hb clean - usage: hb clean [-h] [out_path] - - positional arguments: - out_path clean a specified path. - - optional arguments: - -h, --help show this help message and exit - ``` - - -## Adding a Module - -To add a module, determine the subsystem to which the module belongs and the module name, and then perform the following steps: - -1. Add the module build script after the source code development is complete. - - The following example adds the **BUILD.gn** script \(stored in the **applications/sample/hello\_world** directory\) to build the **hello\_world** module \(as an executable file\). - - ``` - executable("hello_world") { - include_dirs = [ - "include", - ] - sources = [ - "src/hello_world.c" - ] - } - ``` - - The added script is used to build **hello\_world** that can run on OpenHarmony. - - To build the preceding module separately, select a product via the **hb set** command and run the **-T** command. - - ``` - hb build -f -T //applications/sample/hello_world - ``` - - After the module functions are verified based on the development board, perform steps 2 to 5 to configure the module for the product. - -2. Add the module description. - - The module description is stored in the **build/lite/components** directory. New modules must be added to the JSON file of the corresponding subsystem. A module description must contain the following fields: - - - **module**: name of the module - - **description**: brief description of the module - - **optional**: whether the module is optional - - **dirs**: source code directory of the module - - **targets**: module build entry - - For example, to add the **hello\_world** module to the application subsystem, add the **hello\_world** object to the **applications.json** file. - - ``` - { - "components": [ - { - "component": "hello_world", - "description": "Hello world.", - "optional": "true", - "dirs": [ - "applications/sample/hello_world" - ], - "targets": [ - "//applications/sample/hello_world" - ] - }, - ... - ] - } - ``` - -3. Configure the module for the product. - - The **config.json** file is stored in the **vendor/company/product/** directory. The file must contain the product name, OpenHarmony version, device vendor, development board, kernel type, kernel version, and the subsystem and module to configure. The following example adds the **hello\_world** module to the **my\_product.json** configuration file: - - ``` - { - "product_name": "hello_world_test", - "ohos_version": "OpenHarmony 1.0", - "device_company": "hisilicon", - "board": "hispark_taurus", - "kernel_type": "liteos_a", - "kernel_version": "1.0.0", - "subsystems": [ - { - "subsystem": "applications", - "components": [ - { "component": "hello_world", "features":[] } - ] - }, - ... - ] - } - ``` - -4. Build the product. - - 1. Run the **hb set** command in the root code directory to select the corresponding product. - - 2. Run the **hb build** command. - - -## Adding a Chipset Solution - -The Compilation and Building subsystem allows you to add a chipset solution. Detailed operations are as follows: - -1. Create a directory for the chipset solution. - - Taking the RTL8720 development board of chipset provider Realtek for example, you need to run the following command in the root code directory to create a directory for the chipset solution based on [1-Configuration Rules for Modules, Chipset Solutions, and Product Solutions](compilation-and-building-overview.md#section1625463413327). - - ``` - mkdir -p device/realtek/rtl8720 - ``` - -2. Create a directory for kernel adaptation and build the **config.gni** file of the development board. - - The following example adapts the LiteOS Cortex-M kernel to the RTL8720 development board of Realtek. The **device/realtek/rtl8720/liteos\_a/config.gni** file is configured as follows: - - ``` - # Kernel type, e.g. "linux", "liteos_a", "liteos_m". - kernel_type = "liteos_a" - - # Kernel version. - kernel_version = "3.0.0" - - # Board CPU type, e.g. "cortex-a7", "riscv32". - board_cpu = "real-m300" - - # Board arch, e.g. "armv7-a", "rv32imac". - board_arch = "" - - # Toolchain name used for system compiling. - # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. - # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. - board_toolchain = "gcc-arm-none-eabi" - - # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. - board_toolchain_path = - rebase_path("//prebuilts/gcc/linux-x86/arm/gcc-arm-none-eabi/bin", - root_build_dir) - - # Compiler prefix. - board_toolchain_prefix = "gcc-arm-none-eabi-" - - # Compiler type, "gcc" or "clang". - board_toolchain_type = "gcc" - - # Board related common compile flags. - board_cflags = [] - board_cxx_flags = [] - board_ld_flags = [] - ``` - -3. Build the script. - - Create the **BUILD.gn** file in the development board directory. The target name must be the same as that of the development board. Taking the RTL8720 development board of Realtek as an example, the content in the **device/realtek/rtl8720/BUILD.gn** file is configured as follows: - - ``` - group("rtl8720") { # The target can be shared_library, static_library, or an executable file. - # Content - ...... - } - ``` - -4. Build the chipset solution. - - Run the **hb build** command in the development board directory to start the build. - - -## Adding a Product Solution - -The Compilation and Building subsystem supports flexible assembly of chipset solutions and modules to customize desired product solutions. The operation procedure is as follows: - -1. Create a product directory. - - Taking the Wi-Fi IoT module based on the RTL8720 development board as an example, you need to run the following command in the root code directory to create a product directory based on [1-Configuration Rules for Modules, Chipset Solutions, and Product Solutions](compilation-and-building-overview.md#section1625463413327). - - ``` - mkdir -p vendor/my_company/wifiiot - ``` - -2. Assemble the product. - - Create the **config.json** file in the product directory. Taking the Wi-Fi IoT module as an example, the **vendor/my\_company/wifiiot/config.json** file is as follows: - - ``` - { - "product_name": "wifiiot", # Product name - "ohos_version": "OpenHarmony 1.0", # In-use OS version - "device_company": "realtek", # Name of the chipset solution vendor - "board": "rtl8720", # Name of the development board - "kernel_type": "liteos_m", # Selected kernel type - "kernel_version": "3.0.0", # Selected kernel version - "subsystems": [ - { - "subsystem": "kernel", # Selected subsystem - "components": [ - { "component": "liteos_m", "features":[] } # Selected module and its features - ] - }, - ... - { - More subsystems and modules - } - ] - } - ``` - - Before the build, the Compilation and Building subsystem will check the validity of fields, including **device\_company**, **board**, **kernel\_type**, **kernel\_version**, **subsystem**, and **component**. The first four fields and the latter two fields must match the current chipset solution and the module description in the **build/lite/components** file, respectively. - -3. Implement adaptation of OS APIs. - - Create the **hals** directory in the product directory and store the source code as well as the build script for OS adaptation in this directory. - -4. Configure the system service. - - Create the **init\_configs** directory in the product directory and then the **init.cfg** file in the newly created directory. You can configure the system service to be started on demand. - -5. Configure the init process \(only for the Linux kernel\). - - You need to create the **etc** directory in the **init\_configs** directory, and then the **init.d** folder as well as the **fstab** file in the newly created directory. In addition, you need to create the **rcS** and **Sxxx** files in the **init.d** file and edit them based on product requirements. - -6. Configure the file system image \(required only for the development board that supports the file system\). - - Create the **fs.yml** file in the product directory and configure it as required. A typical **fs.yml** file is configured as follows: - - ``` - - - fs_dir_name: rootfs # Image name - fs_dirs: - - - # Copy the files in the out/my_board/my_product/bin directory to the rootfs/bin directory and ignore the .bin files related to testing. - source_dir: bin - target_dir: bin - ignore_files: - - Test.bin - - TestSuite.bin - - - # Copy the files in the out/my_board/my_product/libs directory to the rootfs/lib directory, ignore all .a files, and set the permissions on the files and folders to 644 and 755, respectively. - source_dir: libs - target_dir: lib - ignore_files: - - .a - dir_mode: 755 - file_mode: 644 - - - source_dir: usr/lib - target_dir: usr/lib - ignore_files: - - .a - dir_mode: 755 - file_mode: 644 - - - source_dir: config - target_dir: etc - - - source_dir: system - target_dir: system - - - source_dir: sbin - target_dir: sbin - - - source_dir: usr/bin - target_dir: usr/bin - - - source_dir: usr/sbin - target_dir: usr/sbin - - - # Create an empty proc directory. - target_dir: proc - - - target_dir: mnt - - - target_dir: opt - - - target_dir: tmp - - - target_dir: var - - - target_dir: sys - - - source_dir: etc - target_dir: etc - - - source_dir: vendor - target_dir: vendor - - - target_dir: storage - - fs_filemode: - - - file_dir: lib/ld-uClibc-0.9.33.2.so - file_mode: 555 - - - file_dir: lib/ld-2.24.so - file_mode: 555 - - - file_dir: etc/init.cfg - file_mode: 400 - fs_symlink: - - - # Create the soft link ld-musl-arm.so.1 -> libc.so in the rootfs/lib directory. - source: libc.so - link_name: ${fs_dir}/lib/ld-musl-arm.so.1 - - - source: mksh - link_name: ${fs_dir}/bin/sh - - - source: mksh - link_name: ${fs_dir}/bin/shell - fs_make_cmd: - # Create an ext4 image for the rootfs directory using the script. - - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 - - - fs_dir_name: userfs - fs_dirs: - - - source_dir: storage/etc - target_dir: etc - - - source_dir: data - target_dir: data - fs_make_cmd: - - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 - ``` - -7. Build the script. - - Create the **BUILD.gn** file in the product directory and build the script based on your requirements. Taking the Wi-Fi IoT module in step 1 as an example, the **BUILD.gn** is configured as follows: - - ``` - group("wifiiot") { # The target name must be the same as the product name. - deps = [] - # Copy the init configuration. - deps += [ "init_configs" ] - # Build the hals directory. - deps += [ "hals" ] - # Others - ...... - } - ``` - -8. Build the product. - - Run the **hb set** command in the root code directory to select the new product as prompted, and then run the **hb build** command to start the build. - - diff --git a/en/device-dev/subsystems/compilation-and-building-overview-0.md b/en/device-dev/subsystems/compilation-and-building-overview-0.md deleted file mode 100644 index de4d2beab9d..00000000000 --- a/en/device-dev/subsystems/compilation-and-building-overview-0.md +++ /dev/null @@ -1,60 +0,0 @@ -# Compilation and Building Overview - -- [Basic Concepts](#section175012297491) -- [Working Principles](#section193961322175011) -- [Limitations and Constraints](#section2029921310472) - -The compilation and building subsystem provides a framework based on Generate Ninja \(GN\) and Ninja. This subsystem allows you to: - -- Build products based on different chipset platforms, for example, Hi3516D V300. - -- Package capabilities required by a product by assembling modules based on the product configuration. - -## Basic Concepts - -It is considered best practice to learn the following basic concepts before you start building: - -- **Platform** - - A platform is a combination of development boards and kernels. - - Supported subsystems and modules vary according to the platform. - -- **Subsystems** - - OpenHarmony is designed with a layered architecture, which from bottom to top consists of the kernel layer, system service layer, framework layer, and application layer. System functions are expanded by levels, from system to subsystem, and further to module. In a multi-device deployment scenario, unnecessary subsystems and modules can be excluded from the system as required. A subsystem is a logical concept and is a flexible combination of functions. - -- **Module** - - A module is a reusable software binary unit that contains source code, configuration files, resource files, and build scripts. A module can be built independently, integrated in binary mode, and then tested independently. - -- **GN** - - GN is short for Generate Ninja, which is used to generate Ninja files. - -- **Ninja** - - Ninja is a small high-speed build system. - - -## Working Principles - -The process to build OpenHarmony is as follows: - -- Parsing commands: Parse the name of the product to build and load related configurations. -- Running GN: Configure toolchains and global options based on the parsed product name and compilation type. -- Running Ninja: Start building and generate a product distribution. - -## Limitations and Constraints - -- You must download the source code using method 3 described in [Source Code Acquisition](../get-code/source-code-acquisition.md). -- The build environment must be Ubuntu 18.04 or later. -- You must install the software package required for build. - - The installation command is as follows: - - ``` - sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 - ``` - - diff --git a/en/device-dev/subsystems/compilation-and-building-overview.md b/en/device-dev/subsystems/compilation-and-building-overview.md deleted file mode 100644 index 8cf7a6a1c14..00000000000 --- a/en/device-dev/subsystems/compilation-and-building-overview.md +++ /dev/null @@ -1,132 +0,0 @@ -# Compilation and Building Overview - -- [Basic Concepts](#section175012297491) -- [Usage Guidelines](#section193961322175011) -- [Limitations and Constraints](#section2029921310472) - -The compilation and building subsystem is a building framework based on Generate Ninja \(GN\) and Ninja, which supports component-based OpenHarmony development. This subsystem can be used to: - -- Build existing products. - -- Build chipset source code independently. -- Build a single component independently. - -## Basic Concepts - -It is considered best practice to learn the following basic concepts before you start development and building: - -- **Component** - - A component is a reusable software unit that can contain source code, configuration files, resource files, and compilation scripts. - -- **GN** - - GN is short for Generate Ninja, which is used to generate Ninja files. - -- **Ninja** - - Ninja is a small high-speed building system. - - -## Usage Guidelines - -1. **Building Process** - - [Figure 1](#fig9744112715161) shows the building process. - - **Figure 1** Building process - ![](figures/building-process.jpg "building-process") - - 1. **hb set**: Set the OpenHarmony source code directory and the product to build. - 2. **hb build**: Build the product, development board, or component. The process to build the solution is as follows: - - **Reading configuration**: Read the development board configuration, which covers the toolchain, linking commands, and compilation options. - - **Running gn**: Run the **gn gen** command to read the product configuration \(related to the development board, kernel, and system components\) and generate the **out** directory and **ninja** files for the solution. - - **Running Ninja**: Run **ninja -C out/company/product** to start compilation. - - **Packaging**: Package the compilation result to create a file system image. - - -2. **Building Commands** - - 1. **hb set** - - ``` - hb set -h - usage: hb set [-h] [-root [ROOT_PATH]] [-p] - - optional arguments: - -h, --help show this help message and exit - -root [ROOT_PATH], --root_path [ROOT_PATH] - Set OHOS root path - -p, --product Set OHOS board and kernel - ``` - - - If you run **hb set** with no argument, the default setting process starts. - - You can run **hb set -root** _dir_ to set the root directory of the source code. - - **hb set -p** is used to set the product to compile. - - 2. **hb env** - - View the current configuration. - - ``` - hb env - [OHOS INFO] root path: xxx - [OHOS INFO] board: hispark_taurus - [OHOS INFO] kernel: liteos - [OHOS INFO] product: ipcamera - [OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera - [OHOS INFO] device path: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19 - ``` - - 3. **hb build** - - ``` - hb build -h - usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]] - [--dmverity] [-p PRODUCT] [-f] [-n] - [component [component ...]] - - positional arguments: - component name of the component - - optional arguments: - -h, --help show this help message and exit - -b BUILD_TYPE, --build_type BUILD_TYPE - release or debug version - -c COMPILER, --compiler COMPILER - specify compiler - -t [TEST [TEST ...]], --test [TEST [TEST ...]] - compile test suite - --dmverity Enable dmverity - -p PRODUCT, --product PRODUCT - build a specified product with - {product_name}@{company}, eg: ipcamera@hisilcon - -f, --full full code compilation - ``` - - - If you run **hb build** with no argument, the previously configured code directory, product, and options are used for the compilation. The **-f** option will delete all products to be compiled, which is equivalent to running **hb clean** and **hb build**. - - You can run **hb build** _\{component\_name\}_ to compile product components separately based on the development board and kernel set for the product, for example, **hb build kv\_store**. - - You can run **hb build -p ipcamera@hisilicon** to skip the setting step and compile the product directly. - - You can run **hb build** in **device/device\_company/board** to select the kernel and start compilation based on the current development board and the selected kernel to generate an image that contains the kernel and driver only. - - 4. **hb clean** - - Clear the compilation result of the product in the **out** directory, and retain the **args.gn** and **build.log** files only. To clear files in a specified directory, add the directory parameter to the command, for example, **hb clean** _xxx_**/out/**_xxx_. - - - ``` - hb clean - usage: hb clean [-h] [out_path] - - positional arguments: - out_path clean a specified path. - - optional arguments: - -h, --help show this help message and exit - ``` - - -## Limitations and Constraints - -Ensure that the development environment has GN and Ninja, Python 3.7.4 and later, and hb commands. You must download the complete code before you start. - diff --git a/en/device-dev/subsystems/compilation-and-building.md b/en/device-dev/subsystems/compilation-and-building.md deleted file mode 100644 index 54f18a521ee..00000000000 --- a/en/device-dev/subsystems/compilation-and-building.md +++ /dev/null @@ -1,7 +0,0 @@ -# Compilation and Building - -- **[Building Guidelines for Mini and Small Systems](building-guidelines-for-mini-and-small-systems.md)** - -- **[Building Guidelines for the Standard System](building-guidelines-for-the-standard-system.md)** - - diff --git a/en/device-dev/subsystems/development-guidelines-on-trusted-device-group-management.md b/en/device-dev/subsystems/development-guidelines-on-trusted-device-group-management.md deleted file mode 100644 index 91c4013935b..00000000000 --- a/en/device-dev/subsystems/development-guidelines-on-trusted-device-group-management.md +++ /dev/null @@ -1,264 +0,0 @@ -# Development Guidelines on Trusted Device Group Management - -- [When to Use](#section18502174174019) -- [Available APIs](#section1633115419401) -- [How to Develop](#section17516229192313) -- [Debugging and Verification](#section427316292411) - -## When to Use - -When a distributed service needs to exploit the secure communication channel provided by the distributed virtual bus for different devices, it can use the trusted device group management component to create groups of trusted devices. Distributed applications can establish and use secure, trusted relationships between devices based on the authentication capabilities for devices using different HUAWEI IDs, such as PIN code, QR code, and OneHop, and the capabilities for grouped devices using the same HUAWEI ID. For a device on which you have not logged in using your HUAWEI ID, you can enter the PIN code or scan the QR code to obtain the connection and PIN code information of the device. Then you can create a group of trusted devices and add this device to the group. If other applications have created and shared their groups of trusted devices, or have logged in using the same HUAWEI ID as yours, you can call APIs to query and use the groups. - -## Available APIs - -The following tables list the innerkits APIs provided by trusted device group management. These APIs are intended for system applications only. - -**Table 1** Java APIs provided by trusted device group management - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    Description

    -

    public static DeviceGroupManager getInstance(Abilityability, StringappID, IHichainGroupCallbackcallbackHandler)

    -

    Obtains a DeviceGroupManager instance and registers a listener.

    -

    int createGroup(String appId, String groupName, int groupType, String groupInfo)

    -

    Creates a group of trusted devices.

    -

    public int deleteGroup(String gourpId)

    -

    Deletes a group of trusted devices.

    -

    public String getLocalConnectInfo()

    -

    Obtains the network connection information of the local device.

    -

    int addMemberToGroup(String appId, long requestId, String addParams, String connectParams, int groupType)

    -

    Adds a member to a specified group.

    -

    int deleteMemberFromGroup(String appId, long requestId, String deleteParams, String connectParams)

    -

    Deletes a member from a specified group.

    -

    int cancelRequest(long requestId)

    -

    Cancels an ongoing request, for example, adding or deleting a member.

    -

    List<String> listJoinedGroups(int groupType)

    -

    Obtains a list of groups of a specified type to which the current device has been added.

    -

    List<String> listTrustedDevices(String groupId)

    -

    Obtains a list of devices in a specified group.

    -

    boolean isDeviceInGroup(String groupId, String deviceId)

    -

    Checks whether a specified device has been added to the given group.

    -

    List<String> getGroupInfo(String queryParams)

    -

    Obtains a list of information about the groups that match the input parameters.

    -

    int setFriendsList(String groupId, List<String> friendsList)

    -

    Adds a friend list to a specified group.

    -

    List<String> getFriendsList(String groupId)

    -

    Obtains the friend list of a specified group.

    -

    int registerGroupNotice(String groupId, IHichainGroupChangeListener groupChangeListener)

    -

    Registers a listener for changes to a specified group.

    -

    int revokeGroupNotice(String groupId)

    -

    Revokes the listener for changes to a specified group.

    -
    - -**Table 2** C++ APIs provided by trusted device group management for internal applications to query group information using SA - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    Description

    -

    DeviceAuthProxy()

    -

    Obtains a DeviceAuthProxy instance.

    -

    ~DeviceAuthProxy()

    -

    A destructor used to delete the DeviceAuthProxy instance.

    -

    static int CheckAccessToGroup(const std::string &groupId, const std::string &pkgName);

    -

    Checks whether an application with a specified bundle name can access a specified group.

    -

    static int CheckAccessToDevice(const std::string &connDeviceId, const std::string &pkgName);

    -

    Checks whether an application with a specified bundle name can access the group that contains a specified device.

    -

    static std::vector<std::string> GetRelatedGroupInfo(const std::string &connDeviceId);

    -

    Obtains information about all the groups that contain both the local device and the device with a specified ID.

    -
    - -## How to Develop - -To develop trusted device group management, first obtain a management instance \(a callback to obtain group operation results is registered during the process\). Then you can use the instance to add or delete members, set a friend list for a group, and perform related query operations. - -**Scenario 1**: Create a group. - -``` -private HwDeviceGroupManager hwDeviceGroupManager; -... -private HichainGroupCallback groupCallbackByA = new HichainGroupCallback() { - @Override public void onFinish(long requestId, GroupOperation operationCode, String returnData) { - - } - @Override public void onError(long requestId, GroupOperation operationCode, int errorCode, String errorReturn) { - - } - @Override public String onRequest(long requestId, GroupOperation operationCode, String reqParams) { - JSONObject onRequestJson = generateConfirmation(REQUEST_ACCEPTED); - return onRequestJson.toString(); - } -}; -... -Optional context = convertAbilityToContext(mAbility); -Context ctxt = context.get(); -hwDeviceGroupManager = HwDeviceGroupManager.getInstance(ctxt, APP_ID, groupCallbackByA); -int ret = hwDeviceGroupManager.createGroup(APP_ID, GROUP_NAME, GROUP_TYPE, GROUP_INFO); -``` - -1. Declare the private member variable of the **HwDeviceGroupManager** instance. - - ``` - private HwDeviceGroupManager hwDeviceGroupManager; - ``` - -2. Create a callback for group management operations. - - ``` - private HichainGroupCallback groupCallbackByA = new HichainGroupCallback(); - ``` - -3. Obtain a **HwDeviceGroupManager** instance. \(In distributed scenarios, the same application on different devices must use the same **APP\_ID**.\) - - ``` - hwDeviceGroupManager = HwDeviceGroupManager.getInstance(ctxt, APP_ID, groupCallbackByA); - ``` - -4. Call the **createGroup** function to create a group. If **0** is returned, the creation request is submitted successfully. - - ``` - int ret = hwDeviceGroupManager.createGroup(APP_ID, GROUP_NAME, GROUP_TYPE, GROUP_INFO); - ``` - -5. After the group is created, **onFinish** is called. In this callback, the value of **operationCode** is **OperationCode.CREATE**, indicating a group creation operation. **returnData** is in JSON format and contains the **groupId** field, indicating the ID of the created group. - -**Scenario 2**: Add an authenticated device \(member\) to a group so that you can initiate trusted, encrypted connections to the device through the distributed virtual bus. - -``` -deviceGroupManager = DeviceGroupManager.getInstance(mAbility, APP_ID, hichainGroupCallback); -private static final String CONN_PARAM ="{\"DEVICE_ID\":\"11111111\",\"WIFI_IP\":\"192.168.43.149\",\"WIFI_PORT\":\"30000\",\"BLE_MAC\":\"\"}"; -private static final String ADD_PARAM ="{\"groupId\":\"344C1C8B149\",\"groupName\":\"myGroup\",\"addId\":\"11111111\",\"isAdmin\":\"false\"}"; -private static final int GROUP_TYPE = 256; -int result = deviceGroupManager.addMemberToGroup(APP_ID, reqId, ADD_PARAM, CONN_PARAM, GROUP_TYPE); -``` - -1. Obtain an **HwDeviceGroupManager** instance. - - ``` - deviceGroupManager = HwDeviceGroupManager.getInstance(mAbility, APP_ID, hichainGroupCallback); - ``` - -2. Set network connection parameters for the member to add \(in JSON format\), which are network parameters supported by the distributed virtual bus, such as **WIFI\_IP**, **WIFI\_PORT**, **BLR\_MAC**, and **DEVICE\_ID**. For details about the parameters, see the distributed virtual bus development guidelines. - - ``` - String CONN_PARAM ="{\"DEVICE_ID\":\"11111111\",\"WIFI_IP\":\"192.168.43.149\",\"WIFI_PORT\":\"30000\",\"BLE_MAC\":\"\"}"; - ``` - -3. Set parameters for the member to add \(in JSON format\), including the group ID, name, and whether the member is an administrator. If the member is invited to add a group, the value of **isAdmin** is **true**; otherwise, the value of **isAdmin** is **false**. - - ``` - String ADD_PARAM ="{\"groupId\":\"344C1C8B149\",\"groupName\":\"myGroup\",\"addId\":\"11111111\",\"isAdmin\":\"false\"}"; - ``` - -4. Set the type of the target group to **256**, indicating a P2P group. - - ``` - private static final int GROUP_TYPE = 256; - ``` - -5. Set **generateConfirmation** of the **onRequest** function in **HichainGroupCallback**. **PIN\_CODE** indicates the PIN code, which is input by users on the UI of the service. \(In a distributed communication, two devices must use the same PIN code.\) - - ``` - private JSONObject generateConfirmation(int confirmation) { - JSONObject jsonObject = new JSONObject(); - try { jsonObject.put("pinCode", PIN_CODE); - jsonObject.put("confirmation", confirmation); - } catch (JSONException e) { - LogUtil.error(TAG, "" + e.getMessage()); - } - return jsonObject; - } - ``` - -6. Call the **addMemberToGroup** function to add the member to the group. - - ``` - result = deviceGroupManager.addMemberToGroup(APP_ID, reqId, ADD_PARAM, CONN_PARAM, GROUP_TYPE); - ``` - -7. Check whether **HichainGroupCallback.onFinish** is called \(**operationCode** is **OperationCode.JOIN**\). If it is called, the member is added successfully. -8. Call APIs of the distributed virtual bus to create secure sessions between devices. - -## Debugging and Verification - -1. Develop an application with OpenHarmony. - -2. Develop an application by following the development guidelines. - -3. Create a group. If the **onFinish** callback is invoked, the group is created successfully. - -4. Deploy the same application on two devices, A and B. - -5. Transmit the connection parameters of device B to device A through a QR code. - -6. In the application on device A, create group1 and call the API to add device B to group1. If **HichainGroupCallback.onFinish** is called, device B is successfully added to group1. - diff --git a/en/device-dev/subsystems/development-guidelines.md b/en/device-dev/subsystems/development-guidelines.md deleted file mode 100644 index 6f14243a239..00000000000 --- a/en/device-dev/subsystems/development-guidelines.md +++ /dev/null @@ -1,11 +0,0 @@ -# Development Guidelines - -To access the AI engine framework, you need to develop the SDKs and plug-ins shown in [Figure 1](ai-engine-framework.md#fig143186187187). In this way, you can call the APIs provided by the SDKs to call the algorithm capabilities of plug-ins to implement lifecycle management and on-demand deployment of AI capabilities. - -- **[SDK](sdk.md)** - -- **[Plug-in](plug-in.md)** - -- **[Configuration File](configuration-file.md)** - - diff --git a/en/device-dev/subsystems/dfx.md b/en/device-dev/subsystems/dfx.md deleted file mode 100644 index 241303cae97..00000000000 --- a/en/device-dev/subsystems/dfx.md +++ /dev/null @@ -1,11 +0,0 @@ -# DFX - -- **[DFX](dfx-11.md)** - -- **[Development Guidelines on HiLog](development-guidelines-on-hilog.md)** - -- **[Development Guidelines on HiLog\_Lite](development-guidelines-on-hilog_lite.md)** - -- **[Development Guidelines on HiSysEvent](development-guidelines-on-hisysevent.md)** - - diff --git a/en/device-dev/subsystems/figures/20200721-223604(espace).gif b/en/device-dev/subsystems/figure/20200721-223604(espace).gif similarity index 100% rename from en/device-dev/subsystems/figures/20200721-223604(espace).gif rename to en/device-dev/subsystems/figure/20200721-223604(espace).gif diff --git a/en/device-dev/subsystems/figures/animator-effect.gif b/en/device-dev/subsystems/figure/animator-effect.gif similarity index 100% rename from en/device-dev/subsystems/figures/animator-effect.gif rename to en/device-dev/subsystems/figure/animator-effect.gif diff --git a/en/device-dev/subsystems/figures/application-startup-process.png b/en/device-dev/subsystems/figure/application-startup-process.png similarity index 100% rename from en/device-dev/subsystems/figures/application-startup-process.png rename to en/device-dev/subsystems/figure/application-startup-process.png diff --git a/en/device-dev/subsystems/figures/architecture-of-the-ability-management-framework.png b/en/device-dev/subsystems/figure/architecture-of-the-ability-management-framework.png similarity index 100% rename from en/device-dev/subsystems/figures/architecture-of-the-ability-management-framework.png rename to en/device-dev/subsystems/figure/architecture-of-the-ability-management-framework.png diff --git a/en/device-dev/subsystems/figures/architecture-of-the-bundle-management-framework.png b/en/device-dev/subsystems/figure/architecture-of-the-bundle-management-framework.png similarity index 100% rename from en/device-dev/subsystems/figures/architecture-of-the-bundle-management-framework.png rename to en/device-dev/subsystems/figure/architecture-of-the-bundle-management-framework.png diff --git a/en/device-dev/subsystems/figure/build-process.jpg b/en/device-dev/subsystems/figure/build-process.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a48ea734509526b3ed0fe85b7c4a98b0a2a9c4f0 GIT binary patch literal 59879 zcmeEu2Ut^Gmu?UdkR}~Lh*AVZ1f{7UQIRGhqS8wgq>ET60RmAFkQxC20U=69n$$>* zKmZl#O~MBup-G7()B}WYkN?b_@_jS^d~@&I|Cwj*AJ`9vljNMe*Is+Acdd8rv-f>( z5_0IOo}nIuiHQkv2mFETks#K(2sdX4#Ml^e0s?`sL0FiXAS~b!6WFdYGymo9uVaYm zp?^63^^YkpWIy-^JmhXQ<@@L3U!Q|8g};SB%F%mc5FN-qCZ=D%|M+5NVgB_xuzx=@ z3+n+^)?bZ{or9f??I0T~>p`xA2RS&w7b`nA4;Lr*uj5}A`StZ*-vWO**;v_red0g& z+WQ3IW!raUAB~ww60(n%iJ6ya4-bKYJ!JtU@k<#0_+r|}yr1O&*rkIU;0LM?f!$|j z-UoJ;Wj{DvrXcWr$bMcHzGJ5^9pE>;%PRRu;LNl5cWhFZ%bNvn_EDu(93F?T9~2T6 zIV>u3Tvks0gsPgl#@Tb{b*|{@=^Gecy>;8n+``hz+VP%~vx}>n`x9>;Uq6I@K13P=j7()7Zkp)sI024!G5f*YiY%|wRe2}^0j|paAMSo%=DrKwDW|Ti@6OwzhwbiwVN~55xMWk^OF5yx_R@fpf5*_1CzV_W6O0nRh?S zvC{|mE}634eZ(($<{6v7<@k5y&FoStH>rXSkNXY^Nvo1%XupQ`my!Lsfrb1ZjqINW z_Rr%YKsZ6g+{eqz3xPp)=~+>7kU!UEwAJaC(n)?TyB5|}*r=Zj!8i^P8He&NAJxMB zZ1~3los!IP53kEH7iBfvGTu#YP${;OW~f)z0AZ!yn8%5W8}kVCF=p*++?+S`U|~`> zAd3k`hxZ_)cy0bYNS`v`zXy3fgV}?Kz2&)=)!@ZA%uj;t^7BMsfa_L!5LzAV@1Oj; zl>VD*hybeZG!Ss1BjRK;bc_4xg@h>TDv7qEj=)`R?3JwzZ8<-YdjMVdqvCqMHNoid zqF`g!hx@Nh-Z;i)-;}y5@A>W(|4#vksqWvlS)?+CQ7eW^uq97w4+B%Rz4mn#M(AM} zUWnL@Z35Tmzy{``xRZeCMV7zT1gT1tz^TO^=HSsxX|GrqZ}1u9alq8iBd>W9$`6=R zM-k5bj{F?u?``!3qPhBNrS3NE8_%|Ep-TNGx`swOkZ#yGWUgD%N zvrXJjJ2$EN7vmG|FFS+EJtO1a5ZLG#RXNN3&no4wK(>>kwk%rURMRe9*nKnyU4~{6 z&VY^@O?fn4ZZ*QRq7FHZR4Z_#8yPNZHD2vlda0J5>gB1TAf0$>ntkOZ z<_pvvTpUawSb~1Kg4&)msi=alsdIU;Zo=E9h);`4D(G=o)pgvkFjQy$fVkn;ta zG?S$50}0yEeS+ig!SMkR%^&O#*oy;nl~T=*=_chv*Yi2AiiAl%;gqTPD1Bc<_Q;f4 z-wh^Rfq%ELVi^6Hm7{LZjk5^HJ&4J$;F93f9;7Ot{z6oLH%>wXoQ(CbKo*FAsqWvj z3C^ObG4zB$o*gly${r-2qTP6=VPKp}+C2ANgd`OLV?YC{#A2s)xyATQ57yD9Gng{`{tJ;+Ub6 zpZFlmxpog?oO*aV&ZoWQkl@^pG&yE6dKAZCzeVl|$&>^{e3T-!c?MOLMj0D^eTv>? zOep7x#hR6QjXDqQY;P~8Gj`B?X>Ch}3ir`h8}{SU0k5+z)cFp0jx^P+Oh34nYyf_RC_QjNna9YT2F zCuGgNw0AD|$@DE{pq?u>U^PyOLH!$kQ7)ZM;;J$)t3IYrsbC@Gvg5e99r8aL~(uV zHkM`HPr!`9rz{<+`xlVs-Bdbc~OV*@()QPj<#9} zkX4hax*|_qUEh}JpJm2bQ4qQRmM#5c=YFS*Bmtk34_P4o#Ac-}d6Woj=>ZmWaNP0s zvGy)hots#%NSyG+Og?zq@Xp0Yt0;Vg!I5CK`6S|NBB6}hx(6|cY)z?}*F>rALDp(P zaAM2)@NW&C{^R@k<0y8j^VDaO*v3Kc)gZF?fp)86C7H^PD=xz)-zAw_rrtB|t1mq9 ziG)^b5{jrPJE(zGFb+I0qG2Z<;mt$&gxCh}Je~aq1AuBP2x0m-I$4&om z#=>jpA!c<24(!{5Om{;|9dL8Mp{N>rkk1lWU4L1+itn>M$R)2AH~_wgqo?Zs;l#iA zdh6orvaL-hoof%W!dlYzr|xgMZYxWtr!XM6E#>W51x8TE9)uZ1f41mtk$`H|aD}c3 z0nvMqFa~I;zr6b6nIH@HJqS!@5AsxraZS56Y7c^Wv%Ms;fX~} zrb0ic=TD*tn{9QNs1mMxD6Azn#KN30JbK?O zZUZkkGQR1ftBJ2CIWcQJ7hxyhfHQ@e5klleQE?-vtuu{Hl3nlKI5btiD3l(&iIuFV z7@@5Dp;X#POBGhy!V4b*9#wi0Q^&{WH_j_4#s5jYNt)dKmx{9){CCayAGLIPh=Rd_ zR&>?AHDkEJFg;Lk$zHx!aSzh3-LcBucK7|Ks1%J1TVH+=*KrVqhlme;3e{}9 z2XXV_XLP5*Ti@j)GI_$AxM`>A)gq$kDDBAI5}xOt!~Jfaqf=hvmn(mhewZHF9Cd-H z+$qmq&!zAqNM9GZfpQz#O%LWoNHO?$1c-D54TfGQ%H~-%`;%*wJ0I`ADr=-% zKGu3N;d*}?+imHjNeK?}GF{Mg&4dl9HP~>BI@cc1^sbDq2O<-CP6qhI^t-dOz%?92iH=g4jf-;gA~>17VX~o1LaQwopQ8u(v;(* zko|1f7i_EhgYUrPcV~YKU3E+YYUUUR?@pPBGrnOel<-ApcA%%F5_yg08}C&%ZylT} z-bXtr94t7bv|*`#q|$K1qCRdsKF4+3{OG+C>0QG6)3x^?Sxuh(u*m{#Hm`6A^$|59 z7qHx7f0WAlVyQvqJ)n83q9z5;^&ZaQJV1FHH%xXt?(xpgYv# zd+$LAJeIWU5lZ0=W|MFc;DiTa9mfU4Drys*#9LI82O_F6$plO1+ld}+Dlu)6HN$#0 zY|UK?P3;wYc05My7z1^7N>$-ccs*^sM>c5{sHyxv-EDgYv@h0Dc=G{lOyh!8|}Hd0A*7O(>P@8=*UJCol+R z)KptrV^bfQmwC3&A<&95I$`?EmWTXjmR_q&iY{_<5)H_8gf|^^Ki{3555PKz)M9V` z!f0INtuZTI(xcrs3F+9IBk=o(__xWY&l6tT^@hES5ykGnf{As|4%CYPjqp;WAdTab z#)M+;3{5Ev(r4#Q&AnQ zGNt4h!H`7VHs>G?UF19pyo4%My_{4QA*{W>Ps@pBWCax6eNyBq0i}-THdx13*4#5H zipF3~Jh`%TPDb)?t-M>c>14u4HiT|~I3@(WP{HUFH7}d8Q|gdV2g0T>krE2j%?PAo z{+Q(+#M4+jE*~j0j_u)kW9Z=q;WLt66p>?ny|h^S-k%Cmkner_txV*sLpC3Xh z?3|_BM3aOgnvU5L5v&#!R7Um`<^0%nQK5)}pqilviqW>VCHU^hW8r$(npCOyjYOl;c6u@kByYH1_|D%)@z}bp;v1X&UR;? z&D_>R9E+dPjXQVTCc>d}`lr6xsgQ5m+EH6y_aKaeE|Xm@m#G3x%+!%M#t9D;Z)Q3{{it2WM+G5!6ex20pmIb0C+ zjDrJ{UTkngiyzeszu0q-t~ugFU5=ug9Y}nj>bY-0^E1V!E5Yb_g6;vc_!!>KnYPul z*Pfd7KCWDFR|xOJxr%e(p;g!Gsb9MJnBH)PMpL6Iw+D9X!CI`pg}_WH|cNWZxllv zS5;y&eJSacW9Ldv!+*XS+05U%sEk@xgKj!*eOr(#g-B;rkP{7AL(Ie zE-eIXOdfTnED{NOLKgF!@J$iQ=9ti}a>8B~Lwu4tcf|SW`GX4S)a7;)Hbm3njZi}{ zjl6ES_S{V=yK0b>TAXCa>2whPcK?y&c4hYq&?!_1U6)k9>u5qlg)LXbDnLD(utRr} z2|ZfqGrA6idysvSPtQjwr2I*lW&bJZyyeb{np^LQ))u0+wLP~^0Y{VH`9AB*y_EAY zr`5#Po`h0p>an%DjoZ|>iwgP9Qd(j#qWw3qFwLti3=R$j3a}p%1ief zU%cG*Aa>H6W-vZEP#mo!CE&^)1dAidQ|C5>)4{}@D+p+GHcV9VdNh2yCPup;-rg4H z-qY_=lf&Lxxnn2fsWX`=g{Y2<>Frmi$Hw;{Bj-3+P@mF*>uHWH6GFA+5w~ckp5+_A zmkX5pS@QcC)e8@z1|G3sz(bfwYhw#&# zr<=8(?)!E*M4wf==$G|k{+50t^iwkTJ^i0R?Oq;q)ZC3<0KgR7+Gp>W2~y4B$92KzNt{qQEf0 z9590kC$lny&yVauWGq~CA&)TBtSZbl2mK^h6FtRqA zg;#e_Sja>sqz7O%xyC3A?DGqcARzp700}R<8+FZ2Qxt20c`iUwUF{oSt%1fO%hx17mw?K4aLRCbgGqYLqqdct9@o*Jak+y;iy`Pq0EKDz(cNr{up86I$o%B}u2VY4INRk-A=)8-6eAcBA5;L-DQ|Ij9{MStGRDJMj&hx$ z81!caCZN%cR%ruxoydGMVu!rwxUY!saYA~8C`L>}g9vIjq zZ#g~o{kMowRxL`LLm=?r3JCj8F-U@c2vye7R=o&VhM^ru6K0D3g_-i3fiDlD zI-p%g4wvmDc~Lu8Tx@g&Zk;(Om-Y1EDu$qR6UfMO^);rBwM^`zMQeUeD@`Q_1MYie1o^CKp1W2<+2~U=V$uQaho%cXuD~8txEslNqKw?&j zCED{kYl!EG2~=fO?~6_L{zvWtT@71oWnpWIHXBE2c}Y9k2wgf4wPO<3S|$SMlXc7R zLexAonIk)EQQNr4y3VK|R{NaL4Ec^$PsN$CL{WO{EY!{P*4Kz{-&h9JOoZvmLIKn2 zqUP1_-GZ;b6O3)0AdLQIC^Tv=Zzt*IXmL_7?QAE6{kAOgH2N8;+@)<7Hi=roP7;L) zbj^NnL8NQx=c(AuTkno<(xuNkp~Ke|kJ_FvbmEDBB%SgQ_R?xl?&a3#!3c`G{C5j& z!QE`sWYWY5fJBB9gl~&Rgyg~w(VviDVhH<=+g7C~OU3jC?tA7|4)*H5it?*T)wq1` zM1sQ9!%_Qz9d<^y3Y`<(COkr9ZQ?~r5Bf}b2*e|#tT7hn-#qjm6PnukF{|Mp}tXqNoi+pNCnO49w|7NN<~q4c9`i8 zhNX6kkn+?GuW%lc3Bk7;hf_pOGavAA1U^c-paaUT%il8M(S+PiF=q$UJB`N3bGN8P2{iAq{xA zmAGkWOVGsW1kX(D-NKUet9&aWrz9p2(;u++jtiR~(Dkh4Ja@rp5(g$(A&fp@oN$9o z7F~7-^Z+j;_y>@he=b$;AGnu5+UL$+9RJ0W-81Uzr7e%e z6Y}3rAx~3N80=Ft{f(220GzB8?kBOI*4;<~?Sx0LI885wEPi=Tr?N4{d|22rZKIp4 z;882ZYp?q0GOY%%O%JcKfkr7+kqWrn<;b;l!z_>9UIl9wn|sbeI6L=nj+sk^|_V+O(`7PhdWw z_>gWvQyx5g3xq~WQ~uqJaVsCUwXKs5m5AR;I$jq&+K7|7_f7X%S#N;chgWIZ`oPxC zexQ|%p{vSn1m}`IqDc1_g9Qew&{ekAan5L?9UcNp`}eqEuZk~~&eX^CQPX4`rE6#3 z0`V|NJ;Jz=W_=C(R2=zb1$8h}Xs|(XDsZdn_tin6`+gsz+K%_}ac_Ug}zvSZF9 z9p2d&buu&+bHoi^A&lRHj4qQSo;9GT`OQRDPnjy}{Y}P zv`Ml~g;oBlkdZDQ>u>v%Asa90LLdMpj$y9@`EI#L*kBb#7~t2XqN7WuM}AVAdu7WT z2Tx6ZtbjVcw9f`{*5{}MF$b+&hhPWc`SWrgYyp)|D5?ohbUB>|@YsPN61*b%krKcy zGMCh?3YuA7i8u06soS>kirsfB!+bH_kO|x7ea2_&UY;ouxY)CUyOubK4F&TFWuuN$ zaj~?XHVLjiBs)!~O+p4&U*9m;R#Gv){Vx8wl5~r*EU)m_(j`GnBS*FM3+97sfyVBF zaVx_UKUE(|7Wc95`|#rv?_faR*CQREJg7!W5l|sIY=`aA)K2`nMW~4O3H$l95=uuT zVWH))YP5IN2dv8#{bc!cqnaIq2-khH^R0p`u|ci60{tJ-KY{@d{#U~6A+#!m{^GpJ zZtMg&O9Pa!fN_6W3dk==a)SuW(JvgewsY4WYwds=m*0a#p5+@zU*=1RQjRLSiuO z37Ti`o-~&m#7!K#IKE!!`j#!BU1aK>rNeEnhIa?V7UXs~wM|l{+h*o8eK}p`Z}wf} zy%2Loub>zI8Rv7AQ>oWf=8cM=qQL!IKNH?kwr^M6V2uH;p<0+|Fnp$9y~K?{B^TO( zm(zD2On!VM(^5F!q?wZVaH#^1imE>`0HCQoMnHB}ZeC8JzD!jXxqF3Ra$=$74jW(V z(HWclainJ_J{2CNCeBZQOKhh;Rvmie`>__g`TjPSLSC?1LUHC^*o&WEPRvy~=0bb~ zEJTQ+6i@E49&QAq+jNNa`8r22bhCsM&ohY!!4${HFEFJKf~jNGWenZ7+}%-AFjBxg zY>n*~CVj3BTBOfasFrmQ;PURlh&Hz$(q+Hu@jZ#Kt&z035dNs z$GegS4YtjmJ1@n%)T#3tQ2Z4%U*eOZMOH?RBu9dVW}eyZz|{?@GMfG=FG)$u%sy+9(ejcG7d-#evs*5N~FM!ZCZWyzqB@&1MLff|_s<4PtQ} z4>&#gq6oYSyHxA6a~rTxhcnj;rq(J86W zy$}O%l$!~I_$F-e7sQtWA^sr(2=OJs{L}Bc_?EqinJyhYsnop84V)RX9P$~1aawld z5$qOBtvep}UU?^}XJdKi`TmOq>i7n^?(2q&9x;FF!vFR>MNHKsu+pC~j-p6hC8!le zi0>=((MXQd2j8DDJPWaavbJgNdd>79d8dM|>U`1=_1m!Z_}PW%I}$+Q3}TwMC<#8e zh~djMr*(BD)x@wlk|?Ll6U2(Wg)KPW_m>qLyoeBSlzekzKe4jPlicWtZ&Ewh=|~pF zR`jQ)9GGn%G^_|lg&VqjbXqr#rJF6Nem-X8dh=|bW1QN-_t{JrCm|Q)*ZxyAau!TG z*8o2=nnuezq3AqY4~>n0+2}$J1^>HIHZLeXHb$wJRlDPVu8<#VoDaEpc(#69;l7&R zxn@pz3X2MOEiWoSI~g<#0fC9tV08VI&&42VfAYX*tEgd41$lL zCVfE*(s^P%Kmog>2VI?oZNWgM_Te7Hxs!o1+Ji{{;@5t~!6oFfZE4sc998oYSi_P8 zrB*k9`N%5~WMKxYD~w)IW|4)ah@g5v<(=Mx&|jneeu4jSG7##6xhi_#12W59T&US( zfe}#_@^^SXp-Okax)~ z)^|rLn zcZEimPni!x)lK<0>sgk=zG#0M8hD;B!=`}EI{qX^a!%u3wTt{87uaWFMHyW{lSIVh z(7}qmRlXyo)lhLDL33R3z?)AZw+uc!o6y0$RIvVb9Tj$I8E!jLmN^5wIWDP;Z*Kmm zqgPUOlRf~K`uv#&+_z&l;Zjr0y>JUh@LF-Bw?xU632a=Bl6$-F|F|i%HNgNL9Ux-o z5+K?M@2e_#+^xjDn3y9Pmg9F?I%Lk^2Fdo2$bq|=9~~DjN(|^C$7m=LuDR?PinF>* z1d;eDlfAN6OY{CnUF=ujF~Owb6E4_%pBCj(vg7FO%%OHfL=oQLr= z@#?dTw2T{(waZJtPzejmSCj6z;^nzV;w+Cfzxw>MqUMS_{}YRHSIi;pLqC+r2>PW- zRK#}IE;`Z^sgmQSElSntDTLc~z8!U^Kq9lX9k(=;)YtK*txuN@OFY%4WHoVs`4?B{ zQ~TpU<0P8<2blA#3NpG%3lA+_RPkVLUOf2Yv75$*x`z44!^V#Y`*RPb`IZTHl?(15 zhoqj@0Lvtdut%L?pSA$~Xe9_@s1o29gs zwe&r=^Do~*bJr|pH=pi7JWN8;Qliy5Xgn>R!ba4gMs!5k$RO(SvV;(F@Rj{pYj7tr!dEE7o z^UAD7vVgDsVT@evrK8M0(-c-CZUOlu1ukFLfltK!GyNoL8GihM=S76xCGm`&u=Ot3 zwQ!A_TJ5?!x}Px){8B9?>}H=(rdV3Ur$7^4Th|d75B;3~legcSeaOb<9nB{Q8W98| z-Fl8Ej~zzYmCtuomEVgq7~P0G^nrD>%A%!nM~CsPW4Xbww}cecqK*>3x2sKX)b{q*8B9?I6O%rAVb=`3u?tI6Fpo0zg@&8oU|P2mB*UoRpj@yYnFuiu^{eCP572-! zPdH}HM2ia~PsQL2jf)cFx(GB~g|*dWTQ>8+9;BJ84BSSP%{UxN%HQShVMa}cgUC9z zmlbPjF9nuIHB$!|k#o;*R2@(!+ZRiB6H(K{+M=lMg}Hl>dFk6sKmIe-^@5Q!4zf@Z z72A^NVLdo<=(~=p(DWF=*iYe$>X-cn@t4b_Dh(y&4(7~+d5)w958+m>f;%nlQ%4w> zVud1RJ+*Sxc@sB7SDHP;FP%0uTj z_aMi>(1Oc`1mB|m^4ib2!P4o^KEr+b$2ora^k-#^ix)~Ywx+<^I~e2IG>%k+RM>-P zLqUZ4Yy`K(jsAUSN^7Fd{qH+7Q6AxXpmZh>Ot{GW@iyM5R&&6Dfz&>RA~BbtR>Xa( zOuvLMz^HK&oPw7;9m5Cejur+)eU zeW28#CP5Iy@PJU~;v$hAVdp9E_zo@s1%UbLX=cI{Dia2P0qJzN(H}$$T8!`#Y8f3s zf_STi)gJuR`9;_4L>4+2Fn$6x>Zrts7@YHl8-BR0B6UMo#w7zc1$ zkd2STIWzS#!nZ%94r+V-_0!I13iiby0q6_I6s4xL8U@mBQNz*A4fB=!nETh? z`LjGfLqup;R)%(G-VT>`bE>u+@Q#b(P(FOOD*&uE{$rla%2CcVR?aLdtv+EWzXE-) zK7F!iILT_Dc%Z`M$}oL=Yzefy{`ooop8XY^LGgpjaHauV(+s^XBM_LP*qPkOtZBnHrAEL!G>=Pvd&N?L=qI=`|M9mkd6E4^~^5Yrz0A zfdCI4%Dx_CK^7l*;RD}qPjuH-s7*AmwCPCUIsNg2KMvW>^P#J%?OUoD!Q|00ygDKp z{s~qwf-mt^K~}gnf%RvDqju>=FCD6qI+Bz*9Z)GV54i_ILt`vLv6QJPB~ClUdy3Yv zcM}MHQb%-y#$@Bwg&<$&;j*}*yYIR-UQa3e-}|&Z7?_mvtwpw3@6#O)YYjTT@Q&1{ z;cX52afVAgH2@@%U>Uoyu|#)o6qd5O2Z?ajdb5gI52=DP*hxX}koxKE6B4xQ40JSw z?gWim`?6dm)KHF%0pKRo^|m)u#X)1`1Wo9Ldxj48{B&F2DA+L=l?+Vy&pr{TIshR(H$a?kSe9gR=H5RiE z)^&Il@x_3NybWSsAm0OX+-w5s(}I0?GHeNIn6UA+`GQS(PRX9Iu~9tj0yC0HZ7d* zwc~%VaX(>ySgV4R!UL52#q-Ocj8xXTj3)i?Jxo6)Wb68?a8TE6J+!A{S2o-vPv*Ii zNP@mwsBJ^Kp9)`ubb_%dPz$1);RYae(gw}bO77vZjHH{DAWFwYw<0IT?M&HC+R&w7a>p2MNW9Rb61UAJBpo1E||WN?MveDAL-{ zaXU@Zs(vpY_W06!RW`Do!)Nfr^XJkezZ!T}c&@_O=>DJwYXh08U`;eH5Xa?**FM%y z*9;2E1CqRVJXvoy^-hh%mS*Isz4JNW#&8i8lU)OL`3WI*dB!J7fwGn zRTjDF8+?SO^nA^Zqs6+Z25Ma!cND9>fHltjRQ@@t?Bj3pE+7)|tvz=}DNuxka;xTvr$?(KJjRFyB#Y%r;`FkCvM?kI(ksXg>5*zczKSm(>Ww zkj>}m`ZR4u&rKQ*ZzpR$?0rGXxYyfl4acFL!BvvmRF=Pxa=>+B#qs0_Paff&529Z= z)w0__yMtP`5d`K#TxfITlvrFf1ME7-sb%B39pOpFQPugaTEx9qf_sl zdHBpM2eSP>3fSzxP;V^1Kpl`2MMWW*Nav9Hr9f~iK2yA=zu}T5q3g(Y6DH5r+O|vP z{p$&#L5h{r?YnX=Tl_9vOR!2Pg_*1rC7}(ZOfG{v8zoZ6CJ~|~xj8-A_QpOgek|j! zG+ur@(;-$=kd%ElgdP2`eK(3}Nfl&d1Wh);`sGARzzsCvc`194oOrXZ`8&r!#9E95 z_wkh9G6L(m4GNfh|1+i8{}rXx|Ge4qaT>Y<%?#o{UI%IrF{VM@gFM=zYAsD@taCrZ zx|8eKxfS7eUrB9f_bhHK=er4n)_7nvUm{drp1!bkLTi#^o2g zm&;@kb9U3?B;?z)I*@~CEtc7_g+R_iZuS8IoVr|=l97aSpi(23nZ(XBCv>BBh z7z5mU^m}>2lvIOYw?u>1uo{m)tLZkL&TadudcR!$P=2Ch0_Dhf=M3zUmJE&c3T>Lu z5TIV@QrPsYKs%|Rq~Tdt65)jAC*TL^-evur%QXtCer?byzi5;TJRBo3@@XE?Bu$&6 zoIpx>`8aua`uX1#@5+rfR&3BXmAqo>f1~b7rAErEL0IUsa_j??+cH6zwEVObDPM%) z`(Y8R4n)60Xf$hU&?b_y^^2O_3Us7X9{0HAD_5kE$4l}I9vv~54Gf~ybWCi8zS?EU zYC5=E6uh5qNL{AL?#TV9KnBr<3;lzpC_cxAAFN&AQo4JKWNdv={8&XC!8q&i4d+9r zAL2uP#Nl*N%{r=->t28?v0bie_wlmf;9II*k>rB1j@UJ=`g7vc;#?*l^P3mHF3UW; zc=Tg&KxQo{4{A@8>IMEALnkR}UVL9vt<7>OSdw?&z37ySMZG9?x7=p35!@Ot1$P{e z4#6BeB}T}>Z+&(R)vO$8g0qoMio>b*8KN>-Ap%#P<(P5u875pjj6Hw#Kx=d{V}dBs zz(qyDsaHL=iP1;FF64li0Q8C{eHIu*}#JNrZ(J%{VjFsl?;FcXFQr(Idjx(Oo8L zvPT4wpiC>i^44>7HOOx&1z#2pr{0LH!bJv41J6icvOtn1n3)3l*B$7k{;~#WnXcj+ zouz=Vk@(};9t9V^*B-PsxO2>b%{DRRk>$>ra&VLUf2=J{U|1B616rMSjsq4OIiNXv zu2iMy*M2@Y-H$pfF41BvuUbSr)RA4R{M!rN&5antGX~uwT)fHWgg zh=tXb&6lG+WE5e}fLi+Y9@g-Ajp*}j-Rf_5lr@d6EHU$>nj8%^dX0?P6)eth=}3b{ zXc=a^ZiiRqTDmhN6D+IJ#iBowYlkG{zEu?SmUGD)3}u8cSKm&2ssiWv<)qI59qlkM z8SntdL;&K9p?Xx=Pm4T<+`Qa8*guAN6nXKgk^N(G$gXRERL?|=kn7iToSNcBc`LaSSD_MPAgZA}Ys+pdXeQWb?J`8}jv z=*j$GaL{P~%V#sCYp;?Wp76wDa;i*qO@IIV09K|QL)7O`aE88*lQ6s5-z`c;5`z0- zD@W&H8yW}~aHmO);P}|Wge*#|u`2C&T&Bd~(SlQ@6mQ}wJx@lr0P;6fiPjU!zb3)` z|3ZR;MX?!FMj1K1(VcO@(Kcv2{JX{X#xZp0%YC{Vf zjwt9XMEG5*7`%J!`&e_S;UmF;J2dI=QBIw+(^BhNk9v{=@=bLgQx}7ky$*Cfl8x{d z97(n-|6W=vWuxT}J^gV<`A+a==Zr*XCPGcotNjpg^J}09_YV!x!8qOVH+9qTHe+RH z<AS~+UIAUgMh`wF8F|v=wkA~^(4|R_wHGdR^U#FY>&MqAA2@t1J~bbXf08-w%KSE~b|=UNzdYqv zlX#_XptV&~jb&)OG=1iC7jCo#osM45j|(bnf)3Gd`IW#s3V&Fu#bFMi%6q(uFMPvF zs|zEY$M^f&Ul*q$=1L&mw=ER2JTlMJ_NvMI@Nl~drM;0)=Wz8Il?|tSKqTC9&pYk;qLXtRvW;yVk~(1Q4QTPPK} zPpC$>B;T_7At8*h^^;ub_Y6jq9JPPw_{OU8bMW#3=>`9(6a?Cg7F%rXwQ)U^ls=NI z?8D?=X5y}hiFpw<`ehc~*vYodeQuIDFROOf@h0uI_NnUdRz2!&cgT+Rfd8Z7E|%Y{ zWPLk*s=bk%jw+`NrDB|;gN)jYr~E?f#9HS`eycGxDad& z`JwQY0j89`bRrZOZ5e)hkgHVzOAW9>pkmG%XKZnWN=eQTL6w`hm2^E(Yvux-VRf;G zghgUCku@%0BxQksj$G#<=z~x7NSGJpPFN(Bcr8s`8=4usl1;JJqqG~js!zq-QGXoZ z_>w!jqlvYjA&U^RqE6I$Y>W%z)%oYs!mzJtyIB*igmbqZAL@MNeE23?&wkOZ9pl|_ zEtW}WG~+Cd80VvMJcDc^?wZyede?`nxo9WRJu9xF+wTp`R=N%Mlb48A@?n|kzW$!C z_~s>uH+Rb#oC@jZcN4Yc5TUwtfn1K4sc|I*mbO{p9{!}tWP{%h?B^?fyTUe=iv%^0 zJo}F3)vDsEEdYEepc_!fyNjrmHyTE=Q?3uDv|3X-;=J4Ne9dg3fmeid?vsXLl2Ya7 zw;Gt2z*t~16LWC(Lw%(vJd!l<(+5gHEFGmKS92w2_;27Fg@qoA}zHz_I!1hWZeNz|?8~S>L4TIFVLi z#RQI^S!Wn@BDl}~BvpeVLnej=D**XqC|D6o9l;Ctm(qO-h*s7_Yh8`7s>Yim#%VMX zFTP^J-cBI#;Iz(>V~jhZ*w#Hr3`(%+JOJ)0qF@9X?&etj(B4N=ug+PhGpmj*>4?gz z99~weinX`f_*OJGs^fLqpie608&{Ro{kJ?7)$s3~q~ylQAf;9dhCmgr*E{gS<(A?0 z1+xD;OQoTNpX!`*-}n?hY;Ah>bVjvT0BTe;DGo>472UL}O| zevr&w;@}!a`7Ob*Gt=q2ww_W#?o%o7NgtgXy}&YUbt*Zmz#h>->IgqIv8k89bI_e} z#!h|FuD{ef&?ZHQpyPIb#8|8H8*N->+Y`}H!RwGDk>B#My6XvP^ZByR1^#x?yhO4f zb-08ad7mKxAq!#F**mkfB~S)?E-6Fl zR&`ASn5VtfW-nS3HPNv&AxpK-C~`;Vk0mKvs_ne>Kl(!Q#Nhc#O>WHh-Y*aAqUvKZLRu~7ft2g>5Y3hZZ`3n`qp1JYe_XLHo@EPfsHIAv` z`|97`i1`|Td773SU4%T|pGRGe86$JYAg60a#!N#^HJY7$?zlW)D5O1MlY z|MwfL2|(zEC|JlCh|OGX#U3}zqOmkgT(1m*e2lht3Nn}9cP-0c4lxxJn-oiq&1U)etRDD*}bkSG%sE- zSl15b2by?Z)NJQRczG=a%P;uWP2ikPVS_fjC}MZA6c!Ee&G#QP8APUye2q^Nd0j4- z1J*Y*Utoy1Ls_fQ`xbre6==R;rQ?@^d>O}S$>k-)5b_IUM=x2JlbfbPyg1-ePYNbRW>3d996v0fO*>1=tgyJ*5Jgi=&>?Vp!R z?!RYbsa{>*@gdKG(-LzxEBa{tS+JJ9awBv{3-Ms?T5l=cra)$mJUcsw50)Qn(DB!L zCV0jLm+1x}gif2YY07myIp4E%j=F=#9r0uwb&p5Xn++FNi>yZ*fdrC>`=+&c#+qCC zsdxR;wd$w86>VA_6Ei%ij4xj&$Z=G*tigffn=L#%NGrIAHNx*!)XD`Xx;}RjxCw$g zX99{HvicTVpr4c46=HXo9i?`Mt09He|Kxq3h{3){&2O)P^OpE1^4!ksA?FpklzI$z zmM!qM)FtJ$a;;~boU|N25GAByy>*?!sT(QxaidPIf}^r67>a7Xpv_BHE2k|9Nr+^w zGK4Z?xt~qRug5y^D?-v3yGEjEdJiA9IKDc7A;lYRMRkv`8oI zc^Ex4v{Tuzrw<cC#pHKC0 z0wCM9e*%C}(PXofC{-x8yZMNy?(}wCVxBQs{OY1kZ|U5s)?&2y87soqehYpBjY|g) ziHA^r8zqjw9MIwR(!hlh;J{|9z29@XKG{kOUho|xxyQ>0YWhQZr6Uq|UK!NlOx4@& zytzMCIbC-9*KD3E+lQ3w4HgAL+eGu?J$<;AW2%o8E%d1Ewtdc=z9hgD@8oM~(HVYv z2G4tjeXRC%W^$DLi{EEo{*A4JD<%XZ#uaf{M*A`+n0DW2X?#%ChN`;-7L@Ek$m8q>9fC5`Y!MPuT%Pb$m>90KGFv8Bts9nlb!pK#(B2$8d<`l$3hTk^6FT}>TVuK zYikKKYebcY4TqD0mkVF3$OYemPd$z1w7hE2jj_5D;?lFnfe6zNm1(mhSF6%QTn1;Z zoJ^)QbjK@v{&dt${Du%qs-8h}fABFN988SzTJ}te2e*G&XRY$ov!Psg7spZ&_sHAq z6lb`4#>AkUiORRgH*a4QKW8q_0-vQ>rfD(?BT;a%M7;WhXwAU7VVPd8ie-;lj)w5v z(A_Kp2cIZIBS_n*5g(KEONG9Fr_kdMM!oj-9^@WzOAQ^4**M{b+BOt~1pMCm{?-2< z!^MJ+*wM{^V1jXYu2&9RzhHhlsd1<+wLVh1vN43BgO`q}D1R#7TG+~;sZf$tm2K_) zUa#Z=dBDDCMCbhAJM%Y%w+V*%KX!SPK#R^w#_sY!c~I0y5TneLK&emZ;FCn&O_7!v zyc!sKb=i%qdQ`Q-2AaXd!?;3bdcy8iK! z0bv3tcMA%Xz7I-&fpWUL2LTD|XFcG?I4vCG5HyOoriHu!60^raIwTn^E@r0LFe1JZV#*Yum_m{iCXYhUnJll70T1*wJo770j^_yf3RHB8b)FQO7VTEbJWIu} zO&s+cNRR7-DbL^a6%AYrRzUUAsGDHV(t8-zBL$}V8@a(CU;pVCNZ^4f1?UbDI0BMf zQk`Izf7ez0KSsq8-pvwA_mbhi** zg`%>dR*vl^MKCrQtT2Yb3b-5VcRdBW_y<|8ACzMZmJwjUe%RKbe>L$4mk?0!B0ze( zs2^Ph$KweOMqp^Fzo7@vDT7jMicc0RW|f8pr=uJ-?WiT(}Mep+<1S?Ptgx~OL5PNWI}1s2-&{>Mc#YIHMMr@qCrFu z1Ox=6Mi4|rK&eU#h=_gqooAl2F2g zgseN)x6irf+iUIpee2x4_qqH2?jQR5WisnK=lhN^p7D%lG!N%^?ChaZ>QmDaCZxZn zB;GSTekZ~>Q?%F(Qw4E1cc`qdiLZ2Kq|fl!j)_`fsc4$a}_^jE$+REp>=sP#hL{Za$huCG!pc#OB z$8C5f8h`4xJ9AxjEgbOV2H8|*zpH$OFT)v^uH!3lj|+Z-#AEn91iL;~q^{~WhiSEc zXZ6+hiKbNdnOz)IhKhK84Gt0)X^c_bGg9{H0{6BoREZZ`p5EXl^9(*&*rQe;?q67r zMO4xaI-Xnjy;nIo@Ig9+}(_!8TAaB%kDuHu(Pb z877tJR0JwkK0*mllDp_Al-`BC{dnClSkG6Fv$`~GFFs5ukUop?j~q3OGo8QJ3l5HT ze!q^m8^}DHeK?IF$;3}KU{zau0l7kGUcl4=vUfonmf5{oeDG^$+vShpCe=!+i$}~l z%koK(gRACAPwa;NUA@>pV!?m?H-8_>8t`$Ugb+(>h;dgwrvy*FOTkIG@m{t;m7ig3 zR38s1EY8oKdo`K79WoYJbMx$_(`qb%{oaAg-{+bSW4eui77%dq$1`60#cX-fK}!(k z$mnvC`ndmrZczx-;n2P0ZJ(-uNHkQZdW2 zClHP{T<;-TEv@^zZI*3L$i5!woJkKJYD)j5acYergN}9c-vA4`_%~$+{-KNWU&b8% zC%VUfx~{bZ2@yYam>f#18q&1P(hDK@5%Pg?dQoU0R5VBvyLJC zNk-}@w`u=n9kv|@n(KRG3X~*X*MW^fDP^_?8x?v!n)-^jxf92?@$NfoQNNSES`^(2 zhxu&LHEQ)9y=5nmif|DLarN;z0XiGC+S^u$$7s=E%+Cwr1*Dtkjpg9<&MZF6_!-A+ zsJ@O?A#*K7t!w=tpbe64#m|1vYFc%#iIyG=mH2%!*$kowQc~&e83L5jriJdjbZw>e z`t8hvA*G=eaDFFv2W6c47?|ZMqbQjJVr0`9>0c?2$pFHVpZzRBAr# zta;cW>P{*6yh5viXq~*iU(%>V4xHhBat+VxcyJK5hW8$wQxk1NGS zv(i~wc1l^P_WSR*p>Y`(Df3V0_Cy;^ehMG4as)oE?vh`s5^}f%cPGeOe)U0Pq0_Zo zo*VeaNEz!e9c#!1B8*soK5dU_F{Q)F(v1l_!>Zm4UM7Yzglh zPaHSXums$I_{`rRT{Y2~TBYsyjlNq0!iT3BD(+PSq6S*Ubp)k4-R>VMIX42vdey%) zlYnbpKVi@CLd|ju(_}NmVcP}tp{fy0{UZ9Arn-9a%G7z)V6M07OCy9D_l;Gd&F7jU~i%;2M+9#Y10BjGnF@$EoWk%%!R>N$zbh|9vGTz=6_;--l80_H?Q}h*W3rGNqkZ4EOJr=rg*MMAoUC;SHA}GD-oUMtQBH#S zI?(Bb8UoKU`1%j-SX-xs4qOb|FcKNpc;hX9Q?|BKTKAkn`Mnd@B91dPF!yHx`ulO; zqDb*V3s?MXssfv$wG$kpbIezcu|ufWWxKPmB<=9uAmUR}WNHI17(8fMTyvMf(7X@E zgfr;ERotCe0gyVdAwWKudfPuqcjQC^)UihL2ZPyXs}~X+%0F+$7((;a%vyQ7wRzJG ztOw-1olR*EEV^M&BkR`>1E7X6wDe?OvATW0i&f7D}#l+F_Y(tLAT)9 zHjFoEC)IvvO@-|(W9<6s(Y>=wt2$y`(akWVOv_H>s2Rm7f^*$VztK?s?IL^PJlU@E zE%j9;e)bBvCeDBTs`0r+3O01K1aflHcQq}wjUh0oDdR>Bl{NV|2u3FJ$$9mcv5Ak* z?n7?>2bQ4x7|84?fR)&5&CugnLQBi6%hwc5c=D+2mnRb>wr(*K>P@);`y1qR?ATU` zdYf_0Z;%YDltp&*bx83x|F55R{<$@Ryj=&6N+cRe-7XS-lGvUBVNNuL80n)hAc=Ha4xvsqM$Nm*Y$=8p+iKE?$ND9`{aFrGNlqLAoq>v^bzPi{PE|2u8%L6{L(17;7B)-~Eqo?K^24?cAhkuda49XMTVBXwgIJ zgQ}XSC?q6~zom<2g5(N;K_(1H_CmLToWphG%7o(j<)g7zn-sG+Hag{AeRiZ49`Ejk zP_z$#%TYM$0x+W@%Y6`d5wh>-XJ3N2u9hafA5q%i#l^q&L8dP9B5rkf>ihtqu~4(U z2eNeSkYGFhM?BAiD`j)%$Q!fm9uGMAhPSm2V3?_2KsTr!WSmCc?Ha}NY_0Q-BN06Vq#=cy$Ok3g zUdsoHT#{QWc-BFEIdfjp;YBbe9OOkQa4%xYWInA!={JV%g@f$UV~rwtUf8jEuBg!W zQ}BsiXN0ex_lI+{8NagQ@>ybX&Utp%Me1rfm4PFA2++u)E0A%|^C(pyfJtfkNeGD0 z%1iGZA|(Gb@0Ci4K4@M!?O~2k+?77~_IpZ42KPu54R3|_#e3+29W8UGl;5>%BB!r%JnBOv?@ z5+E`zRt{=j@Gj-%baL>lwzj*!=bC@*z`zoLB$YvczcCrh(W~mOKQEIu1e+_nbCP?@}d?m9870L^9`im$KE<%eOkbI6gba`+U01 z7^S%~zF9Da@fF{SW_q;zQ7VPKn7pMubUqdC{bFR@WXQWp#8*mV@aywlFX8&A%jT~S zS%jScdT0+(iU3!d0+renU9t-2@s895K38{mSFL57r$%-l@$P;JBEVNPO55|LVi#U(X1K zAsl2H6+w|MSY^#ZnNTn>m5z7YQ?xm1$$9(D30Z~(whrBLbZd-z^u7A@SxX)^dbOL3 zMooN!6O?EQNKKWI!&@+1b7bpwEnb)yN*&uF%TH}0o-A@F3`aH;8@@Mk^SxK&^Ev+v z`WvtN8h^#%JGt5|6JWOi_BwJ~tKD?VY(d}OWO0sXHPwF{-fB8&Rxj|;e!TnC>_MwO z312B!)n^gN&v(8YNLz!=WWmM!@nf-6A)tc7-FCSf44ha1P(#XQu;b@ddtc4-75Q5S z1stBdWZV1B8c6m6FA%0JX5%q+a>$Pp?hu_9($K`GudebmFE7BHzt~jc>iY=mxi{Se zn|JT5&7Jhg80sphq&V7HA0O3tiR2+QTsf(^d`M2uuxVg``sw`Drpm;nzD=TGf+g_+MtyS4vU)iBy zumn>E`(Y9Sf<%kmRA6?;a#c?AUiHVZFWGVB?nQLwg)n2~8K>`sU?h*TD|S_;pfv7s zY^y+g$aG0Y=e!=p;Q5xM`Z>FXsdntO()RvBDm#mPB<9&3H$4QI)J9k_0!wYTjU_VE z!F+oq?^$jd*()#m@dXKBkTeNpT%Lj?u5gvRtG5f@U9SFV5B>B&`%Upb@HZ;mGdZXK zU6-S3xtnfG#b}#>XSLW~#0r$| zl*tUpmMME`g+0*`@751eR-zkx$IOnmXNZs9f$zG#_uxFZ4r*FvCYWKS!>zLZ!Chx^ zn`SpIK?(7#0d&va4}drR+0veV?}szs;a`Ge$S+47i7@DblV;WCmX?>{$n8#4569;< zLFg?hvqMdPipl? z=XpCr-vf@5vW@4J9~&y>t0g<-%K!SN{y=Ei=`i>q-Xw3Q#^P_AK1(yn^A?*+FB&Hh z9LGN^CUr=!)~iGB2p8^d5a5=K=r{tc4vZPJjo zo*`MH?l*i%rN97Dbu#kUnV}-{p_t%pYuW|P@UH1H(+KnlBaR8r3`MKQ&Q|jdZ!JOg zeiJ99HX45{w;#=nEGBkf$LMM$$eSV3i(Y}59BK%f*Zrm6eP=4WY~;;HsDVJY`**VI z?tF+p`PPau1v=Xj&;y*h2DZv#cSJI@0w!Wz{}zlCsdX6(8bT?T!kx%OXi$~6#zL=iT*0Q6U9dBE%p#p{jRWIbLJKfw(=|Nk_bY>GWX!@ zJ1*J&!c6XPO%-w%X}t?i;HDy)hZ#qfVH}mvr)j4evX^TD)25Pqj`>b5a(IZ?ba?qn zCE6dBWO8grY?j`E2por!O))>BYym@s791Psg;`LZRN=#Yf~=ZPCy`jHvu0lBMYhg$ zBjnD#$b4YE%A-;6@_yDPf~U@J^pO=Ew9 zRJcXLT>C^P=t30eGX=Cb>Lf^IH3wZ0f~We$QNQtL!fg+-+@w;AJybsQ-JZb_cyGo( z7)QD|!L0$zESSy%;Y|qL^aJvw!>FdkEapYCA_XM2U2guEK{JUrBTv<~_Mgf?%8A>M z_P1(ZOT7HTlPhhsKTNY@3<|?nBFKuguHbLjLeBsJ^%tr6RaGf{mww`hyeonDZ#sl> z$CGN82qlkAm}+vT+`&FbjMH#Vix%OI(j0Pw74!$8vm!rR*GHw}iLHF)Sm1?w8xLG- z0$WAjSRZ_(qkW}pKb~<4rAxVrrwE#nL%X7?pwD2Us57%3nhL%}wno}dau%(st-Q6` zx@2`8IM_Azi7FaC&n|kz8B8srT|#DnMi;hf^jNhIU^NhaN?d@b|&|?zA#vYTF3NQ_{{vuda*IN z%Z}nyLLToDztlWJ*UIrE*bG?>+B6LlzL8{V>tlw8N`@QicZmu2E(uwgZ-afoFf*W* z8s2>xkQwa&KV+n}3C%4Al&|H~yD@mqCF3+|{7t6IHNsVAVS4+K6oQsdZ%D)=j1c3T zObhm4b2(U(J)@SA9B8oy+Pq+mMdft9e0zHCK z18QhjP}ldd_6~qW2>BKLK-#?dkiW>JwQ>F6c1U&q1HT`u%EJ|PDZcKV^IrqgPe@*D zy)SRyvu8^6+AnH^(ab#5>1q0411~N6Ry!9C+_gOt%O-0!p zMa9qOyIyLYeGI##&4gkC)@Qj1BB1B%)(&MsnS+Q_IB~5i)R)3+M`3+l*^@3F5>1D_ zw|yHYV_H-1Z*Sr2D;)ky?`%%zkwmHu*uVYsjtw)t4OA{yUC9z6nARcPR>OTE4`t z2!BMRIy~Z>+;)kDaov#k()cZWeNu1CHZhN@ys_JPzxQ6_@9~-zL7gNP zPnS<2lMIZeMxy=79cl)oK?vhCb5V938~W^o7kq=6jEVEd8mPNb@Bc4=wxq29WjKl- zcApX;(~Sp=RQCe~-2>V>Q&j(?-^4ug9x*wQ~S1w0`$sm!{|5t8XIOA7kog zXv4J_7u+G^Z$)=QNmm&XrJmNp&q2$2KQG`}C_jXndBibf7V#9N5<<1_<8@yIkz@H3 zqm;cXAacy2$K7Ec=f%)Lb5lwy7Upj-dY{wQn%tShm$COpi;##`b?fl^=-yn9G;}hE zUub?!ab8)<2%L`$^~Gqg?*DV>OzQeRM|GV6(7K` z)Um@LXHB0}%YX%(p?M{9#er^l$jFOwhq4O$Fj73#sRdum3^f{7H>DFk+C%C(f>|C; zAIAR-1wa?}t}<-Tbx^iG*)B2XCa-sHaw;NNhX1-*oQ=tuQ{xR_d6Vr#zdnC!K*aw6 zhfWlXxp$%H;~+(`SB>$eN`1}i=QQChl`;rQK=|}48=JPN|G>5o8ax#w8$%SFlT7QM z2y2JDP1fA{(N>7dM~efcrea9w^%0lBHNX5}xx@uKhode}93Ghcm{Dc>y!tKx2ZyGT zPCGA*6pLInGRUv5*;Nj*5e;Sk5i?ZuWy936G);Op|33J{KgA3GzOj(C+&}bItS!KV zRQtd0vG7|VA{g5Ju-UebH1Ud~ivq>D%1UY@?ow>9^=_OwNMd~P4_p?{+-WgoM=4DE z9A`+|)6lu$%GkH=f{gK38>TaJO&KweO;817TAxx_*jjk~}-k zy!&*`4TbgJF9O%q_!k&=N8VYpVeb#yP=X%u!K*&E5KvuFR}1%az%u5FM2^(8`Lnt# z(aZ4cM<^M}NW{ZU560>5D$ffq*Oxwbu1(ODV%Fqkfjoe1v~O#jZ6wsZ*n;k|0Y^RA z)w?s7k4{j2kFwNe)Sx%Mv(Bxr_K=N08`aV`&e7U@fN}tJ7ziStGywvp$KN zs+?!&%?(H6k{^!tEnL}mybSp#pVtQ2NpiowQB4M!*E=24PZ`ktB5esIjHJ+7qBb)b zMVDZlro1ZaBAW6p!|vA`Eobj2D)UZ(4P3~HPzN9fu- z$v>8bRXQ5kzUVQ}zdE1D#wzjcLfRBaTzjsp0JYssb1KSRwwn3ywnYAJosKSx$*qJI zNca*91dUn95C9CoKA`LviuSTm_@_OC7mbGGp4J*XyB)*kPTdHOUuD6u@;AuE@Q1Az z?v)A#96hzddl_0X;x<2-sO9#%70{vOx*(AMRg_GjF0HYU8s zshN;>mnBxXmzKx7q`FT^3Y|Q7GWnP9C~NgY*_086B2ulDkkjT*;^dXPdgD;d3!+p* zsu(QbO+pz~Z{#sd8_kAprNV?UGa1uIHA9I;oFE#HA)cc|%txa1eKZrD#vME|6!G3K+voGcHs7Gc&Xq!@*Z;yk=+^L3dt{X0{=JAUCC_ zEzLFluIhs|$rEDXmZ|26I>o6kj_=J_f5(eSQ=nb(2UMeHLh!NL{24)*(Bg$)xxD0_ zPv-qOhAQr@r;H+bJ0n`+u4iN}gIc8gBy89;o2JqXoE30uo#H0rBa|1En=UDA8&+|= z&Wb)D56s3{zMDNa6?CpWsk;|qw*OrF5YlaCy5$F=lJn+fhv1a@1!R&vMSr`$zLBCo zF+$<4Hk7awxnaoL`7B!0CtFhTbVu;7|L@rxPw0~=>EYcG?GvDQ*;K6Fpxnw`#Qm@G zQq23KtW!ZAs`tqogImRj-Cu6^U&`!nWU}}Fi(2QuVm=d_ z`7obp6b(kFJ7%jl-`dwftrY<-_A;0sz1)m9m0yCni+iDIeJW2ierB58sK9oqX78Tj6f&PQ71Z1vs8XzPwVL?7M;3CI}h13=!`WouBhrmP+$+_|`-Kw+2!BWti=7S|5n3vMd?_86p>0k*$Ez?{^= zb+Q^mKn+g+ki!tbwBz@98^K8u5jXl9L{>I4`@dvQZOnca`T&5VJ_F*3Fdk3zQL-j4 zGQgbr+PXtcQN9>*dzm?@fb+db;0ZOZHqoCU5Fnj$4)Zm620=gf0KaSN$ihEpFJxD8 z@n(^1r=Zc7wRx>`a%U}Ntk?(A-)@$dfq2B9h5<^hV1Vh+?|*-iuYMp?j(!dduQ6NF zzsm-3h~OAjpo_`@Bf<9%I~@Yg)42?G{!IREuJa$<)!Kp#CrS5pC_wT{LJD;AoaDBt zSglGy*CnaMkqs{^S&0{lUpjf)P8V=K_pvNiqJkvJL<@h=^HF<-+1d%!5s&}3C`1l5 zv1m3xqbtw}T}BLLHLL%o|8?ZTo9}xcUQZQF@HiSDW13H3e3?23l1i@ky9_(8dcXHn zvx_U|){hJlR}pW~`QMx$|3l&Szww-*#6N*=obmh(LRI;_gP^H()!3*IS(c$M2WNER zc`%Dh)CP43P(ekKr(-ZP**jC(6b7E6M^byLsgw`&S&_RUG_{CgX6_W5aS!XnF|FaD zXC=~KH+zpH@&{ay4D#fQl=*fa_5kq$eHgghEDCnzq4dRSGE=DB5yB}Ag$`}`_-9*G z)l`A?vn36=zP*T$V>cV!vz%o7q37*(-ok#oCBZ+fKSL`u1F{tBwy9&FpqHHMY`Z!( zif%r$s{&M}U!9+;uOG~f-0RQYythBArkF z;TEx{U#q1co+X_ z+Rl0;yu!7N7*DXj3FMHt`4$P^>Pi5|; zuQC3*MDG4<0F!Pa$$c=y`4(>%#7aD#cGmL|>H%OrJL%OroXwxA-GbDBgZIAJf9rl|JxAF8h2pQ=(_xj;V zj)!|zc?DB#As&~apV^ujA9(OQq0R{M<=Smf+qq*sewtSqPQXwTnt}8JC*bUOE2iQ) zGDb_}6GOAM!F@zy($%1@x-s$F^h(WFiH*jNC)Gh0J_bUVws29H`>vTrZ;;(viHY?`>ywZm(uMc_~a6K@qLT5gp4WET>Ye$SajJWriI z?%($e!|$hM3X0)3^O=%M4f;{ydjZ(2)>Txu?=eNEUa1DVz02mmSUwY99xYzQu)$o` z0ZUk=!Slw@{W>aWfs7gzh<%))Q7cZ?W3Y1jn+T1snvM4`k8fe;9OP%C9h>>8cdOZ1SWh~*VW z*?8v-H50ynPFZTPZ0;;=xut~4tz~7QT?9h{9fs5rz6|k6&bmE=We}xLxjSo;0Ons? zwLH8_V?(sO-(GdRJb$z4jkoF|g~d=P=f#;X6`jwZfx_Um>HMd5K4~*kJdyE45YOgC z9iBDi28EZ%`N<_6s8n7r3%f2CUzY$%yG-=R0?(WQ2O{Rm?bnmH=sX~3H3>w|tUm!O zfi$rKbPZ@M%x%|umCjUZk5qSG1@Y1B!EqBWN2~8koYXeC3VPp>lyS$CE|8+haxB?6 z-JnA_p!fq4*JWjw+79EV>yT?+Z0|d@>8J+q=7$G*XqCS8av$Z@Jii-|r`au&+}0-* z70B}#bT>E{Q+83|U@{xSg>ojlq_(Bow}~H2C5e{Xc>M+$w-OY-FQ|5O@@aa>YTug& zWrW6XSJrW}2Nx%%TF4wE)jSGjCh955wirMo*gc(24aoT$#R+>o@sUp%Y%dSuy=Zx4 zu~zmrQ?0052`UN9q(}osZZuEEAdHP6<_?OQaN&siL8D#jncpAqU5jnCAe3}4(&bhX z*re6U^_-8s5E6TG#D-fgBD7nF#TET!dgJ;7{E91un~||zY*GPpLF`Ja!Kq5fDA3vj z4lylkf$AmyUKPtf+kOw&F&?hMGA|3H9V!rrEu9!M7Dz8Nx-WmXy!M{t89Pax1WRgS zoyg;pCokc!usiF7n$GDeT--gcCP^3v2(0=IW+4d!*Elp8@>AJ!-zI-BQ@yUuZXSGm z$EVOf`NY+h<~OAxGq_J;&>8*pxPk$Be~l>0d~~U%Wg$m5PrI5$$3c?>Z~b=N+cyqP zjLD^FLYO8-ImvIq>`wGFRSBFJ`QC~RX@B&St)PHE23)6WuFT;mgWKS1yBDbZJM&rM z-*Q|2gWFi2|JkXnD22IT*o-kj53%HAg3A8H&Y*!CY0_?lS$Uwcyu5?|OZJ0=$!C_# z=aArRYLi7;Fwl))nMOn>$fN1@15-7wm_Kd(^OpaD{ersMF^}sNq8L&rt-)0l1wM@opMyL*&AhM+J=(Uu-{oPk0XF-K4eTyZ&inyN>8 zl$T`cQ-rh-&nBJRdlD!Kr$K;NtHL z3Zz+s%_ICwKz~sT2H&qX@YO$NeP-aFP1FBJf49bBT7zb}j{<$|Bf~M4sRdc zl(bYGs;m(s8^!nzfQyC^fx* zlip*vN}XS!-~BfE8-%Ge_78VdnznT*%lM3ezT10-2dw+ume-?iIX=M+CD4rywEJIp zq*BCtqum^^GVEl||KVZy3pbbZpEBP6CocrbTE}fSd36xhVsSPeR;hMZRBPC&f;UY? zi(&6BO$#42NM4+35bi8FW05M=i0AjUv%Gs#v!79t2{QEGfd3u)%dHu#|6esf55*<- z^HH)y9RE`AxttEQ)IH^HM6mKSyJ!7#s}0Qy-wIu7YLGiYk2-&Fz7%!ixBinp>~fvU z>uzc3t5(5u1-BZ#h&klN8bK>HJCu<>-eSNVr}}Tmy8cP36HB#HW1v82g9-CfVbwv9 z&H(2b{_9p6sA%>_SK%mqg=^)mv(_aX3I}pw?tqJYv*>;XLkYmO3zw$Pj%9`!RFG$} z2bLcxjbG}y@yU)CS92eE5w?7><>0=-pH+$dm*?yBUPv1-n>>nn?(Y*a7GRWzoA>?F zt%U61?u{#A>#oU8Brv?Un;Jg^8-xAt{`ky)R``wEPmTlShLym|P57=jo?6Pmz<^gi z0H6D7C+PqC<5~YZ9o|b<0m`!Jb{~i2m2FiHC>QsAbkYyack~z>@BO8(+8IN-_*3YG z`)jdUiB3+xvzm-%pFX@ybO#JrA6^_x1J`y zoLDMy z%{9YL%R6Zdus~JmuTH$;zn?oYG;5GJ1pD2LC~Rt-irGW}|5SNP=aI;qFaQv0ON=7PR!hZW*}JaTb*It7nQ^~s&${ScRTP5 zyqx#oiTb#<^v}AVFYe*~yi5}M6w!A5Hp2c=b$0_uG&yDaJbXq}eB#{Ftz1f#gkZ0% zol)~%GY)a`ufDrR)0Gbh`Yx6MQp-P6F;x%2#w0KR#J&IW+mHXd6Ttpk9bbwd;yU64 zNyCv@KH1%cJb6x`VH>imipwS$Q;4%?s+FyIx=wucz4B?bh3mXmZmIgK0uzU1K4ZUN zrSf!}Tk%?|X`xnyV3s1RHAeO=kW9I&4;VQYOnBY&gm~6qZ&$>0-KZaOt9|<=#XFY2 z@e!!fs92`)@PKGqy&FJYx9rN#T1H&l9P*GJUU-rCmnOq<#otdS5b*eKHKu>f z6#rL!6E&2;*vfS#z;n}jxYVl8_+xx;ZF=(SD|MYDh>Yl-kCO^nmYPH6jz*sadQ3l3 zCYOgB!Xq`|a{ z7U#fTok2B!RJI3W+COy`03!>RyO{Z}AWuh-VNkJO90nRjaK}%nyBSG;?HqoX|8)l4 z|392y6an(h1Qr?EoPF@ESmv{ei;&LNC0=8kPt$_J4h5%6@G0BE{qBdC6 z*L@3U0`pWZe=G1^TORME`+#5~Z0lJD7auVdC;-LRKZDE6PxY{vvjRgWjJB(kuE=Mo zCOgZ6twv4=aEwCA!!QK#N+uP4mZ<{of*y8LpMwgI7!I;hPi~ZqdWH|t*fSoppM|cn zX-`w(>IzjsXhc$D&|9Ur@!(la*ZjZhffE*beQIQbBgifC(poIr9XF;qg5tP=#gpzX zU5oEb`g(4Kx`iJir`!v8uJvDvYrF4%(dFWT?vlo>q2HqsrY;l&44`SG_5HZ-n8ny@ zIAfe5zyyvI$hM$~WP*($1rnUzUiF}3XaUf@E5?d_Gnnx~P=*+^h5AABnL&=J^z@qN z_!aZ-u&oOFQc`V*!mb8F2=gN+6SL@A-@Jz+s|ShXY|bLQ*jEt8-ejku09P22e;=#e|xfjiM7lemjVc=kGVTXFYhS) zYAwHZ?8{_8p_b{#q6NtBqBP(?<`;i{UMCkaGs9p#7Ee{v1z)_JWRvRiL9hygx&prB zG#4xg2-N(~x4hY>Bm1=(2AbP_ax9~B5mXxMC?3rpeS-pBkpvo1a6b+lufSFzVHO{A?L+mqIQqM@%-9z78+qYgkw9NyfbM)ZM67v_^9bJOaua(&m{{%6;sS1rE6C3XbE(CSEEl3+WQ7ce!dPxE$bwW<%D%M%%I^g0&UEtT?9 z339x={pXV}Gj2kKYYZ6R+CzQz5wMq@XzR2~jgm)Mvf#$1d%QS8-iFxTQ@nfIS?=q} z2aojlo-@OF7$bP$s`as*>r%7`j5SLFRIrTO^%N)UM)_jIfmNe(97wDJuM@fm9M| zT4Akxg4vqENWRqVi}Rgxlt6J<4}fybybss_p?g#lRn$( z$d&Vm8YC8;nQ$nWvWt&V?uFV6R??cTc7hP6br5eW!Rx6Z&Q4kJV)WsjWF4CbRtPWh zg8~!%K1fz-$3l_QZFa_A2bZR~wnai^9pW{C2L+zIyr7p}dyeb+fu_Sa_We9< zQBPh6FgtU#S<(Zo3B(b-5yZ*_WRy;9TeAfAT6MU2Iaxf(|JY_pot|G_0#8=0$BDD} zr8eI7+S3#Juxz{n%6AqQhp)C?Jv_V0*S1%hcefaT6L%uFO*v1cQ%-HRd|wo_rgHn9 zDwBS9^jg|GjOTv8QH~UQb)IHp!v&h#?0N@Ym@WY3VFQt)U1*ckLX{SmGkl>!OfClw>AVx&G=Hfjynf47 z6l$JAhtc@<5X)pl_XUqV4V~&e%U{VqV%@9m-7^YG{#u}5^wxZ1(Rce$v6t`%b%7-R zkcZdD$67bP=ybDZmd!56Zr+{gT8*W+k*Xr%qb$sa)=&tV9KhOcjo~3h{OpQG8Qp(S zSt5C+A2wp(cMhj=^lh{ENc#~UE3hL(FUPEE6KF4)P*dbG)*8?suc_zDZ7a?x{D&Wir3O-O?Acr_dGu)QO+c6*-@{ z+}5nrzp65MHb~Mv!^^(#Cek+Hv5T~r;Y~%Qa7Ssh2cw(tZu)q$5TgUe>W>pb=Cq2l zfnTxPTPTl#V3bNj(*at0T3$(MJo|Xu<&kUimNk(cQs?z0Q#YAHd&JKcwBe!|8bAlE z1rIii=572vm}=_lf(rox3cQQ;{Z&JawwWFT?FyCmJwZngUA6TdIh20kq)N@}(sE+! z9GAt`R1CfSEr~T=Q&TgPJl=*mrhTF&oPLR>hlIB@Ln#hvV?*1|RuK1BWQHo&t0$uE zW^{dgl!IzFZ6EPOZ+sFHjE1>2c_Ku?0(AB&pqnz%qYJnZn>5;;j@_b6W$y%Au5mY%@z|d-e{uVl_TmuA zJl}nd;< zFB$`97ga1Ng6+^F)dk+9*d}f2l9-~g)5w(VsTh5?I(KhLUZeB@$Qbb%ZbaQ3*^rp%ROb*AY#evA^(tRXXg($`^TGiIs-2JEEH^XHd*j# zBgc%_8#$C4MXjA`r}d!>ZhVJ2ay}`v$cXyPGB?XP;T3xAsWi^`UQAmUfLCuAYY!xcF5;n)XAXW{1b2 zvS7et0p`HA!5rApy=hP(4qPYyu*JG%N_iiLGN&1OP|shPIsy2QAMezxM>+B(nb#L46gb<<30ljuY+IbS$QG zj)1KfLN6~nl3lhIy#%t5441X2lj&t22K>_|U%%gt-^@8b^)0tNMC@;g^&o>*?Cx2t zAb#aOn7ke2N^qQfh-Jt8e2)V2Ol9TZDBn=m5A?82C zV?TD*(M*A6C^Isgs9ew8x`47Jf^2zN3M=)eaNFYQLj{#rDTF1`6pMn7i@u1J_sW3Ku1MF#WXxWK*M8(+aO4*1V!2*-3%n{-t-SpM^f~G4nFIMuJg~aUb zt5+}K6hNs{)2Aq#Db+e4mNX4T*^g)j5oPhra8I;MU3rX`mheJk#>j}A_Q=Q-=UU;M ze(YDdV^`{a)Dk_W7S>{|D%3!imSA)fR@v7w9fd3K81R4}(-b6eAN5qio;OBFhr2I} z`Z$-Bb>_*hgkb_+pL|D;rg6|M`@QKQwDZU*D7P(Ot!p~w+aA2wUzwlcuDozHk61)F ze&gG~dGnVI6B%z*wiQ~yL5z!UjepMIr7&<5HBwYNj1Q32Z64al`iQSbI>P+ z@-BKej(hEoOrm-;JebFK^ua1l-w)M5nvTW@f@)kI`w@(jNQNoILt7NoX?Gdf z!W>!HvmB*nMDce;RvDHIESn`RlIk%M3?H!%67a|04w(+X$d=P0^ebd&3odFD#)Z-? z01!9vpe6$6*)`JKnV)=Z{-w6#uWj_s-D{oGsW^kkI4Q}Q7cPeZn`vAJ7q6}$z6Y%hu6$CCg?-zgYB)F`8OFa_%!3k6N@dfFUgT_77sMoJ2 z*ePgAZTd+D2lp&@44g}wT`$)TK(v5$=@CR@)AlrKNf1%)Zbw=`8db2U;B82VnD(_b zk-l0*#qM*T%k-hWO=D*J@#J}`QzcogqX#1n2XZ>Z&r%)%H@Ocx!k4gjpTk@DhiWbd zz938;AGs^_l{=+K{Cnn!PSd0XC^$&$V1FC6ws9yEKqDDE1{=A28N4~@7k_NAVsUWE zVhlbh((u-(u=M_~$_zf$PO}l(%k~Hxv5r{nC;mg*upc?Ib2yp_`m2*5r4&zWz#sNX z%XZMk<^fi;RalV$V(R9b5Ei?~eW zE?RQ@>w^9I6ES^9) zsZU14HX4(Yu9K-{nY~1$ymE*!(kpS&&d#n^tbIq0!yw3gVe>HCh5FjKYiIAH^!A&y zB^m8d9)(Km3m*UqHaXjATjxdo1~C}Y!Yo%ue&Ec+24vKo_w|p>=OH*5TPq7qZm$Ti+i0i-Z z(7p+uj)^#H8gnJZ?>lubi(+-=hg@DAuyP*Y6OCKD2LL)##6?8ZFc$-ybB7a z;zgPoN0S_{*F;#p42ou{ohaFOc~whq21Y;T*8Up=JRD5mjfImO=b|#lJ@KM+-2xBc zk`LO5u`OWDxiKN_NS*hm@zWwb+^;DE^|+@{@{LI~VnGKc3av2AIE%8OtnRdig!FK; z+k5S#1yv2+U-L$PA=lPaM9e!MH=Vw*e&Ir?!}Fpqzc-pX_=;T6b{NIshM;hhl6Sy_ z1~Lw%KhwuCF+FxFi8v>Yq$z%|D(mrKvybN29z2H=US;dq6tHsk>th8KCfaNDPS#d0ghC#ZcHTE=eS5zIZNGanw(lF z9U-!tScvH0E|c9>Mse=yYEi@yv?9u!V$6ue#RZf0$ct9q#f4Q~n3Y{pMOmamnM>oe z9FN22_q`|Y9<)9*sC6gibn%HzSlHA#{2*EtWj5$c{#Ju=^CvX~q*{jAU+{1>iOM@r zelF?5&*ujMuC#HTH~cJ~PyqCpH&R{^9KiB!mb_Q?)k_<_cka)9n)S?UGwt*4=Xyt~ zQ+N#BfT0{gD_+mNf5C%)vCIGS(Q^#e{U+GHynz~VT68IRcqB`#FC1l< zE1jsMCpWPdBDZ^xcxR*Z-fa^_%}?P8iD$K-U3;Yk#0J`8BM&J~eXdX3B;7~*-Kg61 z_SY^y3OCI|()xGcE{Mcnrm%oU#iQ@IqtilgK~#Y@-}hT%OT6})Us%>^B6}OlyTZrk z`wICNliS8H-Q&m}Mu!;lZxADu`ZZZXCkli-kNggKii`YD$a6QI!6Ed1${kNO!HV}e z3uO8DQ{%){YRc+qaveWHow|jOy{tc|D0{5iAF3vGByHEC4O=M_4Ren3rD7>4?L!pS zRu4aD#CM>gb(({2P2yhttP(Xym~rwtBUd%t(a7#Z`Z99u1QydRns{1K8Xe9Uf>$)Z zp;>|M)c@7qbw@S1=4lWWMG;YYix*H-KoluTi;4({fQa-G5fK3qxga$piqcCI6hwq5 zRjC3&IsrntNbg7s3DR3a2_F#RzRvF4*}2|5*EzFicFyel5k1B)<^A%$zxw>1r<^s* z@l|h#ZB`);pxw0Y@X$JSd|&3=^lGN+@LYVFre0qa9`0ssji+3}?t=2lo!zLsb(LyR zQI^+ojR|UJWj9^l&5oYOM&fyJNIPYVX^_ zU3KmZbvjwu^a7sw^C?V*vK4l~oP1URsFdD9FHvB~*aMrS* z=;Vh$)5d`2N4KvLRW4l=)Y)kcHWGgHxrhklMs^8UlcnoI1!UoaqlwA1wrx`a39FAC zHuj3vlN+7)Xx@$ZrlguA=Y*@dul{{8gE zM11Dd(#6;Ty|*@=+~cXW*6u%FtUD5T`lHq`-!0A-9uGmssrA@;4>bP?_-GpOCM7YI z(%DrnL%B)VG%@YLH4P@5;O8|39bf|+;o6^zJ$_lw>1$$vm&2u9l{D!*uzDC*r4W)U zNUM-S^r!1m_td=Io4(0mEN76k1tj9RERaO{M_WAa>P0O zZT8wvA#5L%!+89*&Ay*O=V>;yAZV|*UY5&@S)mD@r~`fS7mGpr=}K`?BJoq=$b^M` zlw86Ao4wh)V`NUT@O=q?)`A4M6N-ULgbznm6Cz^cV*;g!!EJ}F^~G#=EInKZhLvfv zpD|obq^Z?i3(btnT2bD5y%QtnW^yie#O}i0L&{V9`W~uqq)+o!iuS3PdEN@R-Lr}< z*ecx$U96v}sgk}p#HDiiZ1$uXDyNyhHA+V0tsA|47x?eRZIAdAzN_8yKwfSZaK7g%#l0>NXpf<=tSQFc z$0UilwRcV)ipCyPOC2zeA*iY*`Hmj9H*?23j^ml9Q{tEUP5lG?Br$^r$!&84Dz?g8 zreT+w$c%tu?UtfRalRU7*P`@2x}sm&^pfMX&&~EFaWV$kZ;SWb_aB^m!XbHpy|OJ0 zRbR>WxC+LtBK>Y~#EBsSHDn-W62bGGsuKiI0GPz}LFK8b{eB2#Lzn=F$-iDFJr5l+o2rE~fOpmoK$)JYc0_ zqW=ZnDpvSJlEPorNFxSeDZmADc@cmV44Qh`Z_oKK6RKyOuM3mqfJ8j)jJEIv{RLq-cF*Vl!*8vEi+ShZ=ZEo}&)IINf2ab!a;tOtNF% z48izDnY2bNZ3(DZ_>;XkFJ{>;4T%S5)eo8FQF6!d^{@e*F?9HeasbNQSFTLKSBadA ztuaw3ZGGYGm*W+Y%_hA<8Pa&brEppNcH|+7CGS$0LRHmXICPjdyi(e0vl_uEgA#+1 z2_xdTe2`|&i#88@w$gZTm-cFF9v>rO5yEAjQOm>U9~i;SRq#}Mfv&u{yPC2#)><+q z!-~{~!bXS1>Ryqd*jlh9u)47ty$_f~4_rZY*-JNXv)R8KGvM_kC~>!QkBZnPGe=NS zr9v2i$WwWIN)1L$4<4tQ(Bz+N+*D6NSUT#ww~qH7Xv{&D#XSiV|M|*{SaICdBjb|h zVY-+%Q%Rvo9BPnq){uk9NvK1L8z{;BKH$Lq8gO*| z8gR&DfiT;sOGVMfkHcTZ;N8%OeQQ_tWLL~Y1EZAxM3fkyX87V0U2A=|d&MGKP1$89 z6m6o@ZT!kYdu7#Po7ShMiJ|)1@Gt8&4XoSyw7>NV-8O>43kBi)>ZuJR_LLXn=5LsE3lLC)EFrSqCwjBQB` z%6hvS#gLazri%-)%*#(8V4#+Rg1&{^?q8WUZuZQ!H^DJL^$@i9wVq8*{Ha~{7BppR z=bWBG9YA1^gZ7ky6M)s~Z}-w{D3#9cB!ZL}qgm7=ZBu;R-7MxDM; z`w$x2g$~Egl~CGrA$d2-#2{(%(L4%fUEg8pbz7LNS5?GL{D45u)r;p3!OFT>1~MQQ znmS}Ky0~M;TCfwv@5OS3vQU_s7V>V|qY{P-Y%=(8DK4tl%lKqeO}6X(i}%~4y+A`(zVAck2(7fFGMZb%kIOiqyH(TKFOWA`VVnQB%# zaD2S28qI3$peFGlwgx2-(@@{>5~*=-!;+n+GVrss!ti@bOPSBfk$biHytUr1o#XB@ zI45F8#nMzDX=0K{ zQP;{;)@V`S9xbu`4cqVVoN3>?gY66(E0cR25)bNFHhy+$e8{6}!k85kbB;mIaJ>6F)M+~t(5 z!d6VmtTb6yW2H&HB+z@|*5kP~gS;0p_C)?27d~o8rhF>6vtdDUnKJ?O%$~umd82Is zpm=gDGd|8mZ8*j2UTfLs4f4J8yYjJ3nq3`6Sdc5N^xyM1&1$g4bHXNC-l< zWW$=YSQA+XzR#>Wnf)>g6Kp5|8Zh+JK zLAq)g6qE#&>3%5dz&SZtSUf2#jbx0FXFN0lwdb)d77xWEHP>yAwI$M(z&hihkv;@e zknF@;xtm&>xF2#rQ(4t}RxrDqM0ksy&C5oawYZ>FT2$;_@#wrf%r;}`e2w{VyBXFA zav>E3A%)4RZl;}b?7WwO5TuHydCO`-_*Ki9&IZ2FvnRxj*iUCUzRUXZG=pjMW-&St zp3hP35$tb5g2>|FlG?pv~?6f?Vs?O6DZNAOc$CbPZ77`;ST zY&Dim3Z@5{v0_kaGe?oi2R;*Z)4UXQF;}7(GZwVX%N6vQXBkQ7X%A$MT5TG(+`*4V z(@^4F3^=OqDTFuZkVkViP%nLUadG!kuu}Rojwgw9df+^k+U`@?%YM$5dp$W($Gb;a zWIYpA1KVD>_?U*}$VG7?<;y51u--@B+LNZsg7U+bwx}o8Kq%d*kj_{4!T5o ziC*6=6iSpWeOR@$&&jG%$jf_G`W|IU=~OvYigRH0VEobY7Gu7i&NB;w_v|#xgfCQ{ z+gEj8*BKlpH>y4j4(U>xss|*3${i>TBryCU2V>vWr`7cU%`sp-FzqA|py7X3O!B~! zt7TW2anAK;axgV`R{G&li);nIgEb?<9TOe6>LiCH)9DX`g%J;jM)%ybPOquSk`EOp1Fp8b+4%x7mRvP-P9T$9i@IjWcHGCJ?qEO4#(BV{D} zG>W{m7q!r-DKTCWj(n(~(sQ*by5c%Z#W!F|jvK(3@F5RVl}&o*R20eBeO`f^1QT7` z%t41&&lTMqOxP9$)$c#cJEbLZj4Sh@`lT^`!*Ikv*qA!14OY+=u42y}?HD_-FHUL$ zm54_hR*2bUXDq2Xq~A#rio7Khy6#5m{h+d&s;s@0AP);wRNEN~_LKig#RbFk;Q@1y zHVPL^4JO{bf>Sk(=m{X*5X+g1mpB96r&wLViQ#t^3#lbpdSJnYlaOT1H}5= z;DHXvmXcFPzue2|5Yu2q)t!E7Zf~WqA#KD#`ma}r_BpI1&N|0dN7LSIv#E-p^^^3?W3>ZI~j)t z+MLiNmPO;IZVxcB-ih3mq!T-oX?gC_inj0Rx#vDVIHM2B*&>VyP`0l zJBr{)wDa$ge&Asr-J)#X=VfPO1qZYNXdb!_b&pniAvRpe5_O{Oc`cAK-N&@e=H;c9@kalBz17vz2v$@>;;HURW%_-{iMLiJBvBOCqbBIZ0p~^hQA9(3*I&N9exyBDp!iBYNVsld!Nq2_zImc zLc_alPc;cw^lNmzeE^p&SGsF_@`K7kNHL<6N%d3c(Kmas!c!kn;uO8y^ciN|fcfX` zmOF*K?>|xZm2ERwWfgJI#C8J7~C~ ze?V{xlMf?SaCjR~pTU?=~P*jUHhJ9Hbg1>k#MSg@R+b!@i=!s}?|%aUQ=i?V&E^OpSiD)>C= zW;%cdvZ{$OkWGt0Uzv`0JU5AjuJw@tz-aNHDTWuR_L#w0p)CiNLkY5m4|tjlTDdgP z-VA4Bj2|FTN8V`|b@4 z|FSf;e}%gWA7!Ouh`i{zdyhde%Ur|9*%h_}#W#cBhY49ItgzSbUDfAu95Z@lAuPWF z{WNIrbSE#%MWtoU*(gM&(XFb^W3};R_mkO?_)?tF>NHm(%{RGBCjHFSLJfOwWrtqf zmD10EY0px^VcY|;qiohO=SvD}b^ISBb`GrBvaaGCK| zhJr9gf5JkLQ#~T-VbhkCmB0+2D)JZ3-q55f3^F5Xn$z_w_~>tsYzdtC2}yX z%pc8>`A&51JApyWUp`p~!mKaLRKn^1HtY0q$}pEu*@mhkO+P?7+2XuB25D+4|T; z8T(u7l9?zHZk1}Ts-&NRUpgqzlaea{tU;IlvH3z4U{24Ci|s zw#~tc2?Os&)*=cD+7oo>WktfSWzCVRg3#!0iv> zeit6iNzEihW>UGJo3j^t-M0>2r&Q)VFtw}fLR|HC?)5Z|5WEy!L-d$_xu4D@B-D4$ z>e~KXpGctm+LvW+VYSdIRR4PNLU+$Fc|KkH$XfnqLH8dsd{&8n*QLFOrsnKu|^SJWt_as<;QJm1cGsEKy2`t1cZ@|ulS1E~W$O8vcr)%RV~dU_+iNJEA)q3&tVJyfK{|{r9-v=#R&sW$+jvozo%5l

    1Ni&55SyIW^h#}9bGMt+tRnDiWH8) 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 JM0d_6{{uMe%Deyo literal 0 HcmV?d00001 diff --git a/en/device-dev/subsystems/figure/en-us_image_0000001166643927.jpg b/en/device-dev/subsystems/figure/en-us_image_0000001166643927.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ace4cefd36637675f235df3cd596eca3ed218e6c GIT binary patch literal 9280 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 literal 0 HcmV?d00001 diff --git a/en/device-dev/subsystems/figures/image-auto-adaption-effect.png b/en/device-dev/subsystems/figure/image-auto-adaption-effect.png similarity index 100% rename from en/device-dev/subsystems/figures/image-auto-adaption-effect.png rename to en/device-dev/subsystems/figure/image-auto-adaption-effect.png diff --git a/en/device-dev/subsystems/figures/image-tile-effect.png b/en/device-dev/subsystems/figure/image-tile-effect.png similarity index 100% rename from en/device-dev/subsystems/figures/image-tile-effect.png rename to en/device-dev/subsystems/figure/image-tile-effect.png diff --git a/en/device-dev/subsystems/figures/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png b/en/device-dev/subsystems/figure/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png similarity index 100% rename from en/device-dev/subsystems/figures/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png rename to en/device-dev/subsystems/figure/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png diff --git a/en/device-dev/subsystems/figures/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png b/en/device-dev/subsystems/figure/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png similarity index 100% rename from en/device-dev/subsystems/figures/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png rename to en/device-dev/subsystems/figure/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png diff --git a/en/device-dev/subsystems/figures/platform-architecture.png b/en/device-dev/subsystems/figure/platform-architecture.png similarity index 100% rename from en/device-dev/subsystems/figures/platform-architecture.png rename to en/device-dev/subsystems/figure/platform-architecture.png diff --git a/en/device-dev/subsystems/figures/relationship-between-a-page-ability-and-its-ability-slices.png b/en/device-dev/subsystems/figure/relationship-between-a-page-ability-and-its-ability-slices.png similarity index 100% rename from en/device-dev/subsystems/figures/relationship-between-a-page-ability-and-its-ability-slices.png rename to en/device-dev/subsystems/figure/relationship-between-a-page-ability-and-its-ability-slices.png diff --git a/en/device-dev/subsystems/figures/running-sequence-of-the-test-platform.png b/en/device-dev/subsystems/figure/running-sequence-of-the-test-platform.png similarity index 100% rename from en/device-dev/subsystems/figures/running-sequence-of-the-test-platform.png rename to en/device-dev/subsystems/figure/running-sequence-of-the-test-platform.png diff --git a/en/device-dev/subsystems/figures/scrolling-effect-in-both-horizontal-and-vertical-directions.gif b/en/device-dev/subsystems/figure/scrolling-effect-in-both-horizontal-and-vertical-directions.gif similarity index 100% rename from en/device-dev/subsystems/figures/scrolling-effect-in-both-horizontal-and-vertical-directions.gif rename to en/device-dev/subsystems/figure/scrolling-effect-in-both-horizontal-and-vertical-directions.gif diff --git a/en/device-dev/subsystems/figures/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png b/en/device-dev/subsystems/figure/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png similarity index 100% rename from en/device-dev/subsystems/figures/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png rename to en/device-dev/subsystems/figure/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png diff --git a/en/device-dev/subsystems/figures/startup-of-the-ability-manager-service-and-bundle-manager-service.png b/en/device-dev/subsystems/figure/startup-of-the-ability-manager-service-and-bundle-manager-service.png similarity index 100% rename from en/device-dev/subsystems/figures/startup-of-the-ability-manager-service-and-bundle-manager-service.png rename to en/device-dev/subsystems/figure/startup-of-the-ability-manager-service-and-bundle-manager-service.png diff --git a/en/device-dev/subsystems/figures/structure-of-common-container-components.png b/en/device-dev/subsystems/figure/structure-of-common-container-components.png similarity index 100% rename from en/device-dev/subsystems/figures/structure-of-common-container-components.png rename to en/device-dev/subsystems/figure/structure-of-common-container-components.png diff --git a/en/device-dev/subsystems/figures/tree-structure-of-common-components.png b/en/device-dev/subsystems/figure/tree-structure-of-common-components.png similarity index 100% rename from en/device-dev/subsystems/figures/tree-structure-of-common-components.png rename to en/device-dev/subsystems/figure/tree-structure-of-common-components.png diff --git a/en/device-dev/subsystems/figures/unnaming.png b/en/device-dev/subsystems/figure/unnaming.png similarity index 100% rename from en/device-dev/subsystems/figures/unnaming.png rename to en/device-dev/subsystems/figure/unnaming.png diff --git "a/en/device-dev/subsystems/figures/\345\233\276\347\211\2071.png" "b/en/device-dev/subsystems/figure/\345\233\276\347\211\2071.png" similarity index 100% rename from "en/device-dev/subsystems/figures/\345\233\276\347\211\2071.png" rename to "en/device-dev/subsystems/figure/\345\233\276\347\211\2071.png" diff --git "a/en/device-dev/subsystems/figures/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" "b/en/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" similarity index 100% rename from "en/device-dev/subsystems/figures/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" rename to "en/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" diff --git "a/en/device-dev/subsystems/figures/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" "b/en/device-dev/subsystems/figure/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" similarity index 100% rename from "en/device-dev/subsystems/figures/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" rename to "en/device-dev/subsystems/figure/\346\217\222\344\273\266\344\276\235\350\265\226-(2).jpg" diff --git a/en/device-dev/subsystems/figures/build-process.jpg b/en/device-dev/subsystems/figures/build-process.jpg deleted file mode 100644 index c8d58bc3d172524c78e3c45455622d081429529c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63193 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 diff --git a/en/device-dev/subsystems/figures/building-process.jpg b/en/device-dev/subsystems/figures/building-process.jpg deleted file mode 100644 index c8d58bc3d172524c78e3c45455622d081429529c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63193 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 diff --git a/en/device-dev/subsystems/figures/ril-adapter.png b/en/device-dev/subsystems/figures/ril-adapter.png deleted file mode 100644 index 51d8a0668a19b26071873247a5cf1f483d9044e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33317 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 - -- **[Graphics](graphics-2.md)** - -- **[Development Guidelines on Container Components](development-guidelines-on-container-components.md)** - -- **[Development Guidelines on Layout Container Components](development-guidelines-on-layout-container-components.md)** - -- **[Development Guidelines on Common Components](development-guidelines-on-common-components.md)** - -- **[Development Guidelines on Animators](development-guidelines-on-animators.md)** - - diff --git a/en/device-dev/subsystems/hdc_std-faqs.md b/en/device-dev/subsystems/hdc_std-faqs.md deleted file mode 100644 index a767f3e60aa..00000000000 --- a/en/device-dev/subsystems/hdc_std-faqs.md +++ /dev/null @@ -1,39 +0,0 @@ -# hdc\_std FAQs - -- [hdc\_std Fails to Connect to a Device](#section1221016541119) -- [hdc\_std Fails to Run](#section219185710311) - -## hdc\_std Fails to Connect to a Device - -- **Symptom** - - **\[Empty\]** is displayed in the output after the **hdc\_std list targets** command is run. - -- **Possible Causes and Solutions** - 1. The device cannot be identified. - - Check whether **HDC Device** exists in the universal serial bus device of the device manager. If **HDC Device** does not exist, the device cannot be connected. In this case, remove and then insert the device or burn the latest image for the device. - - 2. hdc\_std works improperly. - - Run the **hdc kill** or **hdc start -r** command to kill or restart the hdc service, and then run the **hdc list targets** command to check whether device information is obtained. - - If no device information is obtained, check whether the adb process exists in the task manager. If the adb process exists, kill this process because it may affect the hdc service. After that, run **hdc kill** or **hdc start -r** and then **hdc list targets** again. - - 3. hdc\_std does not match the device. - - If the latest image is burnt for the device, hdc\_std must also be of the latest version. As hdc\_std is updated continuously, obtain hdc\_std of the latest version from the **developtools\_hdc\_standard** repository in the **prebuilt** directory. - - - -## hdc\_std Fails to Run - -- **Symptom** - - The **hdc\_std.exe** file does not run after being clicked. - -- **Possible Causes and Solutions** - - **hdc\_std.exe** requires no installation and can be directly used on a disk. It can also be added to environment variables. Open the cmd window and run the **hdc\_std** command to use **hdc\_std.exe**. - - diff --git a/en/device-dev/subsystems/hdc_std-usage-guidelines.md b/en/device-dev/subsystems/oem_subsys_toolchain_hdc_guide.md similarity index 84% rename from en/device-dev/subsystems/hdc_std-usage-guidelines.md rename to en/device-dev/subsystems/oem_subsys_toolchain_hdc_guide.md index 76a821114ce..8116d317a2f 100644 --- a/en/device-dev/subsystems/hdc_std-usage-guidelines.md +++ b/en/device-dev/subsystems/oem_subsys_toolchain_hdc_guide.md @@ -2,56 +2,72 @@ - [Preparations](#section05992022154916) - [Important Notes](#section19543134915210) -- [Global Options](#section618522925119) +- [Option-related Commands](#section618522925119) + - [-h/help -v/version](#section51533527212) + - [-t key](#section1180555115159) + - [Querying the Device List](#section174891132104218) + - [list targets\[-v\]](#section12911142313168) + - [Service Process Commands](#section680531510497) + - [target mount](#section396717571168) + - [smode \[off\]](#section179951621713) + - [kill \[-r\]](#section419144621712) + - [start \[-r\]](#section184811812183) + - [Network Commands](#section71176123212) + - [tconn host\[:port\]\[-remove\]](#section191911334206) + - [tmode usb](#section17840182562015) + - [tmode port port-number](#section101113462113) + - [File Commands](#section173133523013) + - [file send local remote](#section126223231307) + - [file recv \[-a\] remote local](#section26966541304) + - [App Commands](#section2072647133819) + - [install \[-r/-d/-g\] package](#section49615195111) + - [uninstall \[-k\] package](#section167618461814) + - [Debugging Commands](#section112861250195015) + - [hilog](#section32171612221) + - [shell \[command\]](#section524235625) + +- [Troubleshooting](#section592920255582) + - [hdc\_std Fails to Connect to a Device](#section74019384588) -hdc\_std \(OpenHarmony Device Connector\) is a command line tool provided by OpenHarmony for debugging. With hdc, you can interact with real devices or simulators from a Windows or Linux OS. +- [hdc\_std Fails to Run](#section6825095917) -This section describes how to build the hdc\_std environment, its common commands, and how to use the commands. +hdc\_std \(OpenHarmony Device Connector\) is a command line tool provided by OpenHarmony for debugging. With this tool, you can interact with real devices or simulators from a Windows or Linux OS. + +This section describes how to set up the hdc\_std environment and use its common commands. ## Preparations -**hdc\_std obtaining method:** +**Obtaining hdc\_std:** Obtain hdc\_std from the **developtools\_hdc\_standard** repository in the **prebuilt** directory. **Example:** -To obtain hdc\_std on Windows, obtain the executable file **hdc\_std.exe** from **prebuilt/windows** and place it in a specified directory on the disk. +To obtain hdc\_std on Windows, obtain the executable file **hdc\_std.exe** from **prebuilt/windows** and place it in a directory on the disk. ## Important Notes -1. If an exception occurs when you are using hdc\_std, you can run the **hdc\_std kill** command to kill the hdc\_std service or run the **hdc\_std start -r** command to restart the service process. - -2. If no device information is obtained after **hdc\_std list targets** is executed, use the task manager to check whether the **hdc.exe** process exists. If it exists, kill the process. +- If an exception occurs when you are using hdc\_std, run the **hdc\_std kill** command to kill the hdc\_std service or run the **hdc\_std start -r** command to restart the service process. +- If no device information is obtained after **hdc\_std list targets** is executed, use the task manager to check whether the **hdc.exe** process exists. If it exists, kill the process. -## Global Options +## Option-related Commands -The following options are globally available: +The following commands are available: -- **-h/help -v/version** +### -h/help -v/version -Obtains the hdc help and version information. +Obtains hdc help and version information. **Table 1** Command description - - - - - - - - - - - diff --git a/zh-cn/device-dev/porting/transplant-chip-board-hal.md "b/zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" similarity index 100% rename from zh-cn/device-dev/porting/transplant-chip-board-hal.md rename to "zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" diff --git a/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md "b/zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" similarity index 97% rename from zh-cn/device-dev/porting/transplant-thirdparty-makefile.md rename to "zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" index ddabc1ef30a..a2a6a92ee5a 100644 --- a/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md +++ "b/zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" @@ -148,7 +148,7 @@ ## 测试 -yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法: +yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法: **表 3** 生成的test目录结构示意 @@ -236,7 +236,7 @@ echo "All tests completed successfully." ## 将该库编译添加到OpenHarmony工程中 -yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下: +yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下: - yxml库新增的BUILD.gn实现如下: @@ -289,7 +289,7 @@ if (TEST_ENABLE == "YES") { - diff --git a/zh-cn/device-dev/porting/Readme-CN.md b/zh-cn/device-dev/porting/Readme-CN.md index dd73e8cbbfa..171614bd8ec 100755 --- a/zh-cn/device-dev/porting/Readme-CN.md +++ b/zh-cn/device-dev/porting/Readme-CN.md @@ -22,7 +22,7 @@ repo init -u https://gitee.com/openharmony-sig/manifest.git -b master -m devboar # 2. 开始移植你的开发板 -- [轻量级系统](transplant-minichip.md) -- [小型系统](transplant-smallchip.md) +- [轻量级系统](lite_system_port_guide.md) +- 小型系统(待发布) - [标准系统](standard_system_porting_guide.md) diff --git a/zh-cn/device-dev/porting/transplant-chip-board-xts.md "b/zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" similarity index 94% rename from zh-cn/device-dev/porting/transplant-chip-board-xts.md rename to "zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" index 00253685f75..44b37d01442 100644 --- a/zh-cn/device-dev/porting/transplant-chip-board-xts.md +++ "b/zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" @@ -12,7 +12,7 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat - acts,存放acts相关测试用例源码与配置文件,其目的是帮助终端设备厂商尽早发现软件与OpenHarmony的不兼容性,确保软件在整个开发过程中满足OpenHarmony的兼容性要求。 - tools,存放acts相关测试用例开发框架。 ->![](../public_sys-resources/icon-note.gif) **说明:** +>![](public_sys-resources/icon-note.gif) **说明:** >XTS的启动依赖SAMGR系统服务。 适配分为两步,包括: @@ -46,7 +46,7 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat 请在如下目录获取版本镜像:out/hispark\_pegasus/wifiiot\_hispark\_pegasus/。 - >![](../public_sys-resources/icon-note.gif) **说明:** + >![](public_sys-resources/icon-note.gif) **说明:** >判断当前版本镜像是否集成acts测试套件方法:在map文件中查看对应.a是否被编译即可。 2. 版本镜像烧录进开发板。 diff --git a/zh-cn/device-dev/porting/figure/init.jpg b/zh-cn/device-dev/porting/figure/init.jpg deleted file mode 100644 index a1e7f8b695bebf395ea6cfa0aed55495c4896118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23299 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 diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png b/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png deleted file mode 100644 index b241920b30fea1b2a432f6ba01045bbfbae7fb58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89981 zcmdSBcQl-B^fsChqW4~-_cD4HjNVIh5e6}8v?x)cjWW7XqmC}3MGJ!HMnnywMD!jE z5#2ZPmhb(2=d5-9IP3gztg*(-@^`zA(DM-?B32ItVK!bbt(6jH| zL;HY*iF)UIt9}{k>AshNs^Y!sFLc|e7Z08*Xe->iSC@!;WrKlwjr~H+%7w|%+IJ-8C~!u*nx^%LwM*0%4~Hu5>n z)dBVOGAk>K8o^)tcF)#fLxUT$)5IdpW_bH^cU4uy^~qj^ks3}U46L5WOm_585U=O& zM;x`yxE&S5=C8+R94PxgSMWf_rXtk;T%mg34IldVwoGyg?SHTISJgTS{kxz;q;l%t zt5HD!JiOWeUWqgNfB8{$3e#0);i(+DJ7txLAG|iE0pnfWIt-u@wu7U_@# zCRb@@X2pC1DWmDw$LBK@hGpHm-=zNC1_+eYezi;(lC(OM%5gEZ6UzF&wONV8x#Aj7 z48K&JkZ|~%=?N_w?DReOegQ)$%ohozkR5#gXrV(oNsg`g>0c$RN4QNz5@qpl^BA-8 zH{9gkUTr$P<0FL|<%(uUNHjHkL=?a(Cc2YiquIX(1S5wykjV9SCB;5l(r}-MN9mE} z_T-I2wn4-q+G9e96J$imvw!Ts9nk`)DJP2l6}PxIkF(OB=XL@PiNnBFGaJ^!@-MG) zOj%1h(K8ZDL_R{8k*npz(WBc(uc|2I$MY58Aq-jsu|F?xtVvA<+^K8^rq5PI(*&194h|UnYesU#h0MvN*hkZb-}UBc zR{A>{f+)p*+0!$6$T<2d!EB!;2=YQ_6L)ZwDnYLxoh;e>x>N>pzn|fhxJ+DZTy#8u zF=D7!4bGc>1MkyJ8AYgDEr60w>8zWB9^d|r9YQ}c+cqLPlg!s#izh@Kdh zF*qvND|4Sd3OOkDHDMy4lr?oD!(^e)S8W{tge7bKpQtoaXX1$*JNg%E^-bdsnh1B3=*SI9MiCXC{9su53?7DWSfkGT-5B3 z^{4yC8)FN0=}X3sNWtrory0{Folp95{E125CJ|}*czXlLt4o=Nc*H*k5mNWhc!_R6-5XE4D1!nLBMhcE z@-)i2yk%{v5`9jLQNcL%!j>WacXYNv>mOilH_ENclKNbv{r$34pW}nfZ1!ZV%@jn6 z;pbxjiWG2_i^hFXV>d&i0T0qn7H;9R66QkS+H<@f|CLs4g-*hrrDEh6?AJ3B%Z%-( zirDW|mol)9UKL-W*-J4c@GPoQ&Fk8ad6K1v-Jz8Vp%rg$OnZCu8}c3~(4SZc%-N*) zY+Jwz7^kefmX0jDigSh9P?f^RwE1&&dq>>-iFd~(wPGaX^~d}Z-D0t&1Sack^K5WQ z05uJs(LTy~X!acle|VgCuow(Wv5Er$<^{Sw0T1g%d&vfgMNBw8RZgs9A|Hx!a_{p| zk689q=2V8s(Ms#w`8ua&8n(WQzF1u%IW}AW#Do3~F2?BSC2T8;zTfH!olijals0}j z+Y;G|(WP|L!R zpUCWqhq+5qOYu7?TODGZ`L6kPQHp=F>}yT!IB&%6VO6$o(19SjRP3bh@h8*ht%r=s z8MdAUaTYpD>^F0Un>H~kTo%auWENmMk&Qlwtd|On{kF)eeeg#{DsKad5fubZPwHDH zSVmzv4X%0rp)HqQ-d>u*HtHHB2Z=ro;2j?5Sc}Om2S!Pe>` zHLVekDIuz^K1QZotHIJ<$&z;aJxQxrk|}N$**r=dg&8Ju-Os}9KlK=FJFt$P&FD$> zdGPGdX5$`xq#*?=!8-3NAubs3YbG0(8bTWKgb=MyCxg&kqk_XB(U)jA<_V>JFYyzD zl)Fjpu-K4gOx=JB;%#H_vgPsdcEmfG7#ivOxG?{5&xUG=PqZ6K!!*oxpJy?0b@tF& zO{4AO6y{6M8y4#e);S%mxj1$8nVYorr&+ zd`HLLx-0;3FxlJlu;NyF(oMD!z{Q$? zaND`iIUlP(5u8q{??4Bw@F5M;M@`MaOCKLEG;{WuT^Vmnyy>>=%&ojDpW^z6Q=C#I_#Nr#t^9jF$^W+kwaA8-KDP4MD~Ty6d|juW})0}q9gAVB!v*? zL|jZUD(+-F6htHVt8DY?xr~$xUG*4BtnjEI9=yH&p*O}4P+;nxJfR^y8cq8ghYdzp zl4hJxkEEEnN8BHw6f;{Y*<<>x_hp>yvv*kDd<9p-^CXb;qV-72iCtKXJ1t&T=y6-Y{W<>E$u!%8`28 zkZm`}DgmkEWRuA$d6a-s^y227GE9gf;2Ow25Zlx@KSHvi>bWQjqO6LMW^CODu@he1r2C0Q^h|YdWyE$;{}Q@-UIB zGH!|`Sr==sA%dOC#_m?x#J@ko=SoaH%jF9BU9#WFS#w4o>q&Lf#>Dv%Zo`|u({<&m zhpNd-3fifjoUAZ^e^MaWo)p6|LFPSPoa(52Tm}tmc`=6Z8cDk`tHNrUB47>@{|6ZS<3*I!*Coo)b zAm{}Y1d(KNr?xb4V#FfUW(XC}tvKxyhz5#e=D7$P7$TWU*1=kM%J0pT%*diI2|%3~ zhMnjjd!hlA^EUCO90@nuHd}x5{ue>_OQ<2UCfr3Rcu3Io>AH(U`RG;CnHgQj1$`8 zL3H`}7_Zqr`s^v*?>9tnXTQ}h!MIiCFFfAC1zwuqLYd#Oe}q?27^V%slfL&nAy=O14al$D;5OU;0ut> znTgqOK=a;4uuRwyb_FX3vr%cRY5gW^_lS76eeNUoM z28|&S=_&9w+$FK4g>ZN!>-bM@)+<_$ZM}cICoL;Uo}YHS9i}+B5>{6AiEn>Jk+pI;)enzOeJ7D@{J>+Sm~%8TMrXo%q70hbk{PS_bPtv(m1T0mDsXCOrZZRSrwDfG zcsaE8cPSioteidTL!F4DR7O8;!(B z9MFp4iW;+nGF#n}S|&Y6;J^^DB+j}|W&1n;GN>El_v7(=X*;;H+=a}W4lK=jXxlN^ zGaHT>Iym`)u`e9Uz7_dO_$p}36EaLYAChf6O@#ZmiFN18)z7|!+E78^E-6OiP~1h4 zXdlfs!OXBGK7Ozv&>CI-L)X zh{A4Yn2`ogL47ySOEd(uH2&J5S7!afTNgM?gR4)$T~>F_TuJ+vH97NLV#`L>l`X5b zdd=6D97(2gH zLmm=Mcb;n(q6&*VjhD-y=sA4}#VvAJ zLRSpivxZqPg-fuXy8@hxL4{P23OqLz6zx~wdUp6a*wBc<+PL+k*DbIQ83EvBZ_WU z>qSU?!?h`~kGDFD(4%?U1#BhKW=c7EU?Ax#u{5Quu$P*tOG$jx5jSXJi3QFFN=0(M znN=~P1bYN(v^^ega-^Ok;1if8WS$7BF12U)#FKPF&oTeMqZ^bV7Bh0#xilE z6C~*YmvS7EjhMNPM1h2(H?AATIbM%AHzLpw4$S6sy3oR=;?o_T2&_vWsgoHgDi|d* zQepbu;5t4PdzzT=Fo;4ssaIsb1^}jjsfu8m_Y0QGAP$t*o=o@L|3k6S(cW=wPIx71 zY2=DOv=kJ}$c8514eb#p<3h~3DLiaOZsw3R-ABFSg6{Ug8ofxx8%J|4cNqU^RFeSE zKnpkGkUIka9JDcmt78F51&s~4BRXXK0e8IIYRezFR-+w?5HvbWx+etB&9s%$lB$ve zsWmv(wdXl`1V}jR+D&KlNFo=wCL<+i_<4}RT9m`IIJDZh0M-h_jvfvBGH?AN^(0H2 z^CBVIdHH1PC(cZL9eRJUg)qz|KGaW~degNjU0ljZtU7A6F;(@L<1okAE4)Ypu51{g zdVzsk{4W`fX~5p&7$>HRDzcMrMC-3Aj2IAQaD`p$LeZ}gS${}HmAmwfSM+$00h=u* zFX^#9R9#`13MaRGpM|=}M>*O@OTCClTOVDML{(7}j0gmN;0ysZrW-MUQq;$giX?Ao zj0k#y{^BPA5r2CB`$IHezjG0jsMV{4IchY(8Vi{ntw7qwX>j$im-rYHrpMNXLS__3 z4%|`Yg;iRd(ipaXe1Z%A&MuikkElhO?UIdR=d}J}L|=vfKNFx_;ZcN)h)*cJzzF|l zQZt4A@Jba_e@GvcaqRzyY6$p;I77U?TesBqAC?Yw|1KQ0`u?G#xX}OXC-xtT(h&2{ zO631+rxfqcO5B+LUs1gFT|IA55*gwB|5+jrP9tt|2HAiJr6>ZMp%k`E8GoUNs*#|h zl|G3VKVDy1AO;7=ZdKSb?H`fqwm4f>za5Jon8q{w#(A-B^?JT z-D|D>t(xIOmmXVvLA6YVR>PTlLwo1xl_CzLwIA00=2C|AsDqpxqqV5Es2*@VJQ}yvC-;*57}&^)k|MjLZmgl}Zm4KDt4r^Mu`?rm23Zr$=o5?krCF!^7R3ZkLVCeVBcWrwmG zDkE637iZ3Gx{@XQSe@&9e3N*c!*jX?&mVJQYA8Aoe}l1BPePu#91r$>7+&6DOFPfq z*I1eNc>bUoSn09$0;^R6ISr0yoO^eu@H+_LN0Sule~CWsmc}SmmA;{VEbWdrkcLH{ zkVl|sqE67JHtcJ<9{%!`?GG9l1Z;6NZrmAY^07F@&R3oax(VRsUF1#!IkV;!udxiu zV^1ampIwZ@9gRinjdb#xT!+g*`gl#}^! zhkY-KG%=hH5cI4W6HRNT`_S~a=yj78@o!TcUp`%iCfMc~-Ta(DE|!e)H7Wmi2`3mJ zd;s4()!Pfqi6zxd@tBY$jlp`HUkEPv`Ep|;vjJognQCeDdi@{Q=)2Gdjr6tCpGqRH!B zV-k?2oF{k)k7q4kMEJY>--u)c6bTpkHp>^oE}BLE@(~)Y4)EFFMheZyPftU0r)=(+ z&DNAh=czMg{u2%LnDuW&v`JKs9nAoV+4+cFjqOFk{vQg_1bM{fei6<`yp~ap+Dry1 z@0Y3BOY~dGbf2<=kPh;n+foUBm%9|NQ83FHM@f&8)SUbkJCKP(!^6CDlyUyZZ!4e_t6LYJ3jYNR4`~K;s8=coy&7-l}=YdOC0P$L|H> zP=%2sFFkKIZ?+bBMVw>Gqtkin*qBSDG2IKT6bYoBME?O+_m)z!X|Nm(R3~cH7tA2~ zp1w(dPM9DPUK9K+?@hSijhaNi+Hhh@dVYum*+=m-wdYIpOqncc-~};tpe`E=lOgn1 zTR1=~HuRF&Lyj9a(M=W9oA4|yX`-KA2Jm3^2os{HIQ{hqh^ zIy7cR=m%wH-1u(LxF?8Hr$cQZTj{=Iqa0b;)f0(8cD$fs&v-ei&~If$9zu@@hXC8A z+-a-8XJWQJ6SXTwtQ2`z0|g^DRGvb_g&q?Dx)Xc-9;<$u~m+D%V`$@e*3Xy%N*fCv=(&tzq zwlaOq@-S@Oq0y=tvRrQ>wXvVp>lw+ov5-wl9|4 zGp~OmjogU9d}&t38RrfrR21~}iR4PPQ(JiC07e+u#dJg zD=A0NZIs8@9BjYy%Qu*BK-E*mDp-%qn?&zfJau5=;>Twphx^Nm5{i#T6&_bU-Xk1T z)^H^0&)0eE?L;w6hXY&c-1Ddeicn6pWlxAj(P=!kGiF)|OFg=zQ2$bVb#Xuj-;R3e zj4pUvO>;gG^1UO=v{jghC(p6q>qeKT7H;R6ON8cd^#VgQKP@`oh4j~Gm1Tv%`(c5k zf=(8K)6&no`Ap-ZZn$OehzcPV&)6yUk)IBaE22#(9|3gOhMh-UnKA?A7!pDC#5CD4 zUte91dqxVFYbqRgalgUMp!fs)UvZ(Ou03$GM!{ys*z>gHkwp2MOyx-xR7SB23<|0X zJok*Fm!`;-_Em`@pdUjea)Y9v%hRonL#Y5a0#R;xW>m6JWj;Pcs^eW$b60@(UNRFO zWl7F9aol@jok=u;yS&vgM`?8m?3M%&4pB?Cc(9+-}qthm;ku-Y}=J!zT< zw>K zNC+0y!rZH9aC5E%x9sTLAmtt_o_IRIwXREbk${?$p3fE)e#9l+v5Q7U;H$r*t~9`A zyusDUTm&5*-M)@nGf8bjtvGJv?NE88<3y{7m2tEy%-0`e!$*RE55cz&$tWpT*M?Fv zWnYQ8Ew)B(Z8=`&AnUfYv`VtSWRr~Cq_E)0zb2WiWOrI7LKEno%8&Wnkl}eB(`_XF{Yln)`7)KxeQ~KW-Q7Y%xYBE>0 zMzfwg_eYCFX9MMEqVg+VY}(WOyfkzz$J7U#yU0?oca}NrWzzg9&9#1YqY9zfSjTB^ zBb7s#t(Kyb3-!7fH}^Y4!72yB(WOHa166F4_IO=i`0ze$r$U|kxPZm#fAbX?7Rc_% z{G}HD8Bf%q=C{(Dv<|8O5r*VQjFtd?Jo@x=P-7cKMcwu+QY|u0MATuAm$>F92WfKV zlh?DX^!&2XeM$Jio?cTaHo9T8qnfxG&$s<3GGZ`N9IFFULibZnte}(2Q_0V~7f2FP zfQ6&hF9FUk-*#0Dpfd zq=;MNNdFXQr<9hPD63kG)Vvh8#FOzOi~qhG1VB2X<@G&h;RI01DR5=B$3XOxkyf-3MGBHw2?n3e?WJ_uN>&C} zjUJRa)?N5LsK(fS@xxZ+)Zbxcc0?`i8$+~>s+!0X(^qT^gn`1f8+H<<`OrT6QEwTn z(e9B~$(g?5==Te^Ge0UxF)VneqngP6yP$MY7Ey13t*}oMH~KNdcEnv+Y zH?i%#f%@$0r&=-WCA2)!CDf$ab+Vvs$obesKhhY&$%E|z22Z2r%_!ZDEcZm!d2Q-k z8?AFDI!?@{2fd86SsXFd`bNPCT^nN=pY>$JQF7e-93PtL0bqEW7zs~gb(dwW+o_YL zvvBVRK~h=0cCP?PARU36PQS;do%-i)!2=CCiap%^Zs(!d5K)rwCN+4A*uA1em7eWj zv{FRR8&)PU?Re#h(>AVQ7FYLQJ$MVpBfUM*bPQXtfG+|#- zqMPRFV}@^>&VXQ#4NukpSAzcF5Wa5aDO0Ajcqf%a22WIr<2(H;T*INzm&uCBd_2GH5GbCxRb<4im8G(vTs0>2X}rVYQRexQRa@ zMQ>P_qR_mE&SZ?`o+4JkynkxaN>u+c-=D5LsaNXQ;Yp21P3O`U;flD5S&wLsJ!c-t zbe!-sf;wipX^3!*2)ctrGa9TRU)V`*je%P_4- z2F?|=VEOgH=NFTI;@~ny1Ixk%d#^N1u>GsI(NH z(%^>EPeDk}O!9u2HY2`v%v)<|IV$uaXqh4|2>Wvwe}q1kDT={jLXz%MO=C{T^!W6ia^l&i zA^~LD<5f>wG+~;9Wj35MPaw0^HvVz@l##O>J;*6kRb1~VC1Ta;t)QV18(irLvk-A+ zX7z_j6AB3>0yDA^G-4GcNzO*U@?W`g525UrfjCEOr|heRl-Ps)5f&o8CHAkjC)3Vx z0HvrC9SwNvzZ@2un=Q=$DYsqBM6_e9?SY0|q5XC!QyR!M;MZA|ORI>WTnItEm+?AnIW zV5U$-vG|zMOx+N0_OuD20x(2&=~|_QDA=c-=P=hb({aYSE6buF{hz8_+~1>7Xz!xl zxTB%~@v_iTfJc!ad$ytm7am4(Sd;E*W5lv8A(lg)OoBT$7x=NF&UnEF{@6SQ@_95TtKxuJd73l==^5#7hFb)+4FB z^^=(CL5)5kbe-&p*ircfN>*;XP#%9=%1E{0JZXQoO9*E@ms+8a;=tLltPbh)Fb`0n!iW} zh`uc!9Lx=jx3mYQDq^Jz$s<&&czP%GrX8v6pQaIOn-2(n6j>$><7r|+JlcSQ*b=ZY zv}x0G73pw$y#H2pKOH=)l&>oS-Ny6SY)3M!r(QvJYNAelCnv5OZt@RzBGVq@YB&i8 z^XM~-v(_0x46u}`NVQAwcqX|buz1$ZsEyd`s%@y|J48{u`d^x6g&TO)oqF6Ct#BoD*t@37$t$9b$OOleHUDrb$}d&R(vvrXpq{ z^fX>E?D|(bKYwl}r*`;&H8VIk7z+nS(bRO-Vt0Jx zp*D1IH00P#)K%9%6;9SOu~G5WiItU=ihLw9lgi9dR#x_CZHTnDuWx(v9vBRcPE1q{ z2xx83=Y^Nt(L=S4o~BZNiFxPabo41gDet1Au|B9%s>5Fw?|pm!9CaWxy+ofYE;2F_ z8UNtA@kzNc%tRRERx+BJR&n>y0=0Qkb5gR&)?A z#lXC6hw_X6ZOuDCGc-)nn|Kv6wM;Nn^xAG>Y03JhtSB3sGKEI}X#tIP93_~TRqof_5bjR3#~r5&F)LnfANVAQGRTbS*h6lc$LqutRWUQ8Xh@hawvPx*4h1n0%tcrXGs?s7@0i zBqT(Fa@m?F{39)cWf*HVo*~6a8yujs&4h7nzid}Yii!#eNlEH7bd+QmqFF(QKSFOz zHfL)c|I%8fqNE*$&u1m(L*%-q8D=>sV*-^GxN)%AubZ}Vt(+sH#Onx8e=hP2v(LDA zW=fZ{qY9^i1bUg?bcVmTw1=CkQ+8|Q;pyqQ#_$X*K}<q=KhP z1_mjC$3}SszFW*{;zwj?P8S-Y8Yj(_Bb0yE?Nl`}F*z@c5{=73z`@pf`;+ms;g;L08jIRxb@uc{XhNxsIlrTv7R`DdC zs&wUVHG+8B729|9Kj%r}tBzWAMNaBS{3MBW84|6SR$aJfI41J-M$eV)qXjh;RrzR9 zF*a|BiSK)q{`wb8l}OD|&%}4MI@;f&Pb+kYVPFp}V+F6^WIP{FF-H4vH2UItPE_W! zXj{fIPn!7H*AG_pDA`)?QKD)&ObdsGEI)h90H5d=rshGSDT*5|l`4$lFoL>oZ#1kd zQT0fWpoqCA&;Ih}ekrwMskl(SY}Ev;gj zT%}iMp(5w9S~SfDT$u>YwIPIXZya&|#xKkozB1(A)Vj z_P?%1U*w0VX;Hi07KxaeOH|WfF63w0hw@YUdlmbZf z251qb%U|Qqe)kC`ppugzxv2;}6$)_c2n=KhpB;5aMio+_k#7=YeVUQ2LN_R9c*%ie`-A=l;zP>FFzytA{iey!G!MD3mhKut_TB&2i z-T0zJ7SC+}3q?g()e1bcJZ%gXA@WjdQuP4Xk^`@*@q)nVuvYrBLjxP+T7pV9)R3($XD66x!hY*ILU$1`rDnTW~DORJl{G_CUd|RqJ^$R^gLHi%qF1>TvDr`56 zVZpR0)CZu}Bfz^$6kkyjBoH4N1x5GQuTK~Zrzck3gyLjTGe09#lKl%`c2E<)I`(pv zR4MF$qZJHKFRxz}W4XW@*pe}R!A`a zS6}U8wK#^QTFJM@B{6yL4E4u(c|WK1vKyz<66|7==)`m1S60Tja7P3eEbDF+>M2X% z*pA!%58*&^_3z)?58+{9jg?98lar6^?P;mIXgG~aRPm^Z9Us@9EWv_^85sq9$%+js zPPkB2!vC>{z~bWKf>*zPUT_VR!r>KPi`(6*hit5plPTCbYrr*0b_OF3{@LU8|EEqE zhlYlbud?DIm4#U-xP#i&%fNj?$cDPo5AM@^S+}PryMm^=#XOT5@iYF^Sz}&q3 z!`HP`hmif7)Dc1I6K3b%ED0jF)T>-Z_Bt*ugWo{BwzvZp~YY~~HJwD+OfC0Cj#Ka~eSAvzKJ zvA11PgL^33uIdE~KR;Oom;MBDTumEK!Lp$tu7NS;;yN}4TSd|35uByizC@^`6vls+ zz?v=c#lh5+3VD3|i_880Y8X_j^C=KcjoZjg@~K+<#r9`_WveGav%7Ww{+msY^KNxZ zIo}79ms2Xo{2u{!gE-)}@iBF@-*(4D4O^0oa#`C3KerEM01to3l}Gl?JpJ*c5C`J} zHRqsaH*^wryxony!FdT!UW7WjN9Xv^aDUEmv4j$nU<;a;o4tBDN@F{jn=v>%`Z%D4 zr<%bmdivmFR7fLDSW%ho%0%R3OYkbm&xQ8auXOVt$w?B-HRzqmw8cAT=&mBZrkaYE z(tp1lxO9|uqUN`hjUUeV@?+!UtLW%N;MVF#s>z~<7bpAia*n6+YU0Fw$dWqgYR22Wu!a7#*Bu| zmP$^gv<_mo4DoX(-ATc&NBhk_;}r+bPTUrW8iU>9KlQvS`reEW__{4N^^Gm;>gSPf zJB>CCTIBcnDMyhDGKdFiD)zrI7ln|4;gZURMfl;DW*k)(ABYSw8$PMt{!Tp0C)@?? zg|V471_ILgvl8}I1s-W<+<(V?UlRKZ)yz-TDMmp`@oKvMxjtb*A3NQ^+Z*en1M62d zH|=I9vX))v!+H1anv2N33^l)->iF9y;(K#4Od1qnr9m@+Ij|G zf5dCu@qovKzo)g4r`BQJw#u@O>U~u6CwY07gvH<1kEA&;K1fy!4yQA7&_{AJ<~)@r zbalQK=y0E-p4|A{7v>N3Kz=bSFE`9G(;93gnxtknN%RnT>_P|ED=B1-)jdVim8H=<4@hE|o!p8vmy8S_dDpQGv z&%ZEy>cR~9MEKF+NB^RQpZ6^d%2gj6l)q?~V2W{QTb2m%AeCy|x?jdOd8qU@Pr~CI zk3yF|qS`gP;Cd_#OFgD^bQ<_$bOSgO?|8JY59jDTD)OCbntJ_!)- z91vt!lmSZDI}e9nZyTKZ!dE#CY<^TuVjanZj=N?rN4f75+>HLxduwCpP1A-MT7f;7 z!76I99-7rTl@2^6NfEj_I@unGetbO&?f7X(rBnb85QN~-CIr*(toDT5(BEEMad_{1W9)ILiL?N+){CeQ;&sF3 zG%_aQlfGKb`1JO0Z6a{$x|V6$(hstiqt^Z+BpT==6?>fe!{3%a_`Hrn%G)Kuo#wRv zW?%SF``Q}dJFJi+*GhXyxYxIR%&|;O2U!T@n;O?W`tei0if)|Y;QIE4^!C?g=gRHP zK#0bC7L+zIPbs%X#YQKVH`@zSq`&N!1qjtFP>DEp?NVulJUmgXS$^-a8_D={k3Qy9 zduR3dcc@WXDz_M%F`Kv#@ueE!0$A{`Q zmm&KzWbsj^paUnnz&u|5mZ{^fgZDI;zL*crb4TEC=4-MZ3Dj)te^_xrz8Ef zFE+c}ay-EmlN+` zRo1O3mw$2 za+-R;GZcH@KhnP`{oT!BE!KNL%5HO0xI3u*Vqh;Af83@|85QP*ocZ6ewL|D5&$IlV zBoX9tKTXLrwX_CcS%=IsR&!BLP-fn@LVA66JCeNMlZ3RKsZu?8%fCU_p7>}Joocb2 z$NWo9Oc5<*!BPS7mZ-nnDenRF_86?BmD5RPA-3N&!jU(&!Ok-Ai_Ca5H(nXKX|q#X zefD$d_A$D;5v2fpqs6P%ZC4*?SNiyQgZM(qv+)NcBqWDd=U%C~4*+qpsFeIqu~{dk zHeEiW>I?;{+m@>$CdxG?zb*KQt0x32ww*^2r?L(~w3wLP+!fyd-XBd2Pzys&yZmcJ z>>hjvE-_tuEDkfi>2K=Uc(bfmh6$Rhou1vGi}r%H+VY!y!YmW_|UP-NWbZ7Q+1Gd*U*+bDs~3(Tb{x3HhGt#GTh)2)R|T~f&A@TE`k=n?%iboom>Ew ziMyO)?WVuh^+#EUpPivwSn?48@?DKQWggoTW-_PPufuX!{p_o;D%E#s^8KX zM0Imr)1TStN~x186^5F&{MZ``m+){RbnvN3ta1L`*E0*G81W>!tAt5lX-~p+Ur?1| z{-+-@C3R|~@!6SDsCoKvtW1~jZOr$NuZoP{nMXr;K0>NB4jf6cIxstNcgy%AY-gD}&CS|U;SJXo_S&1%H(~j9F_pY>n zW+e5#2WQIKf)Quq$0}46Qpv){gcT}anOvdSEnH@EHkxQ*dk{`J$TPkCWJMeA=NQKP z!N-WD?ep^M^G<-{&!;lKkV*@~R^^xeUM{V{Xoj?6{bN2RNme;AS67Y;^CA?Da#i8g zix$iCkdJllyCQ*0aOng~sR-uKMz`>2LDt-g4%|M+Tq=2HtJS?HAD^A;Iz6$m>+Vs8J+Tf!aN zu379%Nf1t{?i=2L&t|D(&1QU4PBIU^c<^SgqbQ&M(d@;EDl|eCTYV;V%_zek5~@6V zRuGJkctW8qn^oO5_F@a~tT;KA{1d1rP{ehLVAxGHgZB}!516oZ#x0`op^P=|8^i%c z|FrAtX-$Em(#Ec;14oBmX3dN+)wZaDab0?k1<`wQ9Q~`h`OTjSRT)|uUlF{_`9L5b z5VBSp@T@OsNw0GN=(4mE@lXKmMTpYFz!MAW1^j?GYJ3{d+Nq)6i>-T>;ejuF`tAkJ z*kgya>l8M3%zQh@_8qX_bf&r<&Nxey4+-7AtX9fRi_O{d{?H`2Hs>jFwHM@_S;ts$ zPSehv!YodtY2F?cfWE;jA&bt`Y*ILs@ow2WNIc+5S5|Au3pYzrz20tT>gaGm9w)?Q z40k55n-!23_WS0D=TxE-*!Awo*|{#`k2mh}Jp-LD`_j7X9E)_}tBlT|)52F+{`Ca= zsKWVtxB1f$m^3|ZpE+j3kIq#1UdYuiUzzy0(4~rsvk&X0ejMyw*If_PMRsitd$}^D zpJO_VX7dj$_)iKJD7#MG*mGKv7$)U{*IIVNm5=dxv*TD$f8zHqp0cN;q>PnlQeMM+ z0MEMaJ;1=&E{iktALmspn9-(_x+Rm7lk@X*<5T%!5xKR1c9w4)VM998HNQ*HkG}&s zzR6NMk_iKZ5B!L!Axy`2jnV!MD%9``GrMkEiF?IKpzR)Bp}LrC722U$9;Ho#2<;~- zzCJlQ=|vqxJ@Mj6_y!baA=qiSmt!$a*hnkV+Y&#py#4ZF8HI08$k+WCp6_4$UU*aX zH&i65kec-Hj6ED>%LgQ&u*m#2EO_`O zXnm}7tI?aWnlU?EMgFw+6TR@E{VL|x(g&XGY1ioGo`*%oHR>(f%kf)D4<#f*1cNKA z7{kjBl>8hXD9SK=THGgIV301H@09QBVpC0qC-f~3b^aLm4n3MUz-zr;mkm7j(mdH( zM3-&#RjSEb9IyUFd6qc0_+nf6Q8mANVt)DW+3LlykD3-DXFH&)Bi&n-PUWZ{j4Pq4 z874oP6N5i(SUimmY{7|_yVhYK^x8@a-I{I}>u{99R23r}u-@_RT6Pw%3o(BcxCmm; z^KV<3h3EMlTwB*Zo9EAw3BEUw@H5p`UMFu3`c0PR$MAvFk1-HoF9%SO4f|Spz#0eD zzjG=JOG~$XHYUIW5&nnlslpy0*N%Z}SHCNdty_<1&Y|!L5vSPez-s2Ps13Y!wbKOq-_HO9ePaj0RxrI&=}1VzP*nI2 z)PJg|aW6nI}RpnnwCwz!tmd%tS?29JusSDg>0;&yImT9Z##0eV< zWX1RljIOS2fHNh0C>1BsJwU%nJ}-t?A>@f^p3vpxWkQcYs?WNM`&y1pFq__)hqpB+ z*j)4yn|?SD>6YOK^~1)ggaa`7Utu!I^N`K>3iP$p4|q7Oa>h|f(l%drC%w~zi1naf zKG*8X1QZFrJi+>G-ij#zDz3MKtekcUVYAeO*Z2NMlm63(LD2-&F zFG&U_At3c^XJ;No?F4{SR9bf*=#!2W18HC#imeTK$fR;)-I=KKq7&Y;VHplibjaMo zGE!NXv+T1h69{K~z5r9y%A#LdY3YmCI?X;UEkb>?`Zd3QyMgTDr|(!IsVLLgc-r2; zjZjiWd}Y4OP@*jfvW>t>@Jaf_WJL$lFeO6XzLx6lmUMuW2yniFA%O3ddb8QTeX?TR z<%1D}34x^S#Up1lpyTR$3+je^)*Aq0#g(@z<>9iDWjtYv9*}eYhwJ_dybeaDFmd4L!blR)?%C@tL2!KzSahuBV*!H5J(x%F!ffg zkjvQ?b59oAlYI4};Nal92P1Jn)sp(F!oddg6kLC+w(3KNtjo>_p=e)H_{H^b$0cIV z?4sg|L>-Fpm#C1Ii{)P=s|SqTG9JG#$$r+?EB;kiTvQm{j+exa!IA0S@~L*T5-5|B zDlM{_1V1_S3;YaiO!~9BYs6URXySOwMkr}0w z_ax(JsDi@qnCU2WK5%)RX-I!uJ2Sz=04c*GOCA-oi)WPX9#HZ9U(sF`Dgyp&Wo1?C zdRa`IE1$~JBvDHDM**K*`}-cRq{;J+O2b4}+mDQ6k7YC$P9wKIkdHgFBuG~Lts@>f zEAo#w@FbngUsQXEM#pIDbbo#~G8zB&@~Irz7u^;)f7LJ#BYIR~?mv()h&zJQKv@PG zR5b5GyW{P6lo?3cRzcj3^Jt-jV3#JL-dfMcX5!9`ak05NTS;7*P>IaNcC2AX2Zvbe zER^TZ&+@I)a=gxxhgn~bc}0|zlz9AXP*w(=ega9*__q^M;v!zZEE#uD&Ld#9$Lc8W znL_zzs3pL@7#Q80ZO60e``yLqoox+oO_gPOAXDKu>s#IHe54_*6?o(Vk=3JZD}LGw zRo|L>B)5w+u`cnlQjxcKv zae)a3?#>%)c@LK!smDl4`8nqvzxSZfcWTbl{4l8J-&} zgu7^p9!aqj&D2ed$gST zr#lNC!6!FOGW=kq(oz&^z$h&z7sdnwdd)PLxbG>3se^)^f6bPO>atxc{n8yG>7e3w z=9>5Yb78-^GQ+k(E33mF{}ldnXyZAI(GTVua#LMIr<38Dm|>cvfQnLO2r~h> z%veD6Zg~|an2C}80Ud4~uc$MF(Hx!{SmmjlI?JAz4`(enjgE};GM6fA_9~oG+@}JR z%C{gleu7Sk-#Tw&2u&{MkzF4_Sr)@?f$CL+OOb1@9dSYJHx0<2KB+9JqgvNt_egcr zcM9oFR#4*5E{L~u7O^@EX#4ms2p_&~=?Dyf_es+J{IdwD7yOMQ_e{Kt7yGC@DTCf6 zd0^nRgp)`!QxeWsh%+4>gY)JXu4{4;dNkB{yVl9oweQe=n@Qgzpx zvw^BF^V@uB_63lqHl13LD*%$NUSW}s&&CixbF!h*&qSh|2id+0K$aJ!cpia87*fgf zO@K}!C>$xpch2g}Ucme_fYbZyEfXF5vAwz&+R2gDqrEfqSOC_ZgC}tFts@n_b zk$<&o#}MWl93?F*3O#nv41AgeU?$d+-U{3_}Ea)_LViOB1pZSQaP>=c6uJ*W&^+UwFhuag_TYBPGKoXY{E01pVrn5E29d*9+N$m{{FH z%ytcE@qhut-wpaPgdDNaiTogwPJ#JgLkJCPMviKJRtE(OYTijJp z+9y)Pt!!9Q_7c50Lp?;}((g;1M)bIoolMK?tls6x4O1_NhlR!Zhomhz@({@A0)LR= zOcnC{xoW|#5?HPhWzLb%+xBPAcLoV0){!FMTIzA{Vlh>kF7c(h31HiN{QY-j3<+@u z9Fbe-o|}?-Xu4Dhl#H%(kO$o6EK;Pf{8~Ixi`o+7Y2_uIZ7#ettT8?}IEynir-y zw}S(v>0PGG%V(aiJ>^c8wb!*8rmpoS?}TAi!L$;4lyU!Tz>W&m+VA4>I_w1inRYLf z-<;B9R=+c(b!WWbJewUYc%wmVPQ%ycK9-za0DiaAzEkuXmJ;s2JE1>-j*;~vrPU`^ z)L^)=$&l`;g=5qtcHVr_km;T{e)Gz9xg#oXQ7xkfzfel4Rujm~#@Cdz*oYEYLS+ zWOGLT8g3V@>wR%$20d8!$^$m%JL8{XfaLVOkBNj-MxC<=9(UhEtbc>KitYf*V2#*m zr=Ku><)EbYYx$VZd0W(34J2Z#4#Ak;ti?6*lw@GfYZ=5iuFmu-iEGJd&R-Es31nex za0`fv-!v;1jGx?orM9(exBT|BfmTfE4cG2iS+wGpI%j76eL&X;z*rH?xN`E zGQOGZe}4h0#agX**Qe)7;4Z+yuhec^@je_pq^eZ2WT>p{ose4?Mgy!-DiF*GVMpF4_#k#K3@`gKc$a?L(gZASU&C_*ccw zy-?%S1HvGcU~2`VZW;G58i9rnS0OZ0l{POWs!Rf%T~p)eVZ6!cU%!6+Xlv{GK9h=4 zP*A&NY<4Wmgpi7w8X+YmMM_F)iO9LrEZv`*DRCTW{;UAyd#i34P){5FrLfuuh|1kG zhKz(L+`u=fAJ=f!$a#lQ5r|B#A9c+IZjeK%)-;Cv%2$-H}_xa_bEe{d}!8b$on z`tU`!H#LsY()55Wx9bD@ml0{gj&CdQ$Ly5vA7l+AZkH#j3Thw65dDo<+ApvLX%~Uz zl2xbC={QV_flA;Wx*%N$1tEW9JGs2<0*nxy)Q~$F(r27*LT|33E7d;qqx>#stHdaL z4+;)mR3QLhOA1CdoK3F7*8Q$l#b*bYA9!kS)QsP*Z)(P=PvW0+U`0eE$5$FO3+~!gNliw-1(3`^Fjwm2cB%5n+#5mm;7?n?;-C0pSo4Sz_LKJJziCRDM z^JIuf_3CQyTaM~}0Z4a+|+i-eE~kz&)zI+2_S#7-m2 zYcs{3?fZ*r(Bq;yy=+IVZBC;yIMi-t7J=IHwN4y!|l9{L+rpd^*-ea{DAK+;WH^^kycN zbxs?pA&amYP97#d0rHkiI(O9-*Nm32{^+)&hKh@{6Gi-}ru*jM_|qw})1)U0fsjkL zkAhid18*T`Tg%UT8a|uxZohvk!zG`y(bP+*a!@tFmX8c%yO)w}J<4eR`r0(#7WD!V z$GMVqt@EkT_Mr*x=F&>nN_BmV+odz6<8lHejq9FBdusuvWLVm9 zS1me8*-TMZpgAn{b#HyPs>9RhVtOB-2%s1FiKewb#+;je%W{C!VP=;}Up-IdYnJ>Q zfyGECMfvh^w5D*G z=ibYjkH8PW!0ol6xe*NWB`v)uT{}OEhRueQ`Q;Jq${g9sW(QB$QNo2J)k6^hhX{jp zTq<4~vSnmvsh>=5bQK`XaZTvfZDUM!ESbyi@_Js6b84(4OPk3R;Aood^kIEyQS%0Z zRT~%U+8kH2YVqII!#S1;Jj4ARoezup6PEh#uNxy5y*Vt_uD)HxP!3$Nce3I@fuNdw z9C`k;(m>9ML{jHbCBj%?oLHQn)w1Kx9)|e~=ob%TZEbDv0!Kv=pi27-Z~wJoSqAq8 z$Yw~-yJcn#FiT$-ii42NMEa5y-vLGr ze}V0P&Tg8@)!T)?tW^sMcBJS)AZ05RbJMN&iY~cP8i1j&634&hbu!wEdDpp|cA6R< z9)71y0~RklAT`ggAjgs;bxUQ#8@t8U_ zFU)k*mU4V|PVU{@kheJgMeT&kdX*k9UFy75QZp6vz;uP^A-<$DYp(}14q3xtK#p$7 z(%Y;ZZ5w5$Iy*gVLfBn11VAn);0&^l{*U~>W}CzBkBO80ALD$oOHHr zSX_zdmN?iS+*Q)9x}0v!lySJ<74T4DvvY$sS9^=!itIJTRUzQ9$Aedsf<&R2={vjq z1W;x@z34v(mx~&F!+c+p-iNov>406VEf`*8d-GxIY+h>P)>Q&-ydMb>v2}WSnzAi_ zblYG#OIN`H6U!jd7E@X`$2}7lkJ3cr4Kxr^Dn3;C8HP9NNG>ux7k`pY+x_bwhu`b# z>YC7DxXKQsG0-z^8R5|{BOC7=T(bulEfTgI0q2=f3zE>KCmG26>iY!P0c*CdUN6M4!Cu}rL+4r<2L@R14YcRcbpyQwmO+gPKWr zKiteY$8&zeo~a^$^Q^)}qOJOFZ*v&AW;Q`10Bmr}gz9^a zKsn}tT*T~NYnxW$rZ8G0QUZ=yhU;j>D4CZRi_W^6ijs06@_8i2jmM*0&>|VL8jSr^y^CM*bv~Za432^zyRm? zr*1dLvNhxSdE6wr*dUbUM7gc6&*{ZCU(RLBoJ%ub|NJ*c)AU!CcfwiU>;kwO;9Klw zL&x?koQUzixImv$u`;5V&v^Jz$Q+Wtt0$=_P#pXR^kz0V^a{y&8m($!Qz^q!<0SO zXUu>=o3<~-S}-=yE=KGoqD=^U)6=C!Hb=yi5SW$T0q-U>re_#nxB!L_C_^)=fpnIq zeW3s{`ZlFE(D6rPI>~Up5=MUuAvuP*V%~Y@$OQ?j+q|iP**JG~7B-Lthg{Ec>UXtS z2K4^?aevQI>Ue8~dN_sIBq8f(9F#=T9!+E>Eh8%ZR=x^8QZiDQkYydnM6JguM;dHN zNlDA!Dq2P<;zOSM(7|@9)UU(n!dumC0mvEa%ryfEk1$jswQZ`wgiu-ssK1=#y7duB z=i``CzE)`0P?<`MFaHzb18^OHooiPXIup#ybIw}KFINeG#Q^$bHFUGcZ+nfBW2__W z)XC#u<)8?4!_haL>{F2@SnBHPcOOLHf^!VbK&J0|y*HE|I%BbSM|BMAoBl%afY4oY zD%iwfcVfQ?ofN+li|$8wR>XoXl__>r2s{?|SBa`f>EWzI2eYT<&$5+lHDv4v#bz@+ zg)(@G%1&6vy^8{APXXay3?8(-5_sZFGN;?GeU}{o)jW_O09x+R>QcO6Vt%J1O|A=6 zrFUENkZ(;26DPwUux>U?GV%$bpxB$_fVZ3E)L-q;l^qxq)wf7w%}8acLN~fgm`qY* zpdS-UrYJi=RBTXDBLdSSZ5g-Iqsw3WSv0Ha&^X)IYgNu{?+u+z->B{- z{lJW9&yZE(|t*gOjvANt{}jVj8}4MuS#0zLN|bBpGt zzbLl9pQYlfmr=CPHlQ57ba?ov@)nw_3j-sJ`yIPxkNZc6U}Xbfzw;Ct-1wZrV1crx z)S~yNet~)~6?D%Jq47IQU2|`9U%%FFj0ndjk?~Uy!7wLodIeYp)rd#M=AK83Nc9a> zs)fg@HYd^paR!5ELWwR=|3LqHjOxAyth@L=5ph{{eD`|7W->(1^Q-n4g3q>cUI|8w zv7N29ycyw$@yd!YquQRAa!Gr0DExd&K=fFf8bXW4ZH*Cupfs3zR{W}`k|xbYa9c~4 zzSYnI$xP0wVAUM<#1(U3=lO8u_>rxlC_Rj_<-|u<@b{HhKErf32{ouo`tn5~Cl=$J z$PxPw8}sPAP6fMi(L+fFzJheSW2>ypvHGtTBOXe|!r);gCd*VlR6Tqk*7#z^5(5rd zneRXG)7{T514;g~ga8Ieq$9Q`U(@=)gj|%7Hk99+VbhBH@h1Y3E|W3=)J+vR7R}Po zko=9vpUld(MOuSj(_x*k2=ho6!qcegK~{K4;u}DX{(F7|464>X1F#(8%)}A1UAw8% zDnwsQk(oG@05TvH17*usBE{|L744eF5*U4Mq9uRBk}n#6cjxBLu-g5W!(MXtKJot? z(91Zomq9#=_enasesooMdV2aNOS~TH`{uk%S~&1&mZ@aHc_{)=SY7>~QLc}B9L6Ms z|KXXL-2V2qI+XzRBmkEGZA$d#$_d;ynwcUf-;a%oYPCp%F%q&<74yZ4DdrG4QtA_$ z>cE@DC*$mjC7ow4zK;xv`d3zh?s1ezE$p4Jm4;f}U53Oq(If$u;y<@7Y#&Su)_pmk zf_V0GEmJaljkXx*jYcO*KhFy^f(D=}aVl%dHhpF=Phdt2qzx}tG9?}N3oB@1n_Z`cZKH)nUW8!_pX4P-qYJ`P9zd9#cz;r1zmxE+2g4i&)65pPw-DvuCAOm;I6I zf_v(qZLPJ{RsG4sqw?SDC$nF~vAg9ie%zy6e$~xb$z^54!jRJzi3Ba`KhjmId*}$| zxW`A&Rv5-nei*SyW&{{RKbRNDv#B`A$<^Z7p|QY!n}w3!W=3 z^rqRgoATyhAJ{D9KlhYCF2mgB;YHN2xW+GQ8v)c&WBp(X z3gHyVx0WyasFeuMSiksG(5792^Nsr2+gFQ_s6+0#lCxECL7c_q>dgZG&X0gWw*7QY zA5Wr+)H{s{99!u`b|3p*((lZ83Wudu18(u@+uGyDAtd zvvkteioM;Z_nR#qj|X3pvfDedR;!rvzk|c9iA_^)K;}O0Myd;%@H`XD$<57GXvO)O zl2WWw55Rrw<8WZ(EJu%+ff{Dy@uet>5$Ax#`AW|%FZd>`G`E(yiT~8Mf@ve7a8W1u ztlq9~Qgol=uB^Eps7j$6ccGMst>MwO-OmVQy=81~qn=x+Bk@0IbdmufjupH*XO~Gn z2iW^;RiF)!Q=gZgViE%&MBPwlf?I!Wv^0OBKdXhaLr@_k|LpeRf8yL7?*-3HU5Q3u zvAkpx6=CqS0g`1VVHK6wca2;<$%xZjV{Wl#oCICIhJk-8B7Vh_rUZFC_-NYN>VQ~6 z<^?`Joe+M0&q64~EpeQ|H|$akY@%-O7LnkT%rT zejKRs1_s~XQaK&cAslw2=sO-b}yX38*QvS1M1E?tF%E5uQzG#^;UKk5Z48T_J zv{}M)cewxQ+*UI00lp_&07n}P^wYYVnr4UqtZYszl$x9=Aq;5p_kmk{6mpr*nyJAy zg{FCdG~*uAK+K0bfTgFWw|6o(fd7xO1b99`tieSG_&UWj4Ae*hiUD3r7!zryuTMKE z(448L__jGG1BQ+fSppf0VD`of62xhl0l+G7HQ+y&WIA*`QKY$>yB8i5l%o>WHef`; z^i2sU#em<&P`Kc)0{SJi@wCzFq%!M&K!+JXZeJ~Y9%RI1r*2Bu4fW#WxR`gY$64FV zrV`>JK^$2mh61Goez-cG?QRt!7P2Qrm2TP&>|-aJW0Si<04wDycWxw5#eg|okB~Pa zMrzX?IWcL}+@qAWxt2x2CDX!W?~^GfLb{$yS0ndoKe&~15!uv3*a1s<hW;ZJmZPG`0;^cri-wrNRG$?rBQP9LNjW!Mw6Vu3*YzAm&HKT#Ua~y4)lc2Z1e~`d{ zA&P$w;-F3#rG-#HQaIrqFPXmgXD2Qb68j}FNy|r$V1JDv2=RZ#srz%RCtkpu*XU>b zm!_IjD&{-Pi{eB-lmoA!Z`f%+L%bQNa0#KP{6DQ*{h0kcNCgy&rBQcBZDNfoFj&nybnu8 zvZkbG#N@SP5_vDDKi|LZgpb1#Cz?nQ>Myye+ZmGo$$1eyAGN~xLu*@|8n-cnk(H32 z8bn1jDO`UZcK=K|AT~@Bl#;p_gqCKxt9vF$03J%$yIsI+%6d#Nf|gC-@6Qy_i9pS4#~>#}Z5hh~t7?OM}!U!9!ik^7Q< zl2b4X-=IgP_dV;#X09k(pF-@&k>16R{=v#b4`Yat7Iai==d(vdL_9h_k4YTe0GM4R zOQc_2Sv0hm7Nt&)f7BVKnm}d!snN@Uele4~pL!n#(YJ=OiCivszUX*d5kEehxq{3W z5#3!b-^5)M4e6e__+(2^?ybAe)!AUySif)EPmDX7TO?ahoyfdaeZ=syZt^-})e)0G zpyZ*4KW00a;#pC3Q_AHkMs(IcEKNPOpFf!L++OLEbnRe{U1(Ip11MMmc6v_(j4GEnnHF+?(q0e3rp_*p~K(?$0q`AV2Qz6~+} zDIn@i#=BgFKUxM-h0kNY+zv;e7noWFFsdf>&90j4+H+n~fm$!5IL@^5SE*?pyY$?T zA`GG)>?!-npRJn-5o&y>aqwuC?#@)MnjgsdWmMDY_}1=>VgtS*y^ZAh=Me^SX%dg$WV7&Q*eJ5t=GK}mbGBj)|&TOTzGt3%0xe1#@q?t zk`nTH>O#)lfk$t8+%0$9c_S>eR05@4J|3mQAFo7mm~RZ4hCYP(iQ-a8C;PVTWjS`J z62uk{XQh~I-{~?B5S#Wx<>lq?arFD%?t|Rp#)z2pQ-7aq)IgyMAsuh<#0;a2wc1pr z&}<|PTv+S^;hqJ_irL!@S*r{yL)uO(xXdPtg26TL3K7Wxg-nne>ii5Cu$$Zq;^bih zGOnaQQlk-YaPqQ6Gw6{GC>T$8bL=ext%Yv!2&;E}1(RVb1pt6EnC#D8n}OkRd!Xrd zZ0LTL01$`uTyI8MI4~(ELF?q#*QAw?cdmtX`@Yd1@w5cieW12C%ifQhLdW)#5N=xw zyr-c1XOElVI{Iy}BJNLHsPGx0OD;|f&90ApmAmsu?=>geyAJKUQfw24PA3nC>o>{o z7D})^?v6Z%JjWphM#kh6-wA47lXfL2`G4FwQ_yO(Lzj0KiHLJS5;c4DK^JwT$fqO0 z91PQ4uPwgX*sY#&+G0Ie;0aC;AY8tk*)P5MuAs&3i8bggvOY6{AKt!o(Y|=RP!n2u zGKXyf%BN!(A;U9l93fxo{Sf{K%8sYQ%rq_02ciMTk>3}3d}nTsb7Ko<#gs)GHY+9*FEor5 zOeZsTBTHVI?dWT^8WS^t%XHoS!=Z17QnIPMa8a*X0=JbUGG$f|k8Dm8j-Go2xid=Y zuSC|b1JWq$vj4I5?L18 zzMAeI4>*Rh+O<*3Ch}rtB2{dzR z5JIXrJ$4;fTesurcC2I1YBQi=p~;Pv>UoB#G02T>-)o7Qe~vx#*i2I9On=nU@NyKX zs#R5ovn!HW)8=7LIAr@R#^QuoXugt1oWac#S^gD2t@l_WWLAzQrC*%lN}~EM-$@1?x_R!*%kdoh($yf(3LoMsYAgzhfOn%%TT+&v zrh)S;5UG%7!cNNYCoeH3#*cNMAtQ??#qO}^EMJtPPu+0CwQd^ewO-hc)512ttez_w zD&?5C?1_5c*t6*mzPxe~Xhp#=b_#MjK()4ZMDTw~NyCQVr7g*J;$L#)K8jhpvH@Qb z=kd&bKDgN4Biexf1)OReBx9NskLt_Ohf{91+e^=-T!~~h+j$q+9W@Lz4fG%4s*YFJ zwJQh1z9u(47;3hsG$+qNijaykg^;vN@1q5-s?rsf`Oj-RqxO+K)GON$$X6!?a@=m0 zEOI4;K7)@pM6o2iKJB-16cl`D`CfReOAYdDMqTz>K`S<{`ycPl1|OU<6rOyITZ8?$ zu$613ferKYjMU_MEe1~KUAhZtUAP7MP&-;|kHWXuFMK{qi!zx!VwC0Cpmkiy%yDD{ zieQJ)2UklCIcgvG2;EW^yn=W2=cc$&&;;*a+a)z16(6t!garEln?Z=x%$pn!AYEC0 zmk`@9c=OT&S3v0cm4@7O(AF4^$r!Sf&8)XhiwDNzy*<*Nz^ae-xkua8`^&d)@qKURa>J4*PPK7JL*=;#yjY!~qVdecgg z0`ClBD=d8ZDBn$D{Qow$|TvEtU?2Hv_THo zs^lOlvP%`aLWg0ugu*t4nipE(Qf;9DYc*d+4kU8l#9Zd&Tjyuw%Sp_PTAB>i3T}|q z2Jq!xt`2#<=Pqrb258>UOv#JYIZ?cPO80nGxKN?mYl~6MMC#>2Hr`fm zE`NO1i@rBk^-`{(M(^;UNll;{ap7^r99RsV`(IkejV3!-ww5)7FS&hq-h6!-zQt+6 z>QYtYkMUT85~eK>;B`N%znqXOh0*ZEYth{+u)&&MtODbJmWEPj2?U#bd>|RlA{rE zrsb#*DF&GW2X^W;nY$`#VT9hc-5s6i1l zVf{lDzU^y4n7;&`e=eWo%IM=Y)x(`V-(JfNj$?_nkF8p{o&UbSxCqFehwi7mxC(vK z#6+dZNQ*Gw#!~>W`JLnT_V(g{ua%&0892`Y*7-3T2`S|MAMcORYE~K;$l#Cc%fm&o zCrIdpWoi52fKY>;p8h71AeSM7z`>NF-XRHTdqSHX1ZfL8v9XfYKZ|!HJu}j6n>XCz zxT>{_It+XmxLKAmfDFds#X0`SN?iWSf9z(EjLqttcW<3Eq+2B7)n!jrCk;V5FFBJ~b@argfkGV4ml5XcS+%Ld9376kKnmD2=7t z`u$RaUCuq5nV>3LPs!wPv%ZY$wG~{8`D$c7$HVXGp%p_}6Ps73sSkmE`+gr*Q%h83I~O!%AcWL$~s9S~OQCw>TdT0G6Qm1Mi>Dq(GX13ILp zB_DjGhK)TCS{fxgNrJpd4_h14Esvq?Hcnsh(Ju8zk4|gImgFDraL^JT{K%RgpJG=h zwR6PH)>e7)!$4NP5>*dgq~@=MGo>TKb0re}@+4=6RImop8_1+uqOQ2QcsVfX;f#lJ zFS@RZ9p2wvL1iqO*WfH!&Py4YsRG?#eVidltbf=y9|Tl2aD7kn7D=0GMHymdu5@%c*=+aYOJ5$7x=^b zynQGS;%G4qdV=;agXXA|-{~)%f`TKVJL|J?W!wUOYbd_Fvf_1hP{86uOcZdBJ+pi& zpO`Mc$?Mc|D(jQe)q20AJa%m^sfCIzX(b1e8?f-dX^9Eg2(%eEmdPb}_BzdR{p9OL z9mc-UBYJ^Vb2I|^6JPPMLN@fvYS}m5gUvsV(!Gzw?^&iUyXB<^MHIAogKV*nlq31G zO*|epIk~ZMe7W&n^=mbw78m2u4Bx@8I?hLnpKkP0T?ruo7TCb8kkn6toU4Qax-PyrkzBNLlioMGP^&6ZAOXL#%n9y6l_F z*rwmMzWjFKK~AQPP%MhP=j`aHv^PvkN)52SIaiv1!?0Eq+;aR;1-tmYu=7h_QTGWE z1&?J+ew+#Wm0Sm)2Ru{i%m<7QzHqX=Kt8KCd_a-48h$Yu^*QmBdf1Nsn#8!7-?vNv zol0~yC`IVvM<|GgK%H&yMZT-AYajDzSdKdHlgKs6#1+37cTeHno`#Q)M@(b)hxPb1 zZZy?a>iz?Xllq%};#;FDu5KVZs*yI*4{i`WRE`*;tVHFHC#VP365a|HW_PdzdxsAT;`)1+_zv?!B zPji24ZLjWuzO*J^hCQbGmP>HXK?{nd2Ye&TVaFFp;!-kG;0L25YP@YarlF;GbMNf( z&jn^e7rcG;sPj=FN8BKibF<4<*vppH-4>6ae5AuSiA5sKGl;gc;7*Jdkg$I%_A+K_ zAZn`8*632Gi5V!e5O?>*tqG%s`@L}p&lV+@^|*;rI`pJ-y!~|O{H`ozh6 z)XmQ92>C(1goE>-;j`LH`=`-9_~GwOuGJa$+?Hra+Nrldf!)%cUd{sxqN88?Uc}~z zgwc|kVMjuAnKK}2=GN(BKCz@4>PkxgF()(CjHZR1ZVpcVdi}Jrc`C#GsQlp&@A^#F z@UX2KJB&zMKxiK3W#TX!Zns8pbVqn*J_ZM{0bOpnqX84GKunS?Cy}$rgKDxsn3&?! zc0YtVb}b{?KUGg6iO#dU)GEMTW-Z`heTyx4=T5Sse|NMs1NY0B!~cSB`6_=terU&a z%t{DRUaRE8L1p^ZSQajC$ZSBsn1O+zcq20mTXU)FCb`t;P>`6f9#1naMC?A?Tz`Ju zpPL5Ru)w87Z*2uyd$@rd!$Ppr@3dxwu(};erN&*2;;}zOGq#rJOJk~*ssiJYGSAtCa}U|aG0lrHis z?rwPe)W9eWYGr-PE=(PGYkme~nZo+-8zwP*oh0F(m*J3TJYW-q)g78Z+9TDr>YJwwxeu zvn%_f>GHHUF&P8RYAYLsA|q*Z2SUUpg6#Gv8!@SvOCm48ffJWDQK!#>v-$PbS0jj5 zY2xTv=;dxKr43{GkQk7Gm6o^jSSlbQ7C9}&D*KQgj5@4anM`+$AIn7KdnH9C*5yN< z+{|@g*oYCY&;z{J)aPBl%l`PiIyMD(+gr;{ z-xWz`m_CV@2hr=%m6exmZlDJX=dP(yn`>->={UopnX84~S!t88xU7nurl zQmZ9rV-2Jio?2>B==P?$tu>yX(DpKUPQG%3d0Ed5%$ z-Qo8)5@8ZX#3d(m?x$H}6(a+3$3X8oqS7A8RjqBV72wo%`J!)bq_>eIUW+HZ3N<_4 z8?(8}#iJTtrA)bTT5XG+jt3j_H7fPJN~MMY`bwZhfm3Zcn;HY>sA;llUvri!7=S#Bp& ztkUXbjHyk{&zp%2nR4FE+%}iA7e6h+9XP_$`0o`InT_sm&W8(BU;h%O3&PRYx-q^% zZ%G4bH8{M~aX)|ga1z(jSV3kvTP+UwhzCi+@Zugr?kHcO`aq)^$ za@9x-mzr?HQ8r2qkCw_eHw#51$#So_d}}I)Vvx)&X8NL`dU_di2(U7e-@6llPPhx8 zq1FkX8ou3M{(^{dCPVP*_yAW{qx{MCCr?!0TJ{neqofyy{adANpipq5fb1gk#UyTJ zXIL)ib8|-l)1KxyQiJx@2jkt&5^>w{x;UCsCDIRb*5pLjE!ZTJ4@XoGv= zZmuuX34jl6tU1emOm6_Kf?C8Ylvn=u657Qo#jVv~skJ;vW0eTFSou^sIh1VzZCq>= zObK+hQ`^+|{()!#MK7R;COQo9)%RaE{bo|E9Dt%kl&*eRbQB&YF|=-PGOmvce~MjN ztiZf?$^5-yV7~OqN3v(7$B`{#`4d8nY|Qh(jnQ2B^}(|Py7BMD>J?9SCri3Yb=wW- za|lJuBF##aRel-n@{je$nQ3Qc+Y;)}55*UO){wb8tI>Xc%`q>bB^9S^E*ti1Te)78 zjr2(HXiTkB5# z)pG{k5iuqfmszJg$&nf#(A7J+uFN>JEH_aR0xgvP;>Cl?p8oy~ z0gX(+5p^~1Ei}5wZVQWy3?np0Zxy8i_`%t2I-&8-cziy=FXUAfuMr*CrW-V19DnjR zR|s@L-(>8<^(RyzDzLpSH5fB!3<&lg%}TFbiSyCirPZ6IA-j6N@L7EKC*{l`?}nUK zNCeY;FYYf-`~FEdj8&(hx39*OKB~m}$}fcUSHIdW*MbF2PZqX}!|MzDMb`b29!4CE zA&=%*yb-HJ+Q1-q589F^h~dhT4Hbb9R9BpNw)|No4C zcKTUAYZS$rXWQ|j2yN#hD0@q6suJpXuLC>SO`3hOr2S=l_m`YHMXcgofyxd2?XUf= zq@|!xUx3l@<(tn(&Z|*!;VLb(`ApC!g250O6?Lu@lKpR%)e;4ewKX>K+a1hJTQ!s# z4;#dDO^Jl&d^Y3AcL033fn@X;5TAPJR6J!Z9A5*FL-xNf)3+&r)*g%9_$P6lda}T; zeeSCK~Dma3$3Lf@c3Gm2ky`e(8h|@i{Q1@H>A29Ox%8U%sUAXCJ`Q z1@@+LQvw4X;`)Dp6E2UBzjn=5B8~tuSfdu@OxmSos2MsCMgTkhZRg_4P?&-1IHU5J z{wMpB&w%*&`s$vn^=u7iA_3f#F94fnST8njEw;4WC5$j(R^DHqZmMpX))|*SugO&W z*d?{+Mi5Bl!FEGK;D?Fu^l97T;-V4nT)Ly|wl2QCg;=S{1o0e1Y2Zy242{#@7I@kK ztoYZ{UJx6NbtX*pI!#Be#fM$VX+=`X{y4;D3!yk;^#=~&FIx={$%%`LyGsB@kl0;h zEi#Xi^WVSzHAIe}qaTJx$@`s&KiB=V?m9#An7W~auZN#C5$tB&@Z*J(kuD!Fa$;63J}MkZH^racUFWm)kN7^n*2oxiv%m^ewgq z&;;!0?A%f6#rVZ9W}UJk`TPE^0JbCxrG_E7Wdau75?>a)a1MoL;6*^Dg-{RU(v7sR z?5%nAB9#Jpdb0nc#&ZY0=?yf1NIzkf>`i%JL_h%>b1i1JH!}zy5`DfyP)qr576iE4 z3t)zeuYt(QMh{w^9pqF|iA5nq`RSI&q-(@u{hNXTI{df5`rF?SQF)9XC~HV>9m@S* zQIRFtFFWejCf&G%4;?D7#~C8Kx%_K;E30YIkN-V)#g2h^{n8eRj?|`SpdLcKc02PT zj&m;-a1Pn+Ej!-(SF;o>EI)G=z*SsZSEE;jhD{uO|AJ=#ao8x1$@r%(N*>>mw@Es5 z^jU%eGBnx7l)>8BE-~Rt97@OYpF<Nys8}9?o z8iIS01-nv(uF&ss_d54SgNLtXJ(uqf33Vq@u+>-#8FA+WqE3}vlfEy}+hUq+e8pp+ zf*~UEyfyBm;t+V6U^?8r#Om7Jr4qzMa<11?t{xST6H)DCnUSth`)US8AtXfR?Cg9) z56Dw~+nM2)>gbvHvD#whYnA$rzNpsR&NTHt!~j{8jy#8^ve$)covSP5Eb$(E*mW%C z$GchjH#rsGr@^9Z2Wn||*V8G}`0NMdC)tCSmxbT&nB{d|8?yj`b&2*%(E^Bvj34(m zt`oreSu!=BUTP}OA!5O^@|_xY5wMl+zjcO$6x*b{my13hw|(T+UJ11&p)+EV+Mz9a zst^tERf;G6Kd!zyAgXo!S|tQ23F$`ZX6P7U=nyICuA#e2=}tiyN*bh78fhd4knRTQ zZuqwM+~0T3x%|!S{qDD)XRT+g$x?Wsp>ZVtYRr0X@zFp%0zJ{DAO+nA^qxWlwv8hH z?IuDF7i^sXp9+r?N}U+04G&!PI?^#c+MCh?pg`FQH^hMOX5YcmT{{3bNg&;K3xthd%= zN1iQ?==_-yOkKLU@+DYNB+HI8C5A>0*8SMUDo(HhWI2>1e z?C}L^wgZ%MHVv-*mA0oWsXAfbMzZ7M(*qN3C&`VzVX?sFc4+(b< zTPm%)F$^oVw$Fku`_JbBHo?5TdVZ%jM*qW6s-K={80`3m*e=oI7z z3b~fbxYb(pzDK_Fkhw0-+Yj}Yn^d>$WiKRsGnacpxM`)4F|`YCRCZwmNd<#~q20T4cJ(oV4jN^Na)tUlUgzJ~yPL7KrBmYZk9p^)WIg2A+ zcTVvliegTkvPWkVQm?q867dG+2}AD&)x?j)pzW6bBXr^$~{iLnURfnD=+>M zpiePSpRBqM&bo>+r>s-R|_uNJzBwo};5^oiUCQBwp%;bp6z0ErT?1PDNCSj?yr|p;wP{XO0 zk&JMu*Ew4g3-D?d&bkZ&L!MKzuwc#r>c^8^R2*X@E7(sD*UbUzsZy+OL%CT@)HF2b z4BS8B+Ng1Q$A369p+0PT{l@H*bRZ z*X9pOr>orvqRGLb33QmtN1xL9?Cse;C_+PeYy^$AzcTPS4q*Ilc7ENs57}x|s95=g z_2Tum7j4)_tnt1Z46k(J6S=_X$Pta)K{<%9s3tMnrCj zgty9j2ezSs3)%ra`pz9PF>lvjyens|$ zoPTY-M~0B^>T+t1kkg&rtb95E9tkR9-su}rfEa#y0ZUH3x-V|~dYsH64gdC@ejjUS zU_>Ua4jV0902!+etE27rMK8;txx4o&J-NG3N7B<;rKV1Udht9exjg!aIDo1CPI_|t zlad0KmogC`S2AXyiJq!c4NU?A1z}XV@b{oEB|4{*jzikDzQW}-?>8+*{@K^GeG%=~ zWOEfjK`*Jh)=#Y%b)=)_I-=)xEwR69Z`g~W-;Cm3p1drmv+cNG86RDzcnkovyD74I z*Cp&7XIZ1i-!T7LND0AL{6@txIPy7v;^Q#xK;u17wnRXaO^@KAd5luuLfqy( zqe%tJd4D*^6A$g7l7lE%7a_;P27;GoZ#b^5cl}mV>mUx@T!={5jCcg^7wxj^rK7eB zZrROO4+(|MK(y~jW5RO$q{b;83H zaCCY4HujNgewzEm;bU(IVU-a@h8I}M+Va_|9b0cf=46jQuHv$fQFG0`9XvZn^?*X8 zvq1kbur9qRYwK$k-v+rqbM5h^kR~W)3^3`$$HVIz`q&BR=`hHW}UgId;Pn)xk7&6bz9^w1?f1#{kK6zuswwgv$K`Cx96GRjqez?5^i3M$xyYhJS4| zTM4|^;((q2^NZr4xu9yGL~0-2vhU?Zl;D@?>yHlDN@*y(%^Y&*6GZGjzT{}WSG;N* zLC!U6Y{OUZ)1|I*IYt2}0_BY>{(hfTe>)4!^O2sn0%8#(<%Sv&ig45OH_%^UeZci3 zMP32P4(V=JZVQpo2(tKw}aA3WKABQ|j z6o*O0W+a3+@7a@*FA^S39R@Lp!~x=fqIx%IC4}%Nex7Y2No3%t#1=o%Q_*7Vyoj!Y zr{FA}Dd;T5FH%k+Asu`aIiN`Ib>aN$RDg+@*`dk{M9fF0r%upOyjAlO{LyJ4SXmjd zLcCT#BqgQ=2)6%Q`poAK74bMh?%tT7bk8k$tfa9l6=n(Q3$)uC}$d%bB+9XmnE1sEbO1p zj>oC*=Q5cvM2wb&3=DUe=$>Aa_X*sUDl_Zef zov%s8z7`tctU~cgHy%20`x4rZvx7+#t*_aSRd zVJJz8)ZIcA+4@c3SsWZyNoDem0V&!)iQqI)KAt|jW=t#vE2u#{At@`r@$>V0wWKBT zznmKXR9VW0nd#|~djsBMwr541=vFV>+}v{W5`~|LET8~hWl~A<-#EVJo1Wpp{5@0g zGD{f>KLjBom-i_cfAFRH(1>I_=0h>)g6U3Y2EOPmE#%EsfkD5iqDn`&hbts#t$m?Y zIC9FN-G*1v_*&hd!9aFFJf*N400O*faPlMdUJkm;cCM#L{+JKOY;U3DwI-Y*T=LaK z13yl_*oRH_(q(!_G%BPTO@D(($0CmG&Oeg@%`K}+lg93ZSL*Jr3L=btP94rjjj(00 zTFbE$Y~Sg3v5q^rKkK|aD!^)!dQ5Q|{k~(qU3o*ToIoAB?1bn;Jk?q7c!vfXnh$VR zd-02i<9%^L+^QQA#P8a!M$cXhXS-|awrG-;X7j-ebaMi!IS_o2(^MxqCsMq^w%_(n zOZ`olq5r9?v+afO!?hC4pi|?Mse&zs(_suDm)4IBWNn?7Lyar&+FN^HXA(V8(J_yh z)ZtmqGrMRQBp#6XcE%_Ro7I#G2o^|j>>4jbpO!@#RSnOGm627EB}XOAV=z@I(azA4 z(i)!UhEcQKFrU2U|By7g_;+9|AGQe;gTX5dAs&l>zD6l+Pb5)*UW=#U-PQ3;JS@0J zC}&pGE5s6nbt6e5`UMD((}C4g6hNlyN-dT-FQy?W5FYRjkde0=^&NJAhJ(h)JgCd8 z2_xE1F)10B1%i1WUV`f={P&+9QmJfx@<>npdVbeZ-|EWu8*Y z-vf5rh;C%*0A0@LCB@3_B1x>#`FILE2@++r}wuXPXnWMhqhVhyB^F zqAhl#PK&f9DIDZp(YC#t``R333rle5D(36lH%SbzlpTk@A;qq|hSK9H@FS7m!`xJI z%`pfEWC2%-sY^MAOA2=*OhLBqUAW}+za#Cc5B>PXkihP9!{_|%5vlcR#~hsu{3@Yf zsO!OsH9n1)LLDe6cKw=!_=~ivqT+p~Q7Rn5Z7DlYrFlQ?Ij%`%8JvEJQly%%6x&6_ zDmOqB94p^8m^@3An$VrPMK*jNAXSa23chl!#MLtgn{v;6jpiAEcy{NW*(uc#3o zA}S&s79qNPt$9@>Lr}8NfVIU2mW1b&UhNlPv2Vdh4oXPX2MhoFxT#as@>ODV!Y3}m=9)AYKcciBg}9*$V+<5-}r$Co-wC`#pFAvelvpW>}OmY5c+ZwKDTSa3)bXlUmKE@PAqV5c|a1i4sOKlZpcbO<3fdjGOzcPC$*5V zQI-rEM8^b074~|4Gna~HmMn%sr#nDpcQpIL4a#-@5)jRlk8tfiKBsxV)q9aFkVRnW zGl!mP+XyL;6Md(LXv=y}_IOtgUfc2=UrGFoYV(UG^8Orrv{uL>Jt!?^RES2t&=AVi zwDom`;IZed6Dw;ppOSz6)%RiB_RzYvucoQ3(@p~zJKqqYDxE97MpQ6ft4M*Rhv4hy zY}AyDFTT~EZr}K_$P2nt%$5MfGR9dGh(;=xY{zP+t?oD}!|6|F7+ynvfyRKN;L2OL zOb_7MKi@Da8-Fa%|PP%hC`z5-1${*XrDc#i!e zoYb1%6_p`H#@*e7+-xW#D32+r^Nn~svzm}&ZRJsO6-KpN#>au${bXTdB-<90w?;oq zOJ-`Y9x5yQMrmmlw>ay{Gom%Q2$rYMrKA%B-zAE!>Gkw0$WMHG9Vk2#V|rR(Fg&lR zQR7aNAt5eW{O)bd90xN@@YOC>ri6(#ijds`#Gh4^F;n&3??Jj74xTdYFk`n2QI;?Z zvt}&TJy;Nn`5~oldT2!fU1jh|x-i+P8<~`b&`&*_?D-hO>-n8&m%FE&Cn_7mpH$D@ z<*Twr(GnrWi!V+$5p&_QcB+lMHOUj{Tv6M#@18)j@R=Oo72fuIlA*i3l;`}4 z@qTC=EtL`bnxCP{UFiXo{w0-lNHL)+!4hF<@tv7x%^kU^2n!7$>daVkgXyCB`!#=h ze^%1#_g3}3X3tI>>6hG1@@2+B%yM-#&98Gn`YfgTRW=M&2^(%aTt)IX-cCiX@slc> z3{s?3RVsNWaFK3m8eww&GtKxx-hr+pQX2lHu|*dapdNJY&Fj~>vtHTUy+^bgRKmJ9 z3tLHt!nXN$)5XxSnwM`)>5)ELQU#F`vq~8PGm9jgc8Fl$ee3HWkc}+JLRiI-=>(Ki zHrP2CAfa;e?%a>)c_5%ZP}m5?rxv;5H&Q)x&4??PiS=?DVwt4d9;FSG<+Vp0gC%yp z2RWTa#KnI2SePsH+6<4f?dy7eti(8a;V^K0*Og|M0j;gBo-u6pDrcvB{``6h zZf0)2t3v2xP@XMgNDmcbPUMstGnYRSZ%oFY%W9Jy#T$UTZgU02%Eg7ylia_GXE>o} zg7Rx+OjZ*B!}Q;nEP^p2e;7?gyQVXxLdd6s1V`7+=wk0WH1S=etdMKu54fSW(u{tX zGQg&lIEomQgz5m!V*DpdAGdX4Er*jifGL8)3`+uHjk(~(iIQPV7v?uGaZ5|af&7$8 z^U>UwRdgL1QB8+k4d1FdDJm7TB$*Yj!<}(D`lYk_dZ&fFfLiYVMk-%97@{y< zIRbK?j$vlAIf+p4A*thrY}d2bbX`=eYC+T%0y92XNzB^OM>VPql9USSCuIpdB7~yt z$AFUT=Uh61Yt59<7`czMP2RjtuVIj2^f>UXg!EW0)z3T^Icl}U5OEB4uSsTLz2o7n z6TYI3{*9^$sx7+783C-nW&X%#4sc;|sEAnWf>>U?P81UfdLKS3+4+(i*0Y%iBxIuh zlKr&Met&s6l*-#%Y23RQUZhfBbiCSqlPCW^wj@NXsc;{D?YuvR$>J5&8_~slMV209!4*wOHB5F2xPkcxIl+tX?V!9SPw%#w zwUB}8edv542RYawKv5jOX4V=pB#)BvH4znd5q!t-xQhu>*X!(y?K1iHRFyuErR|nL zf}12Y5A+#^g-X7wll40z($1@|Cj@vCeFI+K&n49=YM`8(K@!#8qO~bv>l^Qw!D^YuD{5>mK^}@Rli~?w!59$(2=u^}tmLj(c{B%Ue5O+*bXA zUqu5d0F_MB;_#FXMdRgAq@xj*q{W~h1IGlr$`Qqz#;%X+Iy7V6SUFbXN%j%U_n^%j zZe6%b1c^7MLT}g4=W+3SVTNFzPrBs%W2KrJg5K$Hy@tO(Be+)L2fD#gI2VkkrG1^Up{Ss~OZWzlL{)s<`2Xkor{N zG1T6Rb8^!jA0Gq3NZB~Vf`k(Uq;5S3O9KdDQRalO*>?CZ_Tc=+P>4C5eDYW37Aj2s zbY8oRD%Ch@p}9&#Ii3aaou`!&ecm->OWvmd(^1bKZp~EHd}%m(k|?e64%x)L6`zGC zBk=N*g(H-Jc4Jzs^iowBRA!{>zKH@#I>9g%wuH#LW_bqLF2BrmMllFv103*M780Dl&y@-Q z1pUO{7=megXFA~~P)lNnims&>=hy6c1Lllh6jJ&OZBy4jLnpq_Zl%9TXEz)Wetnz% zqtCW;`Au60LwoH60{gwcpdN!4NCH}xCh*MnWZyFlR)r|Y791YLIFpG^PgC%Iu{b3| z_v4-r+L$vEN)&IW4$5HK&xEJgN((sV*$UFqh1GHyAQR{dYMx9HpYSwN2NTo@JV?UY zo*|SI#2uAY#9E6nPZ>9f_r+llyyfXm^#`ji2bX>h%6=$;q2`BNsMqJ`KCG@!pI{zW}7H1}CxS8A^Q z5S&C-U$vCY&InLN**HC-q{damD*18jWf)rThcbsbFX`B2Y^~LR=CH#t-3I0Gj<2?N z=@ioOPRW~}xh4dx*if)j(T8RYp^j<7=nBF4`5d5$Jl8CXp7x?8qqAca(}vIdOi!uW z+ffwyK94+V8F5f9W-nHKQZd4Yk1V&~r}sJZV|I47<)d(65*$z5WOBX2faPDU4$3MLMs1KJeGzI5 zbl)?}7Yd%K?&BjXd|oxtSw)8E3ND6FOGP0_LZ5}Qva&&~R$|`wB5qLkN;`mI_v0uH zu_yImqbpzlgN_DK0VaU>FfIuR8W`LrtB9F93CEk721xk^*2<;qpr8NqkFQ?7{8(5> zZ~D_^+UO5UR1=~KtWQToh)O3g7qf@p%#yyY$np~1?7ul<%~{2=7@qSZ)702ge+Z_H za|%m9Xz{)td!v|3W0XLLk_|J0#?uhOi2s~dHo<22n34CW1UP4Wi|1&}ZgS#X-80GG z&q0y>_+^nj< zW99&(@?gIBu&(7u{-<-6ADE zv5LL@sPx_Ro;mv5>62?^4J~I84bTzY4u`K~1jX%Ip*k}0oVM(r4M0XwF(f8NF^}%K zG8c9V;9?M|;7Rw7MmR$C?!_kH3X& zbDyF(=GAT%(s!+I{EVUOTG9!!wb`W6y=mlQK&)&C)0imdqSeFvY{wg-BT=4#a16?+ z^2x#o09HjsSDq*!7XSIplu^WxP!pIbtl#+WAt(*mOnCqsE<~A#>%anL=0-YPWh3Bn z32>W*r_7m+&%TI>o3)lwGCg6EbbVWmnO?c?KpcDgq|~!a{Hx5&S3U~uP2T`+Md$wT zo=^XI+0ReS&CRg@jd*q-RaHVf|B5_}u@nAUiXFrq37kRbLu2qr=hO%XF4wngOL~!L z1A@jI8zCB8&aXFhB4VdHjDjos{F~4Cy55*|SpTAF`bx+@s?O0YAvb@D_M?Ia;sBE6 z&x_?CKJ9V+5meznwjt>cy!S|+78h9kI-H=e#h`!87$R88wBU($TGZ5g51gT-=xZu?uk^!Ts|}Lo@|-A^zCdxVTS%lL{wK z5&A!-mKoHN1ULweD}u~aRXp6FccO%IJ@tHo9#Im_8qt~Jit!9g@lT^hfq(|KyvmijI%3n4@A~&QM$AH-E)N!x`JHIz=jWFX4jw$aw$k^$kemv6 zU7!PYfsV6C!&bzwH)D@Pj$ETt5gE=t?g;aEObQnn208Fap?Uk62 z^0B!YlpMv-SE-$uqZrq^xY*r5BehIGqH?1%W)-WSAVf5FnR0f+adOIKFj&j-g(Mv> zrIG$hSSY0P`9%jEW7*)P{scQnCISZ+ccU$aFm?9F-#vw{uwOI)|FxSC_sSb#Hzwn) zw#-<9yTGT35sMSp_Tvy*`P1p1|>W~B0~iATKV(M{A@Itn|JJr(=(M`jP?q{ z{yLgqgTAj0d=GH6N?(FXcL2Fhn2aG6c-fh>|5ihpS{|9xsBUAYTPOh z9pEQFX4UWgsRcL0c)9D1`%6OP06hQ3NWvYSopZUBB7#b~3$xAVt3TkASKA{wM`Ga} z);q2~w$JoPQ$LOPoin(41X8PemRg7uu-l%oN5<<-EoaeGY+ebQkmN2apmvR#=2V{F zA(+UHrqPf??u4B4Mq!Dp_ui*s4rcEZ?|x@KB2|`n%_lBwWSIp=7@k4S3`b|0mF_OK9IbZ)ek;`?)yvp~q3Gcy`Fva_dUeO_>T z_mO)l0o&CT&>7}gB6XTc6m3g-Vh-K97})fM7I^Uwc_{*R)ng2MP2G0PGhztlyjDh7ke4;( z1?I8je|+`TJ>I9ISPo#*Hu@18HeKr|Byy9*65SRmp*Mzfb~Q4>;jpV_k}__{8M1tJ zRd%(mxL^7E2P^4x6T)+>{f^&7Ek`pHZJktyD1>J+eM9a+iMrqpFTcm92tD#YvI2JD z`4+rsey$Wwg3U2mR>RAC;d)mdKRCr@vpnqgLavH*-6AtZ&=4AHyO$pBoUcsJiC);UhqQ3etO`3w2b|qi_B9iGfHw1_a`G2hIow<*Qgw=f z`fn7LT`G8^uh!}1HeONFPNQLwi$GNCY_KGrQnygZj66Qkdy1NfT#_RWCC7-AQgS%Y z$f^Q%>-gC8vlm|Gb?r+ck2njH8B%6ie0t>R!H+kWOJ7fa*|^&qlih&GK322oQ8936 zd7dVRpQ#tHZx_cLeHmVJxZXkQ3cjVJ=0s8d;QZro@e#3j7z|N%M0|Ew);rR6^91a& z=Z^{Yj$U%v4zt+z`{DJt9f-!3v)roiV#v(LK~UP0rHJaNsScGza}p)0WfXem6#5n)oFfws3(TJkt++TpH??l0{Kq=^ z6W(+OlBWH>C;Ol;Cw4Xwv^|qYk;IlBBZGUB4T(8EQegYUdWD>iVHHA^0GNAMwV(`p z;C}7H=*$|Td1>+?Y2bKf>S@Rw`3z1pLAz_}rotyNm?LjT9s<^P z12A_)(09v`azrrWHwjuDe$?-ixL1GY%auBZ}`Vd1tB}jQ%RfVn1L-uDK>% zVit;N4t%Zw-#5OyNuaQYGhr(c(5))A-QrbaEd-3F1#4s`5Z(haM8!)FuXYcEJL12* z&J>-D%|sf}^*L_e(g#eOr17+sv9n19cJWD{E*U2riJn%vU)lkoh32yTrM{>wCYAx}Rc^`=> zTBnGsr%F3E6?StqgJx(1*Al>YuMl#VzHHnouI>G1y(;&+MO67x))BbKQhC$&h7@d% zkIlhWS+Stwm>vP*6fU_}cc@u@rq|J9G`WL>E_Mu>%#rS*5H_N8Bpi<8n>SP9C;-uh~y>c_Z+1o_b_`f!}R~9lak8h}(4{h0rQWN(-M!`s2Y; zn`s=ttOz3sE_PAojy#-^cF!7q!{sGJ&sfl*w@9!daH!LO*UIC=D#2Cu<+JAS2r=bt z?#SyCw=3h`B6lL}k7Qg;St?Bw$5SKV_TMC**u&(~q+=3NzdVge_gRO}-_w%@ZQ{KF z39kA3u{UEX{?PX&M>@QM&M$GGacz-xT`MRrf(&y! zjm8SwudYHaOfl2bYxV`QsSj3u7o8LS+B+OOb!ku9A2>QKXcL<&Dz0?(Cb)Y5Ka$*U z*#*o6^oC+KMue5Nbp!@6u^0I<$!BsQJ-U~Zl(p9QNS@*d#YA?Ow;cvN&!U&}_&vFYwvjV)%1su*3!U=tzH@ zUi>DWwPZYc*>nGW3HvM6_tR?TQX)lD zF%2&QyZHzhF>7m7lo26it2Vwyb#47x$`>lCxo5(XFme28o?&=qyk>A*~yc#fA3>^ zOpy;|2i_9SKgfY}9iGOyxfy7D=h>cbA-K8N33`BptiX@SppWMS8a~%Sr1>IrbgOom ztubm-`w%YNkwjrw6M1k8>JV1ril+(lGew2&TV<%HcsI5F-qRtO_5>E;D5sa58qa1G|s)t8Gcs7J+cv`%&5ET;A&+zX4LbJ zQAfCuxU}_#OJHawjH$^y>snC(UZ<_dEa>>0hzNTceyA<4)rdKcT-P&*RDIOB6>!A< z>-j)qYYfMnE%kPX{9WFLfe@x=v`1;1XbkGE{qDn?`DR~0)K9;2vvNr$>zb=BtueTX zcVw-9p9Cd3Ow9Jp)HRUvm$SKq_H=hUC{h&R|9$CG#fSaz0|V+pKfl>(^tt6R8-nFA zs}0A&h1d`1bYjI$o!clXFFZN3%Z4Fau3Rr^X9r*(yCJj2G3I>lhDd`K=MMTV8D-_) zian&N91@sa8Bf7JxogVc*4x>I>1JGHj)H#NpV`h|M2d@9hn_KhTn$YioUmfo3%bto z+tuU4w)p%#5@tYUs5D!0j% zUj0W5A3FJ->4T*;UY4Ha2E6qAJCKHaN`2)zo%gimlMM0KYX`#|8eRuD_%d@oU}vVW z+_~|CvJNi_zwkw4K!kGe>D64DZ!m*0w6(qoAZY$qciXH}j5s=`tmB zqBv>w>YhLvt@TrsASN}R0AcELUw^yQ?~v2Xww^(W>e2P7OyeK*qtN4@c1H@gp9sfK zrM%&;h-GQoF`G+|AG>d(jSj!@Yt%qRfU?5K(e#I4u-^%idlch~*#PJp>naRx*sWQ|K;#ZsA- zHG1!3shbM6lM_<@U~;&ou4k6%I2+vW7->5qcXJT4GdPS4-fSv&2JlKauJJcGKH?N( z6BQ{7sf}3$pV^zN&mG3ecTV~)867zIb&1Tyd?M2VJm4^s{Vw?B$8PiMx1MuUEL=hv zgw-!INREUmK?1v4xcgs#zLH#%S8;S&{8G>zJeiC-G}Cb{lLnwd#Zu6Lf1ch0#B z`Y~+2)?u%n53dbx)NWse9CCP#u$YkeSK3KZob8QcL4q;c;jQTaw>xvWsZN;Pd)ff~ zU!SN7^_a5Niy^uC$7Ou-rM7UIh})G2@&tR= zC9$)#`WK@&%nYBa4LHoR3;Uj2mg*iudRvdAIi(*(Wxl738TP&VST;X0&V#P-t*oO% zY`ZJZ2PB4=kD}0%fAfzF5f4Pgvr}2;b>@WH9pk%JMpg;xdq0gR$@Q(&_nTkGj3R1S zDe^6YHPyl+WHS{#jqnIhh-CTL1`PWl1rVGio6*q=a_M9YU+ysk*5|i zhSIX=5J!mwoSb<&{FE^t*^y?(1u#FU4632DOqgU6>+ujbZMQ3t!E;=#TlP5^Np5YHgcH-JdwC8U7kmj}sw724MKFHc(oltCEXQ2EzfZGOdnkUv z%5tP={maAYB9gzg<4#h1o%0~?;fG8T3gvUA-tBq8^nI6z# z2ms)yzV93$s{#=KKD%NE74dZGwN_NHn}!uS{C!Cxkb;bpIw0#dGE3&xBJyr>_wvM; z1nMmYaeWtyTX%VKy2&CQUS;DF22T_As=F(nWKu8tW7xUAT%%Pgt*H2g+$qC5sfP*@ z%nq{3>dCS&f(khO`63AkiIdDNqmle1Kq?#hJ5ag|NIU;uWJHRgaF~w3{vcm*riNO^ z0*y*1X9#U{!BZ!fq@KBDPhw4t;qpo{g#Y-ITzkuiK2fg~f-(e{LsD~aV0VUKeZhK; zOV{!;i$PpM!VswP-=1&aS~B=0rU0q_`r~~L1k4{DbyZR@^SSu$?B~S9#R=^z?2v?T z@OZ5wN~uAm#`>YA&Oy*GAld(a4SI%va9pf^{{kRSuyJL2pP(kO>6clnRmSfT5KcPa zm34E5E1K*W!f^?F9Ah!LG_iN33OKr zhrS_zAFyHPjf=D__mBM#?5v9@9rp#Jp^DNymrH&z`gg#E?x5*#(Q}_gtLAM8CfTCa zVfg9k2)OO^vZxsrYzF9aJDxG*(RCJ40;x@YhrXZh#FSQ2t4R{9iU;6$HSRngw5@61 zykW2^to-MQUO;>F7d{d(UC>A^%4up4!`KpzpfdV{vsW)=T6@_o`kBRn=ui`Gm)`vU@vtnJd-{jkV2g36}Z!SqvJbW&jIMwvveM z&|&S@eQ2glvRai@49mKEl+X{V(17;uGC}F%y0X zfJ!x|`OQfuGtksJj`!j6XZ+z3Xi1bZ36gt^9jo5`wRkV zsWquBHRdwRemZE*47TQ%j^HO4{{^6ZnGMe8xDdgQCP!N$)#kxpJsHfOexSy_+;VMS zpSX<0u_xUJ-{7YXgL_ZSw>Wa;*sT3d4tPbVK{n>;ujuMtX7;9Wn!fl@qVWlvMzW9Y zInK%q03`epOuoj^Z_eydz#ESZ5 z=8&IB&Tr$tFgi;T7`YUk@p{LtyOY|05#rJ`#$_O>I3pdx7~ReC!TmU2wNc(3sWw}E zjzA`GUMYx*=Y9YF-CGm)7Gmn*kpRH|INaptuVDW54;3LHy}P(Y7D1!X&oqK8EDD;C zC{a@{?grij%kaNIydqsFt&vM_d1a^i^^qwV69p{M5ITwZ2lgl&f#Y>;fV&nIO0g>$ zs0F#WR5T$NrP(d8`Ba(O|H2x-SV3rp{TyHGGv3+u!Atakt+6Mk6{0dAZXKT0lXIu1 za4?iRTj&DCmpRl?Imh2d|Df@r)`_gJ=UYV~qQ@q+23oN`9ss`V-)z~d9?$DIQFc_Wc62fW$_--tJ zdRpV^=B9s&W|9~?MN1gX&Y0%H(zk^_+>5Jd(h?6QA@SxYg3Dm7_O)};YW{7o0Y8X8 z%3R#qRR=eeg%@Y3!8`$g{}O}piGiIJfRb_*sM+uD?m%8USjUU&fcJ0T(2&|B-|)j} zFlltPJYqw29TB2-o2!eJKvbNZ~+d zNO$T3DH9)Q0S2TxIEyIVwkO{zY`coJu%mtjl!4tQMVFb!)aLZ+ZwOr6B_Qjk!v)YD zLf9&LbpobDHp!(K&kc6wOqz#~)^&REAJqA;mstuC|30BzorQ^tio))i^C?>o;qdn% zmw^1~A7X}?0ysxg$6s^~;xS$FLNahO`5wFfP^bG3K>ic{%ge~J_gy_%O5{T4oblE@ z{k$%il3JP)x3#B!`0W_DtSWk_6>>%A37^E7IBRG+$ zFERsWXp|HrgqA<}U(d_ggp+cap#vroiEqBK{y{NElf|l8*>1BWSKqG|78Vkx18k1} zjLUyp0Q^G8=LW=MJ737G(< zGltMca_*4)EBT@M2B%7|OIrZw+dHpsYFY#EInzlsx9n_cB?F!xv0tA0xW>yV=)HUK zBGR+VY}X+f06FPF`NA;d0MUojaT87ktD1uR%AbF+IEXQaY?VV@bVyXMxkY&qv&I|0 zhT9cyI+q)y19NW2^A{;BPu705&rm)UbbKzKDTL}|J{;SYA>{C^Cx$}5l!(g}9g}=M ztRzyy#Jsy{eY+aC>|w_=DINC#ybdM)KOQPlINzG2MqY&-3iI&PY0;tlmuVCgY<7A6 ziO}y2LWZcOMg=d5ZoeN`Irm&7DU=CoHP3FdtH>z!A~ zFeZg)R`MN98Tyh9P5iLF+Ay$FktZRH)Er39BW2BaC{WIp*O6E>jJ3q}J8KiDUWklM z_nK_E81j)>iN1qjs^r=TA%6L<6v-ujddUcuVRgG^dT+a2Pd9@JZ9X73`;w(k%`JQ<4*@!t5lw-Ojm`Ud z;|p}++pF0ci}A1H06hp~GmFP%Huzp|fdtu#sw(eMK@Fsc!|A|GPu@Lo_r)VelrBhP zUfXapJZI{S^vbX>Ok7-zfu8=Yw|8^Z8P8wS*Saf<0n=u`f|gLuu3%;FG?Mp}9h>I6 z%=bhr5mSM3)E^bb$9xCJnI{x1-V z;>3Sa09IZandSV*Hw6<8{ zO=|5LC-2$7W&Gt&;w)&z-)ybHgHQ$q2twqP@VkQZjDKEhFbm)Y@E72$WGIF9E#sBc zzYOW_rG^h&Xz@z7H*r5R&nfK-mlw^PP+reakP!3b5Sqtj-;yW&pcmO2?}S>PKz~o5 zt{jR`0D&8(J3e}n2Iubr$5OdYgFmovndC4Ob>25i#gO+apI=RQKxt*?a{EFu!Z+sU zRg+J~7b6#J>PB|~#T&&C(aiT|J{y2$VY4bBMv-s2afZZu~Wja*e|*Z zTfkjIX+j*@>U~|+5yJuvW8uNY#ZBb4V+ZZp1xFDFn6YT9xof*@O?DPs75Lp0ys%T* zWe1TMLc=@t3NjR>zPXDLw(>ax4|`>gjf2+UvsI#<%F;lt@G; zY}Pci-f6TVl%GtJHGZ5oB}Y=H8xL0=MPOvvxvouuj$L1LEt$(NSnawr5>*SAx>KES zXJPaq-fx&gi0eBYN56MeUYi%R$C5=ETo%`RUgHgC@`s;pDXz>0+=j}8CqAnLT{!0U z4Mv`Kr4N`NF$!RQh`_{mN)np%XHGti&tkhI<-d_e6lxA`y0oRC(tR<-`JHLbB=E=S zgNu8R#1E6f*hNHBN|qCT@_D}JkK54eis`D$A}DZDoY?}Ui6~fGB-+@itHh}r93V0h zZIs!V{koGZhSs_z+n@d1<#xr^0QauQAt)a&D*dvngH7GDn&Dn_#gzsp{qu-PtB9(L z4do3*n3O@;nZNw?v^TvfW-IG1wLMdgw3d0-jWHFJDJX3}S7@P&$Yd(Kx=)tFQ}DTj z1U{)SMR3xx79BFsyfNiCiLT8p!r{okfI6)5rSB9-aDC@4uoT)60wC4IA?Wlah3t;r@&2X)!fcO0_Pz3AI=ATaYwC*_fhity}n@1f5+Sd)WO39ELDrHK=PMwc`yLS?&@^;LRK3k9s?nUmX!k9>=(37Yx!C!l3UP=&f^#OLhhkkH>VaO2)tPND+|# z(u(CkO?~_S*!s$_sJgao0}%m%p&J3|mZ3{&q@+O_q)WO%x=XsHmChj~L`um4r4eLk zrMvkSdV9zFd_Os6*t7TAE3Pr3mgK$9HrE5SwTRk-x|9*?&@ovMeh3S%z$=94+~?1kj3 z(=E5Qg9oH8@9)LX@qn}x`+R@;s*_FFHn@zZIW`#)qU+f7#<3{ce6;z_6mSDjC`Ge-~U}f-PH4>-I5hAph*`VPB|FiUv`I;et_JJb~^+Rj_qjdSsFmFfrqT*FR zsucMH!3h!w$2?rdPiOc@ng2Sac~cca+cIDdr2LK5 z9E-D2A8}Q6{4~V)?)3PJPOC~^`6zDy#%F|fIkR-wKh)ImY9L%;4a)VV$u?PMytBHU zcP})-2Pfh+C%bf$9f8HS-5z&`{2$m(6J8wH-s;G?#*H=2E^!Fk-IEs$MG-8ru?cCI zu5-AN6WHMvMGIAjmQ>uj6$a%rMgs-Bax)Mr5#OEz$_Wb9(|aSeq0q=l+*j%Xx%PDL zu$mg=teamy@D<+kdCr0AgiP9!`s!fBxU}tcq}f^!DC}{BhyhP)+4r#Sst0-1xvEdb zRG2L}2yQy>$9%s}k@lIsa#hKCwEZkq7VR z*Di2FG@`m=+IMwWO7?RNiSrd*rB7sSiCQ0TWKyTbYCDy56Gf# z2^>jeW61AZZsni3t_QT=J~e93Df#r3=868~iXagPnf<3kRrlK%Sw#w;JA#R|;A%FMOx8D0yY z8Gp~BxuCQh?D{yMtSK|?GKUp?yJGj*DfbjAg)hT#w8WdAKOUU8OkW6;VLTq+OQnaV zR9?7Y`8-F&kl#goPY0dz7YKNVDydJxp-1QL&We^a6YEFadU~hCTP`y}PMrj}lze^R zk)NC*CrMv%3*_006rePQP4fOIkb>>+GOu~8HzoV$DUQ69OARAH3e?R!3ti?}(rj5Zy#KR|sQ;W= zX*M6Wap6GsuoSslt1o{VMtVqP0+cX++L__9!P5wh+fFaUYBr}5zk7bC)mf9*9qGBx z#eENj=Yc{3$;Qtj*mfLOC^akX@9K4dKtMQ0@fP|iJ!$4K*X2((GW%X?q$Gr@8%0{s zkk6U6oWLomySohgQuq99*1h9B-z&OS(q?4aGde`Ymg|SIKwNP>{h+O@ec93`oG>HV zq*|L1?Kvrsb^vHQz-HS&BK6U$NeGn(Z1~z~a!o^YXm?dtK1yY{ZGDvYo5>1-dAhN% z2elH0C$G*f!0vy_*J%UWu&JN^IN~BQU41bDbB02@xMAbWK5ElheZ9dslM|wj8qiHz z8N0X4wANGF&gO?RBvB!2%AfIwE0qHaHQBNW>5=jjXgYYlpq`Ya)}iE3TBKAK>;pDb zeX!wT)=RnO_$X21n+iHno!`lF2wkA$Y)%qxE_C?Rt|7)>XG6!Sljt%+LwtQGZFQqX zdzRWKjs-Du<}D@=R)NCLQ3uNWRv)&^UcRSd|EbDc-lZ8^UQfj-L=fSElv{^egy7FC zOTPPNukhI#pV$wJp_gl+@C=_v_kav2fKy*Z;d1 z7QV%LKv$p}|15n^;(HK{+g1Q3`}TLS!0gm0fC(VZY;u+wBL4=jF>`gY-nq@sCJ+jdhmwKJO!t1q5})vn5&{L7N$ii(n4}3 zQ^4pjzHofVDyjW|^|k}TdRsfBWlAz5)n#>_H z+BuOoOjyH2+Se@aU>-d~_-a-lw{j;AgTaGy)BT|_!q2=J*DUA0Ts!>Wrg;l3;esOF zd_nn*ie?pd7spuAPfKlWO@!0r^7gBdyx-gb!P7>2b66GP>+5@dGUO|Hb$QX(A0u)Z z3P>vq+G_o2Ze$l8@*$qV6E^R9{0xOS4xQHCZQmY>68l-mi4~U~7}WCKs8MQ-Bwn_! zfW5_wU~l@c-N$atmxtCj(pCg%#eeBXsj7`ACp$I47Yby9Iy2s})=+v*E4@JDzCLq4 zUYlZmCvE{cvO9h~+Xv&mJ@DI#aTNBqbcHXOXtx@pbW~_RZkD$5_@0t=Z#71*&&Vy( zee24{*GI%tG#M_>5D^ZaSe^5pW;Z%3sR={N(L84W$S*%9$yw zi^6A*!Q*HvoT81$kAxDS>*Nz`6$2?*2XF{o zQ;HJPQz3cBb-B-Kg7R%hv{R5-m|bikF>OSA&}t&t~@Vflcc7^jBHR`QZmfF$Ejz zwMLzvgQjewK6DYTxxSz9#{oSL16L^bH|dYSsxch3)NM7@|Goxx<#*9rg3b~Rjtrz5 z>Zf^SxbbA;NVyl53|JaSZ_Wnk-H1@_&m3?)N)vA>p*CXt6s!E$6S)2sD#xFWas?>f zCk2L+^UwBY$bx?EsJ|#8icLuhQ8P2Pr+r8;6yVJ3CWNuz8fd(#PR=hoy0W$wb`OV^ zUe<1=#gkxfc|awJQQ7~^LP?du1`%PGl*|6+>YN?RtzFq8Ec}%-1NZcTP?WZS3XyaC zOys9GrzAAX|3a_v5R8M6TQ^^iL z*9h4e)$r}v4u~;)denZR*0DVr^6lmRm_)zz5r?ojC$S<`e14CNAIFj~ZTCyF}Kh{a1Me#KAoS11aYJU_(yTqkXl zVP@andW&k0?cFB&w_LzFOg(){=?Q`6#N@37m=n} zgMmOzv3eiDpMDZLSp7iEOj0`ho+!DrP~XUFD8H^HU9&T>RY=w4$s#u} zUq97Y6@(w0K^mwOQkn6yw?t!1_aH<^NH)S7LDUtwaR~{5D87n;MOv@c%~D1zQ1J(} zLT!pJmd;cQaukstihfyj#g$L<@@Mmu|9GdKWP67<^04hnwFoeny&~VCmsY9?q|@d(C&Y( zc)8N~X#e;e?Of0r!m2+LDC~QI)#iSMBR91f+>p;pcz=yuoBE}Pk%rf(I}vuIR;Bb2 z3*#{Ley;G`6T=<*(71K>Tw-ryRVw$0-EB3#Z64vnW(w3Ln~C1+R*y-KG<;Xc;& zVf3|gt^7F*n|5ujUgk-dN?aIXHGsMS)g22m2=L7E+UT80AYJFhVcpVQe{jcGn_)Yc zBD`zzAnjYLbExK62GBV!b8f191 zC%4{~6?kBl2lw=5=bs8%*0h-J;!%0YM1^^Co^OJoWplaDzv}P_Xn#e-5+w%boEdNH zm~}M<8@t`2S7!pb1ncLXc&@zRf^nx(-S?tc# z9Dob+{OU|kK8N8}Nwt_16B>KfAU9r@*2yzwiq}Tgl#GR5l~W;aSS)RRcEJ!D(^(^+ zP<(jW=j*#9_QfajIp_pTqKK(vz>9u1v9G(u-9CvoxO2yiDD&Hu2+icvl zJB_qD9!dUEpVepHLxR?Jv(m-QpFevLv>ZF|#QgmX1)320r-A;i z3>H80qf_{#lbjGi3@7I6s!Ip-)AG1muKMVMCnWO+kM0SOuf-;1MlfgxaIBPL;FsX> zY<5Zekw#`MwO%z5Urz&F^P~?px*F)yyVWz!j}F`%E^(tt`EFsZVO~hburKyTCEtxv z=~+66p`P{1;$zyS$#RoO&NBE(Mtn_wi6uWlceND}vn&?b%$N&^(8#8m&J7qX6$|4d zda_ASX?JC-v$G#S$%MNJ@L^dR5Bk-s3l{zjNqGKccg0azNWhn^z!uwD%|E37{H2z@}3FwF=wJyA#+IPrOK2Bbg3 znzI_-GBfi63>so8bx8sLA(cbtj@wKOlUs{-H7kKOW>8)XuVL(NlY}`&g6J12ZxKXP zgRn}Bgtq@;{6W9Z>j-PZ;mmkl2?9Q74+%&7^y|~nzo^|IZ=4NeD zj-G3JU)#@eD}VUl`%^n9R4Y$E9tHgfSLj?IQne@dJb+e!|UHfLOV7gtpbUXyFIzK}5$bSPNikg4dn zglo3wdDx5?6IYkuq#9k1d&AeSswZ2JDp!?=uefQj7N4b#J}`>dHp6BVMoaZoT}3P? zOyN9L))e)JJB&$PdlR{ z?!Xb+A32+OHun&H@0nM$FHDNyu8^7;T4Xx<3N&STs| zPqTTSH{=>wbjDqc;-nr4;dz^>C|oyAsw@Z}c9n)c-SNQJmFe!+9kD7a%BBIu%CCoT zEi)_hoVDkm8kpNe$r^?S1e=*HBGN>^a8vd7_9UY~r#D~*wOv^@))2Z}h0fIDCa?TS zQ8<1q!b)3pO0pEkc)Hc=;S_lXEXtboxkn*v679*pwP`;FQ?jWy(V1(at0K zJ7U~-b63J%1e!cw?6@VSM`O4iJ#u56s%ufT-s$1A{wF<;4%ZzoUVfPvN(JQFnd#7e zP%N4w@k_MbNvY&S8qh#C%sfi(P}$|&tvqpiOWF<_hr8QM#^aBIfLK@2Bxh}TIk+o= z;JTS`Ucx63!7#3(UP5!#crcg0&Rwo(@n})Ni%X zh)4II3ier_{BGgw{TM9)sDCuunTBEd`|Gdepq48?Injr458^QXbA=yRo!~(%;<6LNadu z5?gONa&aRAT|pIAn)TWU2UU)Uoun%?e*de>BLiqYrFJ+!#3jn4lU%!n6`~$-EXW7p zf@-{vE<_pl^hw&}^TF>P)^-28M=OUY%SiO9EXRR&r!C?~%mfpwg3G9n^NlfGnOBpi zn?mZAm;?T~Mucb)2E_*bBe?i@^E(SYyq<^5gP8(HgOF)55f_xZn46vLw*@SP?jG9p z43H4SC8uMEQ4{A;q6Lk)>enZPW^{~-)>Kwv0k;<^z)Py`uKUkDG+y}>pYx4}>)l@Y zMtxcT)zu0G@o1I|7yP#C@S4*xB7&{bX-%0~8&>+f#_Pl(#B6QE2DExD6jlnmtUG1;FA&aQv12GjmYEj2^ zpWs4bFhj$^>WNA%*%}7b3MYURdg5o56&U%ue-CgKCwICCYuIjm11W=#xcQ&}Uf%hj z8n92yvnwYtHh0n0@F0p)`1uv`0ewJu3w;0^=VR8Ks8@M)DLpLzncf%Ul(%cQtViNAV)W?fw-BUe<#A}Q`Js{&!82}QVbQC+0d+DD zzrx?Rn$IiQ_hxI3zjIWnlhH&R&`RRJC>u60S9BgKw12-bIV(r&M`n&zMx>2cTX&;F zvUiQ?Tur9z)#<~Wavpb`CQfP+@QMJ?{aYmFpQ4!jn_WoR^H_^YD| zJC#aFbTYsdBW7DXuYcX#+!nR{lQ)F0TCI_Fsp)ZKYeMv~H4a8rROfbP&Z^d>@KWK~ z@-v;M%%UlFkAiJb#K)0Q6oO3|0ss^QF4sOA#`0450Zuzx%l0GoTiw_e-b&n5%@?sY zH+O5WgzW1EJ-9!Hd|8pk#v&uQl82+taJs2NM|5aE zhSjaAEgw|Wh|c%hy%)y|F@W-tSgk5>pD3*b)`d_@A_^G{&b?@Q;Pjl#zibxyMR)$^ zkRkOItgTJuQd_s;j?W}jgbg|Cvr1<2pk=_q9M_Xo5@h=L@eN?E8^dKa_KDMVQ^#q2 zLaDLt7LCOO_cjHgu+5!ic|yO<%yi>t+JO)F`E%6H}S0@prP|G%aYBu&(Rf7xg7GvP_41V?58&q+owSyi&ux!(Tk zk8AKe)y1^g7Pcaw;ztNIkM+9vI8`iT9^O)l7;gnI2-liWqctvB!*Me!lvBI-F`Ijm zJZqknWIq_^T7^O1cET3(iR*hYle?P=;^JBNqy|Is()TBH$AcE0y@E{ctgX@ssoPm( zx;1A3aD}2^k<%49Uf>G?hW*YJKARyXJu}xe_cQ6EHMSO57D+*N)$wHbI3>#wB*yB9 z7qP;cmDg75EwaRCJ!j?IEetIiGYX_jnO6|}Dbvflaxhg>E<9>A%z zhvCpIPPTfV35Yq`R1C2%XiBdcb<#MIOklbOkQ;7dZY;qCIp>+s^^UL*boj2`9LVT= zVS?^Iivctyv^P9DI=HQ^tvcW5Hy%a{U@PVBbh$xNLs-V++4tO_rkUTNUqiF6K5|y^ zF2wmwpx5jQ?AvDYJAVX7&nolb+~?UN%^(-V0E9RwWOnVO;Q&hFXOFDYLKZcf-ci{j z8&io(t=C0}6>s<jK!qiXK}gS00A?3E7Ts_&R%1}Fxzq||OOtVL*@=nRdG#<;4?>g*Oy6DqSm7#xti^-ro!u@_YO7Da_ z)JQ{4*+{!CfalLWVhqzJ3jbEIn-d|Qc%ki^E(BcR4%yF#!XX zO@(~m^1M0cxezv7(IYzR?!x!X`>TjA>>lzr_}8O@e8~-lW$fMAk!;3;5z=q(G`&^b zpT>H1v*$I$rWSF!Bwee^^37MD^gQ2(QLeu;g*ec(xg1NYu`5*W(No{|1W()UO6-PK z;EeQ3C+ms5YHO1XTn@a4v-qgq4&7o9PjF z#xU+#i|i3bk+4Acj(2n}|5e~e5Qe(i9{_<7ah)HXeSK(MKu?Hxgt!~~m$=JeGS5A9 z^v>=m5)PoM;IuVM1~8evE1^6q-|+RMVg?|1$O$&qIYdbsfwE?z!!o3nOgzh}LYRl4;`PlN%wFaj47Ugsue+l`3BPW7{R-!)(PWVN!;8aDzih-(s@{odRB z`AeB_U3+PVac9GZI7^8)irA+SkCXH|dVBcTP1oQW;Y)R!?w0B`uD8p>G zRHWXG=j4E;>Xm$g-mk-Vf%;#M2Ur_%xrN z6__I0*z8d+c4x`b)+Pil??z@f;ELs69j4Wphj|Y@dS>nwJSi`*@U9$5W2NpRW%dYM zZjaaRU4X(HevNPwbL`>w<{Z$VwDSedMj$@*YjCNcH8p*$_jyv~cKNG{YWO)<-12c> z;NAT-qG?v0n?gCeD>7%Ka!;z;124=(;d+g}8f)VLhNhiT`G&_yyhux$-(9%SH>~Sr z?HdRCUhPB43Z?ar+@#E1;zeI>wpiyA$zHvdi+I}8@C{sw&8DIZ0f#Ou#=SgIX3*sc zTyQDA!zP3S*G3({C=sh%wqV`;!a3~e$cu3Y?*WS{>Oxcj2eYW-=LNyVuMePI@YhyUnJ>5rWa`5@B7{0Q{4}b5@EpMB}vV5t-*B2wheIHG4hMu-`jEnD8^< zef5m*Mb&UY=UQv?(`M<%6ld`MPomjTloQNBcIwK(`zZxVlNMqquv5Gb4}(nQF*2iG z-}<8Z%>Ruh&h7v{P-$7JdX5HRl`zdBa$DOd*nyXdpvzNv5R`>nYsGlcJ|DsV>wPQS zAHew>`sk?=eNbU2n>}{sQjB9Rji_+j;Tz_)dpcg&hnqJChUlb zB|`LB{BVi!M_4Q@TSA14Qbt28!`r=8h@AyD^f`R0I~If(NW_NHavGwX*zdP`j3)-! zPvq(ej9IpQvO+I^cGzhJDtX@F9ry%kMN{9FwSGdsI!oW!4pu&yPn%$flB}sAGR7j># zuy5_Xcl;$@=_MJ?Ng!yl%s+qwf0-VT3oYu)2>d0=!p8*dGNV2tiww|yhMy!0v3L)a z?%~SO^bokMH|)M0-W#B3z)!o0@q}RM*`$Ip(qL0U@Ct|fHhz7GsZskp`-$>H#3Ad* zf?QkbO^P*_7!3x(CiU>~vsAbB)Mp;6rA}w7eHOdkT{Fo>4wVyo4IHF&9lI}=6qrxT z?{{0ek`3y|0F<2HY9k%7*)6AuS`oQc=+pZ9h7((PJ(JoTyLw+0MjZQFl30cGA0b=g zhnykjT&=xW<01s)T|Y(QLl5G(bo!uWSXxNo16H%wuT3PBlkRl;^UxW*Jb>dSPeSUs zknD|^rLO89i7yDwl6rLc3+NNMNi@^r51Pz&_=zZS9 z@giJmqoK>g-J>nqZ*2h%>0UCpJ8mu&QsU(o7dGR)>&z_E{%T%_Uk>ZsGBXQIAXTs) ztUg5NW0=Va*Q8KLLmRJEc}kLU=w?LqgAoD9?eROg>DBUTD#B2vg&#Q#tW|r-ZRdA@ zb6`6VC(q`% z9JV5$MnXVtBwAhh!j+vrd3x{p=yd`hZBwewbYyJ_#QT0rBAI@Rk=5ej;&qf5*$3O(-Wh&{Vwm z-UTc;q4E4~kq5QH!>>Nh55^j4KA5{Zw)FP`&?MkpgodtyT<@1G)To3xDrUfb%1d_T zR`r67K;8`3$bCobs>X9sQUqs->zHt`>9=bLru@z>ts2faRr%_Wi!#q&`;IeSnrQg! zEl_Co;vLO;6X>;=8lC_MgBHS2S*M07M`1u}ZK!d3#Cozqc{xl@+O`xWY7+nBI(3!j zfR@k>k^-?cj7){1Qc8`#RDeoZ#o~WtFN@Xi5>1C(y^_6$Jd+}TyyE2udHDjmyxv@B z{mdKefX?90MkJtsQ9pbrerfki&fMIb>(KmZPHJvXob8
    4y(8%w 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

    rel@wb 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 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-note.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/transplant-chip-board.md b/zh-cn/device-dev/porting/transplant-chip-board.md deleted file mode 100644 index f5d7b754b53..00000000000 --- a/zh-cn/device-dev/porting/transplant-chip-board.md +++ /dev/null @@ -1,15 +0,0 @@ -# 板级系统移植 - -- **[移植概述](transplant-chip-board-overview.md)** - -- **[板级驱动适配](transplant-chip-board-drive.md)** - -- **[HAL层实现](transplant-chip-board-hal.md)** - -- **[系统组件调用](transplant-chip-board-component.md)** - -- **[三方组件适配](transplant-chip-board-bundle.md)** - -- **[XTS认证](transplant-chip-board-xts.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel.md b/zh-cn/device-dev/porting/transplant-chip-kernel.md deleted file mode 100644 index e27fea3d596..00000000000 --- a/zh-cn/device-dev/porting/transplant-chip-kernel.md +++ /dev/null @@ -1,9 +0,0 @@ -# 内核移植 - -- **[移植概述](transplant-chip-kernel-overview.md)** - -- **[内核基础适配](transplant-chip-kernel-adjustment.md)** - -- **[内核移植验证](transplant-chip-kernel-verify.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-chip.md b/zh-cn/device-dev/porting/transplant-chip.md deleted file mode 100644 index d0fbee119dd..00000000000 --- a/zh-cn/device-dev/porting/transplant-chip.md +++ /dev/null @@ -1,11 +0,0 @@ -# 三方芯片移植指导 - -- **[移植准备](transplant-chip-prepare.md)** - -- **[内核移植](transplant-chip-kernel.md)** - -- **[板级系统移植](transplant-chip-board.md)** - -- **[常见问题](transplant-chip-faqs.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-minichip.md b/zh-cn/device-dev/porting/transplant-minichip.md deleted file mode 100644 index 58bebe026e8..00000000000 --- a/zh-cn/device-dev/porting/transplant-minichip.md +++ /dev/null @@ -1,11 +0,0 @@ -# 轻量系统芯片移植指导 - -- **[移植准备](transplant-chip-prepare.md)** - -- **[内核移植](transplant-chip-kernel.md)** - -- **[板级系统移植](transplant-chip-board.md)** - -- **[常见问题](transplant-chip-faqs.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md deleted file mode 100644 index bba3736632b..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md +++ /dev/null @@ -1,11 +0,0 @@ -# 移植概述 - -驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等。 - -**图 1** OpenHarmony 驱动分类 - - -![](figure/分类.png) - -HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框架会为驱动达成这个目标提供有力的支撑。开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解[HDF驱动框架](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/HDF%E9%A9%B1%E5%8A%A8%E6%A1%86%E6%9E%B6.md)。 - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md deleted file mode 100644 index 353aa15d2a8..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md +++ /dev/null @@ -1,390 +0,0 @@ -# 器件驱动移植 - -- [LCD驱动移植](#section1574513454119) -- [TP驱动移植](#section20284142116422) -- [WLAN驱动移植](#section0969448164217) - -本章节讲解如何移植各类器件驱动。 - -## LCD驱动移植 - -移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。 - -这些LCD的驱动被放置在源码目录//drivers/framework/model/display/driver/panel中。 - -1. 创建Panel驱动 - - 创建HDF驱动,在驱动初始化中调用RegisterPanel接口注册模型实例。如: - - ``` - int32_t LCDxxEntryInit(struct HdfDeviceObject *object) - { - struct PanelData *panel = CreateYourPanel(); - // 注册模型实例 - if (RegisterPanel(panel) != HDF_SUCCESS) { - HDF_LOGE("%s: RegisterPanel failed", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - - struct HdfDriverEntry g_xxxxDevEntry = { - .moduleVersion = 1, - .moduleName = "LCD_XXXX", - .Init = LCDxxEntryInit, - }; - - HDF_INIT(g_xxxxDevEntry); - ``` - -2. 配置加载panel驱动 - - 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在display的host中,名为device\_lcd的device中增加配置。 - - >![](../public_sys-resources/icon-caution.gif) **注意:** - >moduleName 要与panel驱动中的moduleName相同。 - - ``` - root { - ... - display :: host { - device_lcd :: device { - deviceN :: deviceNode { - policy = 0; - priority = 100; - preload = 2; - moduleName = "LCD_XXXX"; - } - } - } - } - ``` - - -## TP驱动移植 - -本节描述如何移植触摸屏驱动。触摸屏的器件驱动被放置在源码目录//drivers/framework/model/input/driver/touchscreen中。 移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。 - -详细的驱动开发指导,请参考 [TOUCHSCREEN开发指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/TOUCHSCREEN.md)。 - -1. 创建触摸屏器件驱动 - - 在上述touchscreen目录中创建名为touch\_ic\_name.c的文件。编写如下内容 - - ``` - #include "hdf_touch.h" - - static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) - { - ChipDevice *tpImpl = CreateXXXXTpImpl(); - if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) { // 注册ChipDevice模型 - ReleaseXXXXTpImpl(tpImpl); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - - struct HdfDriverEntry g_touchXXXXChipEntry = { - .moduleVersion = 1, - .moduleName = "HDF_TOUCH_XXXX", // 注意这里的moduleName要与后续的配置完全一致 - .Init = HdfXXXXChipInit, - }; - - HDF_INIT(g_touchXXXXChipEntry); - ``` - - 其中ChipDevice中要实现如下方法: - - -

    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 Gc>N#PT?mi> diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png b/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png deleted file mode 100644 index 39c6cb96611a7ced5e17bbeee96ac77ba5c1bf58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55221 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�`CQ|RV#ExZUQA8abUl4YF<Tjw)MXG`sms%vJq}4 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 diff --git "a/zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" "b/zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" deleted file mode 100644 index dd8e1c235633c3e42fcd1360b66b3ce3452db02d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612762 zcmeFa30M=^x-J|=L_mnlGR6^3@ zA~GA5Nf8K;0Ii6~EFff3kVz^Eu_Q_5uRi-f_y5ms_kH$0`<(mSdmr&Bks`HfjoBzcO5v-cDTP3fch}wP?8ZfSY!nJQpvopsBT1TW7PO(Uz^o z7M8oLcJHx1aM13M{ox}HZpYj`Jdb;M2mE~MbYM_$$oa^q3(=&Q*n}&INy#axX*V)& zW@YF6`djYZ!h1#ci%Uw&9#>V@)Yd(DTHnfKwY7Kr{`^I6U;n`1(3{~AE|352{lw&l zscFHd&kKvfFVNSeKiahnCG$VJ?5_>`n|7%n?OMKKh0F@MKiaiyc{Fm#sH~7(zkQ|Z zJ{LLv2(=A6F0WGGfBnv*7Ws`kT|teL=Xw-0H(78u3;t-@zqRZiYgqh$s%8J9VgFyd zMo_C|mLY>Dqk_Vt;0dw@N228o7F;f$&UoM(Vtp+yJm%uLabv-cr!S_q#QeOSS<#`Y zdD8g}|De9c54?IRhy|A#11++GR4DqKy zDGGcbh?b(TTcoJO7%uSjeWet|_2tdOexBiWs0a*5x5Y|Pwlxf~NrSHx)%gO?^&=7C zm{0)nBt4U&a8A1SK! zSsPp2PzY;GCQ4D0*>y+_qSF~)V|*LczgO^k4}PD6-xtYuGxOb0fA=KceepjF7ECyJ zb*Qs#iI^(3zki%WXAKIiFEp0F@$z}lSXSQ>99(k3XLP@TW8L*DN83|$?4y5rdiwMx zTA#JJM9?k1Hoi@YdQ{B9EM0hZ8{LaeVt-msBEZer#3l1*u{@kE@OvT`FIw&ee5jxM zfV!Ku1-U@RNU}@61$CGvOc|)oo9V(H>xE^-KK+qnj?PaDI*<0%C}L5h_=#6b?VpBu zPpTWLpQPEOhvvm>%#|-Zax(I|#wEFW7vfcR6-}&`C)_O{&VB`r+6*>8M`FrJ2`t*m zrnR9A018oc-pw^{*kq1moM$jf%T~(v=r5& zo+(8sN4H~OlKQfxU^~hwDT?_>it?ADmNwh~xUV240^62Tp$qs~ycBiNl_1{3UJHEX z9F?0Y()gN#Jlr8kmZCnS9g(7vZTLu$whDOe8!76c6eUqPf(IwbNLiDYf56?@Ht;feugF)t2OJG~NWya2 zbI$|;txcN$e*@#m7)a09{yt@`|>+Nf(k~#(K^H zU}h^u?Ti$4R*Fh*S}VC*9Y*BPS=3ZKDyIWh1+mG1|2uFzkMGFVfOZhpKt@a<4YM%# z`Rqda9&%U_(IUqKse=^tm?qAhpBBB)31} zwCJ?E$~Ed+drW z%4tQ*F<4$r*pQJ!33SqA2doP=7SKT&YlZ)wu9CQ1a-T3$csw?;sVcG9qsHNSp?5{O zTd}JP)4!zMjqX}BeQ0fL)T3W_FplYXP1#YZ7}X!*3CjG%6IBZxmdVDT&upXhx*lk!@8xUQ*+F<|;&eOJZ}bRnB>Qwhr07$E{T;MXj~nUM%*9wuW={6%T=D%Yy|zytejRWNaZc za{?lAJ?9EVYbh+uY9JIyU{rfD=?U!G{G6+}wPZzN`bap7KB_A`3JxZS3@LANtytJA zYz>PzV<#V$H+5D5_KD7O$BJ741F>@xm1m!5CPqR5g}(M&YHCF!T@H%pPlV1xM&hN8 zxj89Hc8#E$HHYCbI)D*#kr0sNk}vY<78^q+%CC$Ysu$U7Sd+RJyS0-ZJp9}y+A=^-ZQ<^)J_hbyiVSsrV4gD+>>prC zQD*ef6k#J|pqv?8o7apWDM|+(rpZ(*=?Ym;Q6c<_QH7Zu!pzDGXgsS#aRi4ZAL1=R z!X8HG9EMvnDOPu5;w&L-D36HpCKdCDR8AjdJ(SKg0X_O!aprd8 zzGKW`l+R9S!co|G&}A>0RiG>>27>0V!1`dv>`p0a#Rn)(kj!bLCO54P6- zhEmiVgO5)JMs~h+v@FOMgz|GzqmWfNp{f+%M|Ex*I4zcnY1oR|ksO6A35~45 z->U^H+KKE)41P3|mcj;)r4u2e;xt6_2Hw!;bnHFSf;4u70NCksXlK#`%={b;6LQG7-}xr!+$qg^_~=#bUKD z9+C=*CS?o&-SJ9dzdA{N1em^lD&sQ48)4f27W z_z+d^;Mk7KuwjrJ)M}|kQO`blh~4l<1l)4K)`yF%b^cIm>aLllN0!c@DwXY(qU@zJ|%~qx{DO($I4);}K)XCUh`l9|0 zM<O5`;H{45c~bGv7sifqK|5pU5m z!v~1OByJ05OBB$w}V6#{v^r9=|Pii__|~kI$^{!y}_RgB=~KI zdN_H9fxvY9)dB?&KPo=JV=D#0TD`Ur0-5#;ON2!7Nu25w&JYR~gtmjE1Ff#!q-=t{ zUI{@hAzKIU$qX<)t$OEB;Z^_SQhDCwTHbcbctoK?ftviG429jZ&KpNg?$ld8QFN{S zb&>gQha&4=pFA(?mQO0S9ti&YVkgtR=r8^5Tm8qd!QPFwXZ=0pJ!(}m@PVf0xb&!P z)h3?Q=NM)D8M-QYH5AH|s38VBAr;_cFsgSw$Q@!~^+*ob3no?Dev@NA8ji97S?Vn{n&GkLgii_os12{nfs@4pk3@jBD&#tGVli zBqLb9Pvk_hX~kD1Q{`BS#N-RH-SIdr%D8t&5*aW00UF{>w&ptk85E^nvf3TWE1(+F zTzQde)EqvWPvFlbcbpeFzZyq_*jBv8*a6%k47Zg=a)HqKSfAS{^v7-iEL{K+6#zFbv}h64U&b ze{TH}8_v8FB)tCnYbe3TL#<;9S;zR{FT!<_2TdD+mOVIg__cvKQrJcjo_rFb3492G zz-tTPDO%ptmPTF9JhS`F0bvQ0_+Xl`!jhO=u%RJ*<%itjYvhfA0wmwH5oDw-c56YI zzF#HT^5Yf;}&^Dy!bTx;%Jex#xG>dEzcrqB;QeXe~cNqQ#;4A?a-Q= z*~Ytn|LL=>2Ub6c)%Cvr(W?vv_Q}|KI)bDqmt=~pFX|4pgSF>iN8kEmZHM;9^iJjc0N#@{7-b`!xrNkCIvVbo^?@8DfTkCZq=12>Fs?DJqDa zidRMk>{+!VK=(Z)l zEZ%%#fr=nMBcmh56n-E{rR)}KKu)K4jL|w_3xv?T^x@Bl`8UAni?Nbhz{&FYQ3B5j zK?e+NcoXFXrpi2zr#q*}V_dUfuVI4SKR$&L1*7e36|#@OgQyHew_3*y=7XP)L4i?m z#mv&_FGuMUXA40le=l{mO=KqC1t}Ghe}LEm8R0caimfF_iW;>N{?Y?uNZwKuudb#0 z%}PQlTLot_!&uX_<^6?#86>%$PxHG38@@?mn0`l974Q*t6HZ(Ig7qWgewfoV0 zqs-+ORU^NpF>N2jBq?kY|60m>w5VF?T&rtXp2Xyo+xb7Tc=(tju1gC!wew0TNAR$n z7aSqOee1jBWvuM@bR9oVG%3FLDb+*S}WKHSJ zeU$?SaE9h~ijE*5g;64ICp<*cX|N3CCBzA++*a~Y(630K$Q^3NCfM zwiKlbuOmA>0>_&Qc0*o(;cxi1aLB~-5;6nOkRfK4FYw{eGK!!u0RwqCkDg3>jBh;% zzABF>ff6{3_W88&9lfxc*jr%XU7MB>wF0QB&do`+btxv@RMd_0aqDY9>sO9lZQ9=R z5&ep|4BkR%M?CpcQSdk#GPYuNLz}b9%i+G7v6kf1 z#?~OCMUHSA0`!zBNF!g43ns5JsuziA^<5K zs7-?SON$Hx=vga8>va@51p}r*ZX(a4^$$S=Tixx8-QvpRmHm7?1oEaEcRxCzrc=G= z>7ys!dXBlKo!dGa@1D!B|E(is`jo~vc2{x6^KHNC$qCPtn?A19j5%8A?oPLk^4IIY zmeSgexx8;V8S?JQ8Jvq=^y5B%4FsGJ_{nWzk5#U-k4WgAp#pI<*~WK8Xj#qatZ&=L=-JW4Z~!_q7D$jLrpK~SEZ<*&|ekcF)2z2&@>r~o??~T=+`f{ z+`Xjm$Mq+Ui#`zhr+fb(??tCcQK8tcmedg<+$BZvv2ZzEW$3lWX9WKtRFmN&kt0$& zh8X$xKorj!g}8uI_^+011cCmJX_=RJ7U z5NqGJZpX)`qHA|L21fgzUs0R0>&EkN3xeWf0|K|WH9V2F($=C$5!ws(A#S@BklQ@h zey>0c3g)ntNoq{TlCh2zp5E~v{IvQaE6u{so~)_8#{1x%I&p1$#f?M90~9}~A8i~y zb}KSJ=unnd4O2<#;bs2@_H_QmHFcWHIR`^HZRyPw20M!F5BAN z4X)oX)3kN)N2dx>j+gJQkvAc+aK-B%MzX77jrzl{Zr3gU?Z@D2X=$1_&Uqhc=|%qP zy*bsNwd>0-Sq>IuyUFH}rOzJ(+1+1saq>Mx>D@YAh&$3ZnRbzI;~w{A&AVIti%0Ie z*r}sD_ZE>HTXPMnc!0`>g0-NK%ERdTPSq!0t(h~i>x+~Gw$&}|$_%|drPX9KU}kow zY3RX1rE+_xUEkR#ua6Utde6*7&UmK18sFk}=kB$-nbY*auKPoU!MmOn4a>f|_yb5y zwB3qL2?QBQhy{Au;KS2pXptU-$smQtkeztXL^ev+A{M+p)48@TE|g_ePsu8JGdAOW z{b~OL(}hvR;0J!XHj&hP!WBSaBbby9F5#2#XticP-N6Nd8Y#L(oMbSdhv!xeh6)$2>5r#i~I@ICSRI}M53gh*np~$$G_SvDjc#r$JXQf-8 zchwmV|B+1mCoZ`O`)f^FFNelIJJGoL*YcxzQq(F4VAWa2Ws3Lq zek^$PA})~7m_0b~@pLY?l0)JKzrS%Z$^NvN6qR&VlF#^XS*(fhzFwSg*u^sjF;zx# zq65GidoC3&57Vh1f$z1Pep-Mr`Mu=z%ZP>G1IfF?_Gg*;ZOGqk^q2R&A=?rUw_9a~ z4V%=C&%%3NJr>KJ5v7z3Hgl%?b5tYLvK)R5*?FrnpWi!i>-M|Z8xHe7Xa6n;hfdEA zkHRUKmT<9U!Ae8`seu8z*j06sHTZZo6l$v^MZGW<=9&O=4U=%vFb&q?F}?;*0;f*V z7R;Ift^q<}XB8k#SUo1P0eWPhKU!1O%og7*gteauFCYZB9Ed0wl>#p_zS{Zq*!?qV)D0z z%G3HgJ$h@jBcCnSHC9PJ4?ewAaCXTUS5(fi;BRfU5(4UX zj|3G<>TXFcwOKc_HBcRJi+`h0EWTgr2Ra zf)k&h#T$`C(5I?@a14qvd0$#dWNjWgr58z%M{6QJV6)G(&&aL94IoiJ3e7frD^Ws&^&&6 z4W|df<@~s_1SJyo$HB$Mok+Tx$lDzm=f>I@WT5q!QD66TXz@w4654xcQ*ZUJALlde zdo7)uZfknSy%j`84o2Uy8MS)JHoc|)2r3RPX+4YmQh#LsFPZ5>*}r5}ZW@Vk_A&4~ zQzc_Sx_FoDFl4s{DrQq*7Qb8IOp@T&j`cHMy%9np?&qV-Go16%H|YMvu|44${Zuh~Ks zC;*{0M-M%yWfc8_SRCwg{Om0*U2^nP@h5Yn(Hs9D&mL!{NKuP1zsjn+c>IFI0Z3wV zouKX#SzEM&)XL|5X+g+RIi6?hp=;fqg1U5kAVCx1d&95c6g#=Tp>{)JjKH}2I?WEVzoC+cd`yG6Vv#EZtKk+&iV_&%Yr*+ixXtgvp{Ur>Kjqp-?c8YmkLxFK7SAG@i+$%8`u) z@z~Tp{$x8o1*av+vULGF+@MB;(!=TZSHhj(GiI#Z<%VUUoOu;!!;u9S zInnW_p$?G}WgP#wxVbx-xY8Ur9S(V8YP2p}%v-hNtBJFx_}$Bbr6>(C00`{c@QO9v z@icXSa|_;x?EKhy5lrSXSS6+w@?=Xc<0?gOFv!WM%mVL5#7wdkdnFh*`5cKmrcsZ zI|2AjtXvyahU76%5ExxHdJ5Sgxr&bQbx=mJUkGdo4HZ&`D7&FzaFl~?cjFOLyy41n zQj@P^2L&y;9cAWrv`L`+RD>tFvbs;*7cU0-h_Dv7ww7hmnO}vva!JgeLV$Mr)UJrv zucl6BQfn)zMJa{OwN?ft_SlL?q+1tEwq`kNG}~h`mdf1MJ3sJr94%TrGn2I4a?))F zv-O&tX#$qc94Kqgf9Sqr_+qeeOk@PcJL^Xcvei;Ew=GH?^J(}2{K5lJ(QO_#fqX^V zL&q(lQ-V>uDsb`|Igo>W)4{4QPO@)#-lR`HG}y424u{=heHK82yyWNZ<} zoialfdG*Htk%bEs-pqhD`*vTUD2O+M^fvSxw6NtFl*#Q*f)!qi?!vigtc1*tCScN->85{Gd`^rGf8B-MT*V0l~%-gSO`@ye+Jg(`szy&hms4gc{%^ zCLXgE5ij_3kLtF1FhBx*6vyXUb??YcVjtT!DNZ z7)cO@ffy!DwTW(t5WY#sYUy_9A@9?#*apRm+IEd^myg)M+Ao5qq^@ z14u|E1A#(77n*kkyHhRaW%maN@F|uIjVUuE#vcFz5kiKd@=Q`e))!z7NosJ~l#!;5 zl7cWGh?+{%rEHx>%yOPS&0eYs` z$~<`MGc}ZBuud>|N3gRkHmQ&o=7)vc@r(X=(1$Me0T8wDi>HX>VFhj-Z6rrXYv=(^ z(?)%`nhAU?Wb^@w;fiP@NTMsgUUKg&*+sDYa|evSp|93T)0hWB*dt74f&LZm5bMYs zgVi)1KJo0CajyouXl{^clwG zJYJym45|`&Sj|dNB3n|z0cbNaBrA}47fU`Wx!oR>f7`5)5b`X zt@R7mbJ^(}A4ckhTpMiq0#FsncrzsI>9LhZYBLF0mOu<)Gn9FsyhVVS4HoF~+VglK zM0Q~KiYD47UQbAX1?i3n-XwGu!iGSoE6vKd4f6MYRIuKj+% zl-O*b3mp-d9EWHTw}Zyb1vzQhxw)owVk{IMT};}!zwR+(z>=tXWZ6J=bPkVuGY~pa z6i~1$`&9d{tIIPBGRt#Jwa^m_Ki#M#E`Rtm8%XJnFc{yR`{>p7fzZLCw6>F5TaVf7 zXy`P_4rMM@p=Y0PCf%-lUd_dyO1WFY{Sa}Q=xrHy-ymtn@diU3nqp6qw*Q^f&WFdc zWC`dbdP;HX(j=2s&7RZZP=~98CvG4nFg(%LUvRzykSh{&P{pTs^lMGlNSr>~0y3L% z%fYk1Rff>kH0`1cjL>HnD?(!BQX9PP5rc+=IL$n+a%l-0x;Ed2i2B2PAwo-T2X#`Q zBnK-ha?xwan?Y)dSeF|fZ_RE)Yf;|l&}Y3)`v^;Vc#<1Lo?i~>dP zE4n8>3^{SxE5%{GK){wrr33A_O%S~pL1@vJ7DdQts|uP@%Yq(Do_Rn4Jf%aE&4AJ( zUKz@3(=yl!Zo+9*G5R9S0vv8AIZk|*4^)2=ezh1|!QJlGeDd>&6q;pU>(fS|zr%Ct(%i+gd{^ zO-;eayzyO?NfU|QnODJ^zr49x=2f)Xj(o^QEI;YDPGd zVrCWDzOg@QFQJ2mKHH?-!c)5FHL%FgA>H*ogw`9KoC}AHv|2xqZ3Ks=iV-5$fz;mF zGQRA_P^+JsU}zSxyRuIuc{u%`?7NOivL{7WVs#^g_n!nY?V$npUYS{7Nt zxY!=JJ3i_iRJY!?3x^?}0@Ns7IBkLFEW+Z*u7zmed@CDtMs_wG0Td~nwCbTW#?SeR zNF~=+m^U0Lh6ejO0$n5z837q+Kf#Nj+WM9Gad-5QaoYkeR%X-*Yp>t&KH){UI8HVO z>2m>h5LL+heM&b?4j;<6yfcLTI4py~+|A(J#nce4;e!cRWcV4AtWJ@-Ad8w(jTs3S za(fr@klYO9e0))nv0@~IqCP}+F~|=Nh$(&(6k7=09U2ZvQcH=bc^GqS>+80Ow-Jdg zuRFoT53elF$qTOh66rZO-TR`@UQ6$Ojp+jm<4&~mp8HzJE~db~(v$+l?kK_TkC+zj zqu&~Xhl+E4$v@-tBLypCi?4a*sVF&JF{pFv^C?rSp_1-xS>D^r27P@-8cqcFEp>DB zlRFrYL&JeGQXY>sw^33mP~(1SN1{#@Tca}Z50YAdixCuGsv|ogEd2*Q`0+O$7TQxT zG#s*3WV9G!S8uWopKSxf=L|GR3-9}C#x_I=Rz6!o!m$;J&=ilILaW2F=2xMqh_IuO zu=_s z>0S#`3PVjoJ@KbWqs_EhYO5KR=h-};Oi_>&*#>Y;La|r;c1ZFmd*Bx%Mq;%-?ilq7 zZqpRbAbXy_f~|>DLwsY!oLWuQ4Y39i#ZH_q|8-9h zul2fVWgq?wI~Aj0K_8KGhrB>4XSKIcx@nU(Es3ZhHsd&j^K&wQ(_QwC;I%@&uOkas z+oVK30u2vSzmW!ak*SedsSD^RXQqcaMLn_0iS-MQIQV~cfl$;6Xc+@9XZX^(8;6|ejH?nV2n z9~LC9IsLlp+{@TnMdhlsz3tqe9xVvg-a-$2{t>Nm085HhKT&#&_0tF5xe;<^hOyUG z!R{YD2c`&UPu->McIuu(7==Hy-X!*%q7=31054gRx>N_J()%35osv7iyA<+KWbYu} z0}*mtE(H_id7k1lQXt%Jdqj#Vd22zTbJ60fq;k0V2?Dwaf^{x-8edgJDSvQW|LW!0 z4m^|-Cjy9^TZHdUCoYx4tA>WN1hm;@Qq+3lC zqwN@>1(YB~IS)lG(f@oia@o>8a1=g>MX=r*)lMnOZYcbOJv034ng%0;aCXE>w0s-? zs)PSK7pu>8g1blYGqezmXfn0UvNnpy!mWg$+JH!()h z4_2`dg40N*(n;a>O6_dRpOuRg&#rLqhJ1mQ$WF;hGLo=t{oKkB*U+a|8_MW=n*KiR z+H!K*El2s6zN=H*a%WY<$?Mfze0)_WcB+tl0Q$10-GA$3gPp>!6}CnOn|YR7oNIPJ z$IrdISatPY?uF2(f#|)v(mrGV{DwkUi`c?gG9j*JfDIrW$@qtc&%W%06QOzWCgjH# z;-T>vDT;^~>({5X5ZyKs%YLGS&i}*31;H<0GCmNmAx&~Xs3Uq;9CuNSmaOy#z`IEJ zZZy&Kxi5&0v^a4H42RQ(m{>8^)&wD)yz$&9u`ZI5tO1e9qS&o~ym*lMw{^pOui5uL z`(xVvA3e`D3KONM8|wuJV3q{&$Ong}iYRvED5wT3_k{Kew0`VuG9=^r7m;`lIl(cF{k!%uc)*4D;Z z{y}T#;iJCO8vj98^xsWuJa2q$VdfBCJ#B5C2}C>!_&gsuYExQkexW$eb_cHQ`N*?} zJAT<1s=7gUH+)XIM3BMIND@VyuQd*;GVMv1mq-HPi__zy=^vU>XL`?7lalRP|pesa&c zWZWFTYK7jQMBU>&l9p{OI?`YJ_S4PExVe{O4}ujUr`W@Ni8k}kSG5aA#HD`Y{&woe zH2(nk|LUdjE$D42JVg!^p@82#h4Y9ERSeZ2fS19^Kv9zZJpk~0Z+{JVcR`RW$-u3X zqL8SNQa<#jdnn3Z{&wT&kjmd8^dAsr^aoiIcFrw4B1W{0(j(0Ni&Ioo6sX0QZLFzj zAna{xLzKs8vYq<2eXB!yoh*8Hbf~+O+g^K-Qk0@Gf9$9nA3ZyU1eWHK%eGb`8$=KM zks!ww5&s`_t>71 z*{U&z0T-x{QMkka-%J#nFR)=_hEvIH^h+8PYcE!-gQ*w}7S@VIjF*PJc<)A7epHIG zr-BG-Rcu6zTpGPEWQ)vaBiP_NV&mozxpW7lh~Um~#MZRAAZ<8|*fvC()x#Gf$?(>B z#3=E~7e>-h;^&B9{2tI^1AGv`%MmS2^nHZ-MifK6cuqcJfh0vO1Hfl}08}Q~b@vi} z2f&@efX?hCTi_A{@zsm_o1zJKw< zS_U{K%&VB1_^9|M`x5@4vB`6Ih1j>3f+w$qd<6_9tSu-`XxJ+VZAOl?N#@QgiS2q# z#dvpZk*OJfhMEut-Lq;$DT+>?L{-sqxt?vP6wT- z2rGVi(@y<{dPe-lTJ^cVD+QjYG=UXzM5du5et8dqC~A`WsC+H2hgAcSaRCSe5buek zcaBEsW8HffbxHFU5=W3z`T#2o~RvIQvzxp&79QLvD{Wa1iQvPu^5_;vrU9^RD zFdGAv;gJpWNJ^3}JYANNU$@L#`R8l@;-DXNIxjt4&zhpXT#m{Eir)v!l^ zAOZ$I>?wo|LPfiP*9jsrz$-x%Ii+}soTV^IJ?;?x^C#jt^xRhDNWLeM`K5V@8D;yo z--`Km+4QQC!fE6Y+6~cPfM5a~*D?Q}Y!k+XDi-IwO%OQ%pFiR+!q22AN8(k0JHe<5 zl&r$nb->0{SRoT(dd}N_yT3wbr?)I!1t#A$y~B*SA$5unu@~7(-r@ixe72P2;Xmw? zG~toZ7(7OU6LRt2Dw-JRV&9K^9>4j^I=Gi67E#Bgs0UJ1?+_mY#n5Mmk?khvIRO%{ z7b3Ie9&+%fUe7m67g?v_3Nc^5VxP(h5ux(rTgn$nG@Q*q*f?evaJqYG4G>O6VsEhq z!Y|&Qp#Gi0hlcxI7LjMVpU3@M~e%PdZokXI9_kTl6^@=7vla z7ZsG&e4b`}Ysvh*)!3JeoQGgNMpEQb+wf>H5hPM^y5vA)?Ia<`ju{Kstz!qpULcKX z8^Iep`-NF=ew{lO&AsPm(nk-IqG~P1Tt__z+gd*u=u(di(8=~?!Mm*e?wk)BX0#KN zRLCdmB((d2>@2x5s(&#~-7@AQS*+L2c|mgDKmwA_Zbb`31OGLoC^cPm|N&?M@OYA3#fnyRk6DAwy# z+dn>-MBKtRZeM%4%odSszkf0LT-k1a(&p~pK2_{8(KW48N;x-tly!Pr!SX~Ok@b@| zor=z`bS;_5`MM_qD`Zzf=brkUU)zSp6-Z+gg}2 zk);leC$KxnjN?W7)#x4>k|OJE`CjeFwm&liD;3Q`)19u7g?`&3a&MM&=4Dp|gub}- z*6_}j`^B61T86oloNwCFZ(3@PraeH*e!PG8Fr7Pexye)Bh@F`t+0qHAVGtSsD|JKU+)MUZngf1Ks1l~g+WNd8mtetK<^?l2<5FN-@_ zX|0#}KBu-+!DI5)$=(i+8}|kj%LM0d_vX3ZE`3p+ZGb zn^d3k9Ww~-Jr-Z*KGGxg4MvX+Y1-udlzYCBrD!NcW#EIlWucvXVl&}VMj=FJQLH6* zEZC`j8$mwlY~R70BOo=tNh3(dna-o>lZ0UbEFJTr`=pN1dCw{eG^u0<4}4- z!0nME_k5;^BO~ou;n?asa>i-ydroZN2W~c2W3{_DceQa#`&p%CIJ$FDsA!9WgXSqK zgD7WZvy-_uGONesd#;&VAU^f|k9!>!wz?N9hg`2rVfI7_YfAT15IXLkaQ1Hh?p%TY zJYw+t6_H5G^o-1a_OuW$}J#cv1X&JUVX6}}R+A}dO!?D;*2#`K=ZDf50a z?HxB(ogQ8~m7}GZ>dzyr4#`DdC0j<9Lj;z$W=#pbbpI!6b#%s7&l`^$f?A7=-6}WN z7b!eRQ-ALwx?bviQ`farcKw8<`mwPsB@Wfw1bOFNvNseNFHXI7jkO-w;veCD=ZMuF zSLRUZ+9xh0Lx|D;Hh}v!IGm@+AtnJUxlL9I7hpM)=@ku89Gk9-ZR5HR1-QK6(vhj$ z>|zd}K4Y+2pf(j=_T~+8K+g7=CCwtuOrAc@hK7dnesn}m)eLkSwB1`em0LM^g9wjd z9*rk}6Uf%J3?LYP1*1q=>qGVsd}$U6hS~w`Df|ktRfHgro1A7#;IMTeT|$48nG@&t zsJ(&q0=WcRm#|fRP6H3B0`HE8T5G&2zFQWe>?r4q(eT8KwbL74Frut)ZfU*G`1CO< z;&_M)jcNRA+8U=9m6j&Q-yUduIQMBNTgSug0;@IKuo|3qGHJi2sOxczHowtPKDC7Z zJh_bD{Y?P%chT8;1Oc|V1Drg+%}@q%42DrW{w#htlNZPePp_Y#bLWv0Yq&;j>{Vpn z#%KN2*wxc8b^t@9aSMug&(Jbc9!o0|%T9Fg(E7em_`YZL@q0IPyFM8-pPe}TJSs18x;3VPqq$)}BixW# zg*U0tv8HZNX@bFh66JewUtRw~zM{{wzUkevyPvk6zvWIm`F?GworlnsKAY$1H}vL^ zdt?6B#+#>H-=;p^{F}4du}SCcw@NzK+%e?u@#h=K54ptFZ@(2N?|!6phqJk7x_#OtYdH7bTl!KU;xZ2HAw`M4HJA?tw16 z3(5V09L@A5e^$#l&tacSG;7C&q50 zAF9;0jMAwta|?4;P3xQa_2#ru(v8S`S@(1O&UtPAQ#|m+-MS}&-44})W9pT2zbpn1 z7I!(j+^i4(J05=M6QT)|JuFGV{~SKr2P?FQv|+^ND*|Cp;MIh^jdgSEJ8yv&6FjHb zqt0M^AG~^aUj^AHTWJUI<}0?r9^a+=qP+9 zL4u&*^f};1$t`^F{4ig5xxZm+Z~(x|x8dZp)05a5^aiVd(yqNtc^By;BsEt3VmlT2 zKOwxw_60tJVp(NIyB zbw8?c424=w`=-I4tR^65#?FTG_lAr*LT&=Jc6Rm3>k(zaOL`17;52&pGjeKMDMcpO zyG!JAwwG)#I)t3CAWtzO%YwBQVz_SCXlLbaa-woM=+pP>?+VE>4b$u~@p#;TXys9pX2qxN>lCr96K)P_ePA)Mj z-_CY>cx5*))XZQn-lxAh-E5=J>-i|1r7K}t-6qa%SM;-rjUy$Mhub8jZbhQ!ZNBX^ z#-_qj{D|9$p<>zD{>^*6-(@(IW$bbM>h91zyzkjo_mErRdokVYf5y5mXeGnj$-4!F zHcSdzb^)Uj_l!qu^+h)$TM-ht^x2FHL$HcOix*3}L6Gr7_RjhRXD_WRmpmz0BT$Q@ z9UO=W=lc%3%h72Z3yE3e;#K8TL1dzmp=87+VXIT4qAt0tF}_zGUV7X+Bj~tq{n|>8 z3RYUjd3%3rH>kM2@MFkjr#rcnAvJo(+48GfYILjjy_w!PTzSwh-^04DX6Rl?w8uem zAZA^7!1u~e)(8LK?dc4-blkW5Oatl4#1n(2t$#EBXQbtSL#B){-GtRHaJWE}{z4|q zF)rkP2$IwnX5yYLSIm$!et>u8i_QGPRTHNVB3E(G5L%b98$(%WS8v|vIH4LNGCd>L zjl98T9Bc3NpB>3R?omKUSg6@i>cj}@8taf8DH(f-i^$`j{i&ceOcq>n}tF0851~BPb-A$A~a|3K};RRcxTnN z_ANVZq*6V(+PBissUU8+IL~T`xpo>Dns-{g_S!M-50A_TFpu3vPmIA`L^DOH0+>?t$ks)nGk+%KBwZgaC? zZr_zCWqEo0N=kF>Bf@q1$(ANwlRTV}N=%f+&xghT?%Z$vamwfyX}G5t)q|m-&7C!4 zVN0=l7Ef#q1;|>ZXw8Xv!npBg+Q<3uRdD7@5yoJg8cn);Vqp24>J=QF$!@b;)Csnz z1PTJ~hbsJ)sy`;e@ogvA1GT>Sgm@3OmA8JZf0a0}WVZLtBWu4qzUk$-ONn>9_kBHg z_g#^s%GEX_QX{leErBY%=cDOzSN+fLH$oa7@@Nj zTq~yE##$%>fwUB-$FB!IuHQRv=IJNfckD|GJj-0bnw$(+zTpC6S?{wEOZ=|6#u$IQY^v>ZE!W_wq{cD-&& zMshWK3mca`Axo3=t#N&tb{y^kmd`1gp`V9B-(5)g)%lQG&SKRK(nGJkDOw{)RaD;%JUZ9uZ?n9tcRLeaSTgOy_(yp(4`y6Xn9(#VI(Cu=w>Z`&mK zmu37P2EIJ@DVQEk(U`w>aHOCtYOOIXqhgEqquNUEk}ESl&vzZuG9N0sM7+QE&#&K# zJ?~Dnv8^KKJx=D7UkNCg9m@H5soJ-sy64gNcR0+A0ZgMFtJgZ!UdJtW{Y~cmkKM}u zSd~sKb%KookSrBS`}4`JkW}=K4Z3^}XpsaI;}LegIS?(QdhlyK>ws<5wT?jG)p4|z zr1Mr9)B@%O-FFIfBDTJcBoxmmEX=ir&~C8XgKJMZY7v+21ICBJS_6Yv;TIz1SCMNT zpwdO-feu2`*+?@T6 zDV}R2o=5ikH4Jfl#JxnF*%#}1)ScN0kM^ho!)mLyetf?kS2t_#V2^jTzPGKd2*s$t zQuSr4z#yh?srujPB{9Q^4?gN!RUaBWd9rq4=X9UB$7@R8VCmRPAAj%Syt)y0uV&V`vh+SHNFd z+elv}Gkn~7QqJk59^7{+JPlw3UY{O{%C=2j(m-;1u)0Hvr1BUWNtklm5a0OoGnLM$ zeL|A|5ZR$_-muK9X*4-PvJ0Hh1SgvZ6l29%BoV%f&-w+3Hw_g#_K|lX#S(lP7e`pg zPd%<`N9bac)7!pwVNKt*R?gF_JLw>9AP zrOxY=z4YCWAXCJNaM~w`xN&j+rggZw%7rWN`-4e;pN*-mKJW1TJ*LN=+%9+ZlHwdv zwQpC@Z6n8Xuuere4CtJZ%@!JQIgv0Gvrx&mflpx4iw9f@n3LPYgU$$qA zV_AvJc+!3tRUD1AOn1JPP;QyW(YWUD#pyOv)R%N@nC)fbI&AmZzIfk3>q|lTK|5v# z>WZdg2fJMRQ9ki?HXRExs~z z+I#O_&0v5tt}mXBV!LCZe(`9v zxKy_XyLXJ^WnQAvhnnwJ#+6~-C2S+=#$R>qsrzckdf4%}yCU8<76MkkGabULaK~ct z%uVO(4-tOXfWi_4LcG-$^P1z$&4;-u10<(HExulJ10FnC_Pn91>r#^)z_?B!=t?`S+D%; z1jhpJ>u#>T^TxWvKk4DaYU@ii(|!8h4wW}Eto(_hfanL)@2aMw4xK-^rDsY1s6UMQ zU&j9b8QA}-bdfsp6KtfG8I)B7^mtUV-Q!!zDe2eSf&NSPB4DGMk1YyIpIT5xE>}9$-uTas+QTKR z4GF;M%{L*prSQMFmPkcA)(T;ilOpAq(7TIM>!CoN7^8s{pHfZGy{V`$>iKx?A&5Io+u0xmDN|6VV_r)asaerK6XB)t|$n`H0!G zvsNAQfs~)vpCqwWg;;a8^+4O9PTz0+|L13on*kHLmuOfuSjb0Zmf6C)oec9-`==15 zClXOb2#)Io2CMNMW#+}*-0vY3<4I*2auux;h6E1z!xnTJW;yIg>Zx~4DBZaU14eZ) z64vE6%djWWRO*RfGc*C+=RG0$byJ~}^!HRgP`1Bqs3u+ODl>smixH3suoAuzsKj2L2w-Y zCrZWtMnCX+sRWAO=pUU|LoJdg3^=WWVh4gWUP{!`D2C)6z}~g=M+F`@Dx*zF@-AH@ ztn&pfGi8b9L#pr^KEoSJz+AY_Zi}T&G-owPvRA5 zgW5!jcO7Io;I-qOPUlgs49#gg5R{R7%}nbB1xdT##;+F_I`GCGHEvpSTUROZG)s#s zUghu~d?Gg-5ugggiv^?u@J(Ku0m?d&O0|!;B`oao3|D!=*7MO_X zkhP&C@z`yyE%^kj$xP>(DfR;g6>_SSp(}JvJ;J0ZEXAj-=flR9ujO9HPW^qd^)~;+ zv)0xF%?7EdV>|b*E3NN-^UE<+O0*nL)@g&I+tJ@y<`Ngl5pq0&>SpL-Hz2725T4$2 z8sE*`1leVaG1{a?-(lNjy2g9P+VD?B?zcI%iAiE$lF!f}<$oM5>zO=W4ANsg!>n$r zm&`c*R5RntcqaRqzMF|6dYXmPoCBuO2`;V(f;(l}Y+4CU)a*sSZH>dE_Hzc`G~` z2MCE2`LP3SVSq0d>qW~EBM1u=khX4Tu=js0n|zUKZXJQ zs+y%+4w>7v9(Nx<{`#-x>dQoC`A|mpYtFRcIurMz*_IK^uu>g3=l{I;UrN*eW+nfB z(Ow=*9RJN;J_{$x7XEdckWQ8P0B<^+GLDt+AOrSF%>V8>0DWCx%Z(_1@SfrM{hDMw zBvpP!_1bs_0FawVQbF0y#%C~d!3YLDvgE{yWfwkMWr-9%i7CV$d>xeBA zK41AL)=5FwBx!2NF)``w*CKHICjXH8_>yW2bNwqbS>7p=;cxFTv)Vn>ANi#)?6(G{ zR=Pd(skE^1_OI~!STio3K40oVns6wvpj`bq6Sa?N=QjALs5&&y*0=KTi|pDS2MbgQ z?i^u!Mub=Br3nZvn8l6q1jTmbn*2n(xt_8K7eg2aJHi{lnK1G=QYhk$FNuWh3GT-r z&8mE8vK_m(X+(j8#suii%crgXmKb&sjYyZ@4)ugvb4Tn^E%A$wV#3XalAjPncG+@Y zGC`Tc6IBbJ3fmd^Q`S!rVCkhALT}-nCyYl+@p;^Bh=gkNUU8Vw3GRBX9ch2N(~>|V zeiC&4quiYkB^Oo;L=Hv4_NV4l_K^24vEurR$Cp1u|M0gR7a8H51?zLFhRRxT4k?yv zs|LzeA!-qFcT$d2f&wcWv@tHaG+vgE{PgcthSLLIsHhL*2*i_#_({Q|l(G~DU{=nT zQu98_j^Oz4Z3s<-Gn^|rPnXz$v5nYeD`~@bL%=AmV-ID$0G))Z$KvK-gMRM!#J865rfOw9H00Jy{jZ^Hlk&B2@u^EmPAqPWLGkr55GN_FLJ64%6${KQ%gTu)e@OhXLgl4KGgfyM!sXP zb54_FRvO_^x|^UWVy3lQ|9a3@Ts+9S(6Vhs_;IGAUsJ{BtydkUygC4w-8ZoZsU3#A zSX;+nB=r%=PoP=@skPUlZ-Sz!mc`xrNwpP{HOeg%{>nOF0{fDcPtd?(VpKLTDm`I2 zp0HjucvaAe$>U;RN+C4UBSh6V^&7`)3vgd@3HM(x7JTHsigPs43{V3n5GFOmEj_|? z>RQEhXh^zSwFR+}Z<}MRB42^;N{Ag^#2;ZIzur@d&Sm2!aMFGn8@DNx#B*(ed0C*= zUK0~KEn!Tqz0!E1KVU#%xSlCWNCGXox{LhC_Gf4swWVR#n@3EAPOVBkW1G&STY*0U zROX}mDSE-cgDq!jHy>pMriiTrwg%Sg=ctASqxr_Vb+fy`O{Zc9y3fM*#!MggPaaFYzm2^i>is5rSpQqJk2E&ujYT+v&Gas8s+z@X zW~I*$tqj&?bwzxLdw&6IIIcQH?Fa)3UYQCF9DdAkB0zgwp_4UO`DDDLG*#51(8fvC z7F=N6u)BV@$7Ey=F2SAq64`mzv zI{W;2JR#kDAEJNc&6siJ)YCJ{E@e6I>~)MxgwPNXlWrc|9Z3rWF4u%cG%jk`# zV+Sn+mhv;;DC|-kk%v;iaa}__cSvPFPX&`Hq}It$=h%pr=vXvFpN!@XakRw@6k;Q| z3VOO#&V)zc4h7IoOU9SntQ6`7PiX}4(fk17*Ohj1gvBw5FcX&E;E#1iB$?XnEN1!{ zZCW1^n&CA&Slv@*`_Ta|RQ~zX@}-r0nsd{BE z?$aa~t@!(e6WEqVaR!4&+GNGm3z;oDqP8V>SPWILWR zgBqDD%nUbCrU4I7))rE#ctp4$fP81#i_~(-$KiMxZHVkD$v5oWPui-$Rg!YUhnl>M z`Jtl=$%w-d-`*dGY>7{zZ*`6yxPV67sNzs1LvEtd&X1Ny%j5f0BZIs~&dYD) z?Q%dz>a>xkkYkl>fNIOB3h+I~Cq=w=91_TYa+HNCZ6V^1-4BqbCBzda1{N;qx25th zl@1yS76KOUdjga*%NWPK2OB=sI6yy}uziuuI`?8n#H}Mty{9S9;g6a<`w}aQdb^6o zt$_^0t!g{=)x2Nc5#~soq`>2K`cve=$>~dvpFZf@^*WA}=eSm&roWRFW<#TWNusz@ zLVcO;7Jae)_e!vho||R|Qz{5rwbxT3A|fk;$77443aW~$W}ENJj4zi)BxsiAXXKYy z5o4pGVlVzOIWZABDKIsVL2f^HsPFLE_OOQjS{beKyCy=*UB|ju$~Y>`;fq=}cz(YT zzH{C#@uGIVVBO#)yllhsufDA;k8=#)0%#G@;2gLsh~k&UAFTh1H>v)DG9qDQeq)NQ zk~ZUz-%`P&6kksYhE$E`-_03gnb(seUJa^kMn^kED&e#PLBPX1jr*eW``jG$(}L+PpLU>~G&JJu$s|3nDk} zV*MevAD-UA18?;$WcGzyqkONb*U3E#Yeemwea8lT0Kx)>IgeB0c7VN{%Al&?3LJO% z8W=bU;|yH~o+kOwFjZ{NzC+Mb(gfUX@5m-8%8EZpg~3C~(HstKh#E~FPnCHNJ70Mm z90ERBjV8?dX*O;xssAVk>1HVm!GC<_Qy~2ziTMMglWPI}5XxL=k-ICxklHoK5dZ2_ z{iASKR7NDE{QUDuX=ZE9M0bj2+sq@?5U+u{Xe19JuR^>;xGX{wqr(fhe|88b3Pt^k zhsFIl*iFg;MM?xzagv9aNH-{=#F!27)U^)0327G=Q#N$6?Uo5%d)@%ow4UKG{rKnE zBFZl|wSvzeyHj6&eU{?zj-|q=z;xXJLQ5&8lYN(_fY~sg`aV_a-pMka8(oS_F)Il* zq$}`%)u4{NDkoizaj<;$vb7AHP*#r4=bou~e9qKs$!A;d*Lz5zHmH(_#FOb24-(f$ zWfwN(g_}1A{rVG8Ey|$eQ+K4v%GBxN2%CtSRv+c-QYXJoNu{4|v!(VSPrKSPGuh(7~I~6$l#&6*@z* zJIdlOlk$3ktXP>zu|)2wHp22FAxMsA${6{YgpqCBPfNxlmT#+?TYd@auAZC+tr{RY z7~EfxXe34?8fKD%F0VBRjhb!#7A*j8HM)a!QwW`8y~oJHV8X%?0EMjE0?|8o$PQ}P z=?x0|Hi)rMDb05yngpu`s2X7aPcm}|Lru&`Qagm1gh^vTRtiq1zjp40T^lYB?FTQv zA8I<(l-qWBjxURr&=tC2e6%i3^czDRchLyDbI!?;#xblSMfxMTax5l&F$JTph(LHy zg*)(j1~-^os>PPX=U=vJIzkmq{Q?tv24b5H%1nlV`xrrOE+{mkVC+^?;AtG4(ZCSU zw@@YkNhX0lJ};vo?odTfnFdHCj+XC_!=gY=t3A>yUCLPIX_1B`gbdZraMJD9#I=-R zYU9QFhx3=O($bUL4onz*X1`qjtVnhIZ0yIDcz66{V9%f5?&BuLdio82-97hmr7f<& zV9kx^eA=^xi8`C=!ODDzxkZ1&I2U{SbU$A6M&GlmUOwH^`cnooPWGQZ{_2cwEYDcs znm-|IsCj-BJGocFHGbPL9DxX3xRX7DWthJOvOkcZ zf6xhqj=N03L4bZ^t@J54P|1ByNJ;H7P$$xd#9tSPq69z5521LvGuo~|VpFBOjol5n z#r5}`7pm;tIB8F>s?C=7#UtqBn1C>@CVQr= z;YHCWY-BOO)-Db;KJ`g)4tjF)H90TuQT zk>KX5G+AJAY*ghe0BiXnO?@px{k3ttxLYRZqeE=^#JoteUf4yQph;OB#9UD0oDVbI zqpQKa8vuSCB4y++ax7=W!KT*M(xq*{erXM5498x|Sf1`e zRJ~ZaAKx|{IT~P_Rcrk$-wD65u*YG>aiOhJKd*8*y3Z;g;K?Ufi**?vyZkbYb2e8S zn^Io;2B&!JtMxsY*X?m{t9-mJ>@`!p!6z@$DNz<6`Bu4{8&Ng0v30PN_;UW+ci=}l zrP!=20T9l%*s`s_M0<0g%4B~x5JH(z<9(`C13c(4RaAhr0uMkDMj0U(+3p6R*|NLJ zYOaamJP;qHhxTX?H$-+%X$}So9{6?dke%P9L{!ED&f8G3{3T}nr}JJ1M*9~J^e68uJ7wwS z+wIdOx4!e}X|TdR-fhbjzW`?TYa1u;6u;WHvx7-&!{6@^f*bFni&>KvH}32E=f#6j zA&N9RSlo3CztP=Va%%S+D=OyY*~I6;y8?(0Jd!GnJo1?TELU%JlP^Q~g-Q83(qXWL zb`AnNAz1)J#)gTVOYi&JUof&1M@6g*a}7iT8WJ#~hEy0*Hv6$dn@xMT`Vd8%yl#k` zpv<)^eIoenJt-5tY4)n_Tz+a*Fah*LmgGxHhCOdw@bYarN*;vqS;FVd=A$D$&gS1lP(1YXyj^=Nr!MF8%C9cEHDUxsOX(u8|9tmpd zkxC^~1)S}rxHRk@Mw+=be!Nz8AJ7taF%{pZVh=SS_0Toh4T%1}$;-y?7RDUeYF`W9 zL7{fS0%Zs3?D9}Z*tZ>H&PVJG_Rd??#{O}r$Ivk6HFCd1FYzGPqW5{DU6)__^u~zC zo|?XNO_vD?a{(Syjl7Qi`0Iu6ZT@h``2fKwms^jg^O&Ip-ke7548HU^waB+T^Y^{2 z>!Xg<|7hh`ox9R)+^SHP85GqY#anc7D#cdSXBv#gw4z9#jvchl1@Bo&a1;GKo}kRc zox!E?8VCzC!%iV$Z!b`vQ@p}?&TsG(8Q3KmaB4BoNrRra$+Gh zF>oo}M$+vJUk!dcRu@4h#df>IlAesoTCr=1J)6wi(ji$qgrWXsd*VkP6h^1rI*-}| zUa>H;o6Za6=+Bg4p4OUYidz1GAHM~qeRcPk9Fv7PxTl16*0}nRM8y;lbA*kk z4At5XlztwNf{+a(F*!h;lK==8*HI^+)NUoJ!zq(@F*N0m&+c3jZ`cnL&#=zQYVr`j<>kGNqAW(S6RfNM#9@=?#NBpv)z2Z z)7b4VsH~!ye1+w2q#)Vv$bJ^GZf5MuhKM2OLjYBm7{^X{y=iW78m+!uO~K}xgqA$d zh^!8;GAJ}md~%j~3@gy|v+L(z`wvoWyCe1lm|CVcM-nvBdm?J&7ebjq8aV;;5s}X3 zUVp!j(^a*Xr$7F-H%a{2sADAm%8U0kqyCb8$_ z+X&xG0}{uAJo!6S#KirTEQH)p@*nS4|9e&41G(GS$DoCAC|881^I}1u{CXCQQ*8iU z25RG20#8&))&C;L<>8<@oT!8XE~NBG54srBVUtBMqsFSnz>E>piOB*V(|BQ!W7#&j z7EL_4v>tRK8*z-tI(*$9@%Jy|*u2fuNNOI>%-L10hsdP@L4Rf_ps;|V^FFm<{ z<9K;03YwH{Q$C|c^Rk6(8YoWD^a-gfYJg)V_g4*0*(j@0@ap7fWfs;7SmisWaoi>S z8%f(c#==dX!Ylx?5E(aD!dVYPXSr(!KYw2&ZND6}crAtUm&ciF*RByQ*SO3foY$44 zRu^r2cDQ-6^w>k$gHqhOGJX7H_i*Lg=YCnU9?AaE>aADv=B@{s&`AAZ+93fI>G@W> zUgzyIPKk63)q1}vC`YI3pxm$*8w_h5545gGEO3rYq>ui@mS+A%pIDLw!-csNO-h#m zZq2_}Mbz8)EALZu72bv2;1f{jJnRinmT^&G$V>;&k`W&c)M1<*epCEFegC(_LePQE zD*6@SQ=zbKf(}mXPj-h57{ppvsgEQ9XsBWnhUGl65B+ylx|mBswkvWf~4l^-hT zVU0IRcy#jWx=;7fns($^A}Vh?G*wMFrwCEzah(*WaE(hn#r+eJ?Nh6j&w1zj{Ceg^ zjN1fFYIOa1fyh0Fvl`y-`))e`O6Zc*g+3`AkWV)|AD0lmBk@5F1#qEWewzW-zn%go z%Y1uV8-ckxT$phd)EmArJp|mAKO)6ZayRB;y!@mh5i0EI&kr|60wk!LLXBi$I&U2t zeFME-Wdaz%AgA~rUW@7J5MWk}+k%V1nF0H5Tt3GIWP0vwlPHOjKPNO_))_Ro(K88Mw#`y zQ%=}f4Zi;Cg!gv!#^&$zKD~X&a=TBU@rTm#oi3K{o}b?`D=CjM4v34052|;2aym4p z))b4<%;9?+EV;hsuOZdOKKWWo=NPrQMWIh!q&5&2ij#o%tDkHPIUWziFQOY69kV>K zZ)k_yj=TxJXCU0f=~r`9e1FnKBA*xPg9(iKtb*QESQskVHT>D)1@#k#f0?j3A%$mx z2fw{8a`+T9t!j-;gl0S-;ms7D`aB5qn24Dm8&2T!*-Af&WnLYb`s5TT^N62+6RedX zW@R=TggSg=lzWMbb{$!4|B>>-z zlaI1T6$!Xp1zxn6#4lW#t`zV~ZTOURqY9gPB#0kd5epGwu?NPM@mXd28emmxqGZdm zm+w%QlVK*;_<|F_Q=k9O>F~1DPK)*X-oKg{w2fbu^8fT=KB=SMjq8cQqay zd-YnkyVoeAwl6RJRNN4MY`WWHOP0H?!=m%~*w6#__8Q5OviPrTyn~IuRV8G#doQ~A z@aychG3*SyJWA$$KJu#v?mZ^Y%Y7)rmZDdXu#=ThX4(u)-Gdbb_OJ*sgRnwh1Kb5q zl=WmVICl8JTQ;p+GfKZu%kpJo8$yT8Wp6JTU*F%Z+Bif$4S4HQ8z4Z;G^dJ+2u(pC zYym&s*v&9dIg<^?xE3+kL(0e03u1YM>JOY+(-FU}sqFw^s)s6Mba%yy2DnlMnYKz0dGObJGJ?&{mx2$66@Y}LoH4l3$P zeEs2euBP#QHYP)H=uzL3cpU;6%;IbN5Hr|QMpl+N$BGEKQvgFqckd2uS&WdMCwmTk z;VrVXK!u5c@ZBJhN5bgBuZkyJgnC%@u>({ha=7cNU4ydt$REI-PS(GmjN^Nc*nVC( zvuEI*_3PTi+dHp#QR`mE_M)&C`nMLn-o>^K;Igz%x!Dd^25Dx!X*jt1z+ofTh-Zoe zr_(v7%AGB&lZV?%_H&FMRqSXmz4QC?B8McWcX5@wUf;J6?`gVMJzAMwnOjZEPYv5w z?Mu+63^6v><6;@eu9gK0(UBi*R9!zQjFnZYy`)s>SUPq$lGgr|?1p4lE7lBV7Q<+f zpqrWzZU;d6D$-#wtAm$gTpRoERYqhhsiuWHK=9{WI-TBJrQJ%=^yvL78EKS7{nJ+f zUq#g)Eka#hf)Jq79S$jB!rQn8%t9lkb7`_srCtEvmEAz{<)JaDT%8eN4?&B?v6Z{W zqjeU^IQg+~1TR5%&}rOt(8oqpCMU>{Pt_p1!Z!hL(UW-!N&VUjSSvF%40TuF!jk>pp3dqC3ziVL0-9Y88C3AYMYJy)ds7kHMdRfe%Zx3M96E z5`$aGC>>IC&)w7WiHeg$%eFvy49!tC%ALVH0zRcJ$YEIlSYdgQUUu@J9St)V0T^ zFLHMyV_l;!MjN1Od{h6e4tWJ3KK0gH$OfrdkM4B#>-ts#Qwa?JlJ^rUUw&j#06(Pa zdb;@WS!mv_BXUnjczkZ|ZJqoREl>Qap5Cimyf;7m=BF)A!DEg}0Ws8r(fB#fBO@7E%| z6!&*vHj!P5#g|{gME6mJhKR07d3X8QT;LRj$_JBq6BEqhs}vMt`l8zl?`pXxvR{Tr zLf~jw2EvkWpCZl69>I>8)L6_UO;)7LRp}`#-r3_;ldmY#IctE)qcwCnTeQIeXC708 z>s*UeMzhEv2w&9+!Qq`p)z~cx`1?b#~|Q3U{aJ-k&2rU9)i0`{|FPH~VIC3OtfJtVCy#4dT#c7e}$0F;`g`Dr40ELwA`- z2ig}4NFIpbp?{G9n13sQGNJ-xlnz`vh|wehY(SqA7R^-nBD2zeuL6yy`a%Sx)c{9^ zyyF;&ObA)n?XY7G=g2wkMtT@rkLv*YKOXp335#fnBcDFbTr^8odQ>;yS>_8Wt1=zCryT9+Kv1k-!kA_*Wx!aEN9q~N;3jeCkS zYhf3O8xKZH+`Ca3IH=Gv7Z;C1yTa}Qm0c_Hi#9&CQcD^y@tp?xtKJ>D;(l;bjaQNkOleE>G-Lgx^kfr)Z6rI(>W!h(YIWj#&vKp-&)q9VAt}n~OrSp(XDjXEjMSIiO|^e12_9U6af( zord6?Wor+nj3Hx=CGI5;va;*LcD;?4R!7u`?_)MGGers-DksB3Uq5D$MuG2b@AS^b!-hc=>^BGF=ZK8Pi3g=hkN8suvCGNIxV zXrr|3U-I;3#~is296`tNVl0aco|!H+(oI>5JuvHJ8om|jgQ8_3h?+~ic-=*&qs*nO zpQCIgWdE$#3bPgsrPsr{siw}6av#O{V#)eS`96i;FegmB7$yrB*bn!NW zd%UXm3D`H{Itc4NF^t*h?_&OPX9657yfMC8MD;J=tKwBTSeGLZfce z9u|*ta8alm&PUgdZJwC5NDlLCWgp&s{Z{+C&LMtJdbJ2DaZKl5^GK?7^8X8K+Iem~ zvcP&@Jzigb*;sEsGhFX))AM1s-#~hQZz|LXC3*PP2((R|qn+l0>je3Gf1UDpT8WM? zjs6xGAJBSstH;3<9P!uDS33$WU{C)l+Jnsc_F)bMeT$UoBSCUo#bNN+GgV`SjAxFW zxHN_acQeA2*(h%~N0s+MDDl5nrD4q#``{b!SU&Ya!X>mp?0p>SOCOqFH1fGcJV{XR z-PvMscW(b|^NK$;Cf?x&dcqhabL|HUPCtT(JYucI=|+({D{IbqTX@8@cMF$&MArZn`0v0Lu!Pr^(Jpe0eOcQJA?~ zg`O>2JxD$(rfYs6VZSc_E&kjlA?lG(9TW?gd6Nxf|9fDy3^J|`sTG6f47mm(CvR}v zt7ijSiiBxwls4jia)e{c`hdjy7R|UbLZOdL>chA@A?(i&QXER4)}`u$BeI%1wH~*% z9$B5N$gcKCDbqDsgx`DIn{nkFi89>nW@6->mQU8&kHWCTdy*Tzojyg?O|b|M&Y9{7 z*gFj6T;lsxd*5N*i#p`(nKM)AyZrPo)@}>uD5Joniacg^amQJ>u`^Ot`?tG758rKW z0l6=%mJ^ZQj$(VapiTi0eikLH&A{FmScBKO5Khxj=#%X9Pn+0qXrjfgflFw;}QW zQa)P-BW=e3p=B(aMR7t7dn$j$TF%Ox@Qc@KKaic8+7Lg{qT|VDkm@c`(nK}+5c5KT zHAQTq&T#eNvhtKzC7<$+vHraBH>^I`mK;JJfFo6e&t0qVG;O1gay~3~3H%6wnMOka6HM^G)kG@b#(}J%_V@+LzxN3Gc7>^3HVB?nEq& zn|>OJRR*d3`cc2p@{oT?{jF}7eVqcs%)07`22Wd}Ik(;&6>?2Of5Y^^NDtRQYZs0mmK_;RrlM4@7=TSZA(V+he^NGT<{~Ri>oNvgt%;y;@F3tY zG3vHM{`L;;dI*ReH>q^MjCx2GZ)VwXl~QnpGBFqXRE1adO|TY&pm{NIVZNGVDQf9r ztW%A=FjVNdgD9>-Xfgnqftj*$Wj&zcFtW^dLu34YWY;Gc*HO$;Bi)s{XC?y@j0wk4 ziqaAyCOubsXp-mTMA%x;r9vTM3E+VE4)1_lGLwl5?qc4;k!xa9jxnnnl|^L-3D6UE zGhHtnY4$i{fEPP<0PotivR|Z==w+b`Ed?O7aWX98(-@^#%tt>HjUA0@N@4H>MWee z5vB=o$q_-tMxG`C+s}pG}8%RZ*&{v1f^ES z=^U^6U8ds69Td7q04!B)1gB+fFU0C9y*SS|{+fw3p!5**DVn6a{~85cGC>izS2J)L z;8C|Z;lB%yKVV#QYAP;Vd%!ueoHXRtJcKC@NBnBZ{~Acy5cC6YKwb3ds@hQaX7x^tUU_tC* z18{)Q6JRB~|2M@(G@B);4?7Cc7v|-=$OoaIbh1Nb_$QS*;wjE2s0`OvK0<2!2JGuS zCff<9reDckaBmdka0oeOnCa^ekDEsc z-Yd)vH)hv7y+g{YKhMD(p9y~b<=LzxMgkZ{QQnNr}ygbs>6&hXAzs!Bw$--OPsv2QhL&>|O-5CQ)Q&@33)Sy9{Vzni zu+dS#G9$@*aC#iKi6w=eZYRN%>{5*s{!3Z6Y?7-npYI}7<1@6HnSd85!Y{6?m^xYk z9)s$ENY2%g{;PS2vX-oa zluGg=1!XoZ%1Vw|?fikOoBp_08LI!R&ebV=Qu}9WTx&!Cz828KF2~;L+ow2x`c{u* zL~VKZq*~XNj~KhR@IB}~x#o#h#_rFV8iqlu??=jOubF!G%}T68Zzr0gA2pQxQXRHB z?N$7_OPwDB_N^qbPn=)xjJYpvICNx__s-^R&4fxB%EgjdoYlaq5LV|>=_aJylJr`-9U;@-GeRthm>7a+qfe0tedWie;# z!`T;wU3fF(u4H}fnPhbSl+|5-IIsc^I>~NgxIsrb!_WJ56yfmK4(j9@mHHuRFM5(L z(^B5%>SKBsp@FPtWE;6;f)K zS#%H2z!`{qH}lRhCIhFr`eX`7ghsDI#$=grkV5~~lB@^03H1Xw!PuTf!)`y*MlX{=E*d$4X$mhWDHU>-C{!U6%XSH~T&8A4_d|{9{D$_*>6SFEO2+HYNq) z{dL7w_tn+&X8Gk%3pm+SQ>2(br4Hd0hA7pBFez#a@-l2t;ULCuB!!8viKKx{E4BN8kxO3ErXxT+1 zKZ2?1=RI3$$8GpT{VsvCPD;$=u?c+To_-14WJ=+V-G{g)No^P-{S!n!0rEr9Df&o& zh`L$z8vP7Q6DMF~^-4N$))kyW2=dE{;|N`vpxeRNK#g6>!0B?r>SE0|A_ek|lzxf< ztUgOIhpH;BQzI<9j~E8s#ozi9N%DdZaP5~g=ePp+rMt2PL_rD-8K#I@CuJLguMY1O z7Zb<%GAzP`{W=&;yzDcyP&qzLW!WLWGAC?GU9bfBxoe1IU>TJy)O6ksr3%8gH$Wd5 z5)=wa67cl5!&U=}1)=+^f%#otTWQ>vzyEmPcc<-BuV&|a&id$pnv@0|P-|i&iNVLG zeai`&zn=ZczR~y@fACej1hRA3>Onf~CnIrc%^WxM_@!F~^jSsz^pt+Y^oYmE(>(!^ zS=GM9ot?g&oem8T?rW9eKN`qY8|NX{CVKYNUce9Vlqdy@E}+#u3<{aPGfH$iOa_*Y zw~ig57|m3{>`fJxxs zBKt_BtO==<^k)clDOO%(2Xi1_a&pw}P)CCoZCB4f;<58i;$le0!gg<_hM=zWPh@IIxzV{AsxKss4TQ`>7o^4s|oeL>*YqMzlAiO1_LdWnBjPi>aAf=4+2 zY(y`^I6xn{E!5*hp;sffq+!F(IN(PWh#Zw$g^)q;D|i>4jtOvRgcg9<0)>LA7j5Y5 zqpXnV75hR>WxAuwICRXKABI1xr7N~qkp>o=-PP8B=o%1?`zZ9l%Nj*unydu5OBC-! zT*@hLCol^sk75~+*Gp;vTzG~&7qo)#!{%c3eYz?oSjjratE?kZXo3LSciy;n=(W?#I;n^>;xg5qk-wX z!f}z>dcXKK7x9$zDI&(z?S6EDWS>H>_K-60py|$}8=c)#9%Zq3!#h6WgOdM;z4wl4 zD&6}>nL$NCh=_oI5ET`r7*U!Sld%8_LZmk#gNQT{QP3zcQ7NJ4j0!jkWDpUl5dl$z zL`Z<6h;%|x(p03$j!N8;WP2aa{p0@DIrF}^tb6ZY?;k8&Aq^cFpQQgGhv+EM99)uu}CtWsa|?lZTl0!md@x}LgxilG&pVCS7&l;@NPM58aJ4r4#rqn;h3)n?y z_zhw&@$Kkd=4$NT%QBd zC>xLg^fI(aWmXJ*=5ZefwDFOCyea~$CZM(Zj;M1{E5JemIuSKgug0e}F{W&3fH)|? zfPB0O_>LPaE+3(c@mM$@cXE*VPq9&7_gL(4l(4b|WpLbIa+^M6Ij3?vO?Q_5m)!35 zys#)=wmXQ#`XJ)B`F@))%M_g;qHA=;H*vL+0|APbNyY71`ECI_6~E-YqN@3L0!Ag6 zRKmgQEo3VTP@HFnM1$D*%=}+=-0C070r&-Cm?cRarrO1FYqpl#L2c_$zHMh%X%PXN{p@#D<5D9CX6?FoBgR{vF zSX;Hs>4s>t^L^zNS=qR>m)4T6yOvElCuln-gk!y(d{Hm*At}+mu42$K$FIOdm9wMm z_?dy6T`O|BzhqbzuItjw<5h$GHg+sYn!uBzpglr9XFdxJ9YBrl1!d}~;2(5S%z|6YQc3U@{Dkww=*y%U}NlVohYC2;DV%APmX*Fq6aZa4762j2D)xY zK~G5lQo5tCJzqBldm&b4kMt2$YU1CTarGN#zpKmvA`=`ixb!7p4T+ktF|y;a0G-*^ zvbd*}{fI7K^Mx~E1i)H+a(YyEx*F$Rc z-qf>lKV|IZXXkTe%Xu78NKW}Rt}re)BJ}L5rUcWIdV4S3M6c>bf)FlFUBXC00GZH= zW9h+E=^yZdOjmBNs6o`_j<6Wwxhe9kh$Cu86$SN-Ot!8(QH&Y8h4cjIPi+fH0c2fs)D!N1vl5HTacBE$68ewZ;OvO3g1b0N)IZp zEZaqKJ3BwvO)lq^5mq>&vlvTpD&$|9U~B05^cU#~Maq25CyE|PRWvR02JrY^yx=~1 zwY5uEdb3&S;l0D95-q^5F3S|Z-7oTqWMU&rS~c=TcW5_`4Ty637uOio$+pN%71vlg z)Yff?KIsdW3c2A&1Epn(QkEt8h~nN?ehOQaD7AzWg?vr&?~?gz6s-JgZJ%}Q+6ba1 zSxY)D0S`Ei<&ug;1wq0%qRQUK55cW{3d*y3A8+sLN z)|Y_3VuRZgXo%sSXKPTj$KSdNTJ~I!;uY5y*rUAP;AaqvCyj;wgeqqI;aD-}ujorE z@-?2ov{FkA>sb{{>I`5HeyX2S0cY?ATP`?@b_p3BY%Nm74<#Q-S=MQ=d5yj&Z&pvO z-HHa0jtMQ%TzzY{(<-k@ANr~u6=$zF?;Rtv6rHsZPMX#ph4v#a!r)7fa!Fll_*<4~ zM}$VVB~+M>m|h%w(0*WD(V8hQA$;7-k%d;LKM$!r%XRbGI&|;p4j1jTvgN{=%N}L* zdE4(9=_CtjCH8(zqw6Xh?NZGbn*fHJU1O~XgI`s!$t;EV z)Cr@(h9@{Pc{nHmRp$fYE{I2fbW%Xn{Nvc=@FZ7vF{eZ%L#vab9s7SD#(I`HnE(rw z3jPFY93xNx^U#1m9Y-Omdu!x}-~?!wpeMx|pag9N$ZyAe!lW;&Tz{U*@R_b*sYW<}|L{PTewrvsdW zpdoi`g5S#y&)^@IWnlG$jI1JKMPVu23GQy&Xm0~sgKVE9y3dsDIeZU!)nt-QcC(0A zI3j%E>r(X9db7R3ZD!s3UrYHwy{fVGFR@e3j;AL!L8Q~#B6A~e8Yh@JZ0Yp{do9)X z%5&#k9U{ve+!LCwcWCCRSUy0?ed>*USjN+!f$^W};U32}WV|vpN#{zoyApR*r^RKK zxIOkQJYEaGY0H}WeX6hQz#imPhu7lpvTWP*QfG$DJj~vkx)t!Ku}N%od4g;Yr3b__ z6M9DOh+;c}P*O2ql2^e_BCyqSx^1QNipO73N&h02!x^b~W%0&lUR7`Um&J*7ghL$-AXic_yb9FJW23V;;(D;^-*$&L`FouDQ+ep=r$ zKt3P=VL!_o;Mn`5`2&qmS=%I>WK$?=@oi<@q6!$q`W_BDg9s56MCpF0rwx6@w&+&{ zFcC#Wn9+)D+2YI^|PKNDPS6Meo zU+w%v@~7-|6z%>OFb#dRtn0>L@{Z*9$0KZ(j5D-= zw01`F#3l&=5IOh!f)5MLEOvDU(79~A%L>_XcwU+bouiBc*WOjh1%YixATtfUoE;Gh zn*d+A!9fMR`66U4-v}|Tf+KrAel4KNSNBL`d8LY{l)aJv_^Ch}E)zPz87wXJdreH~T0DY>svp~-_ zTE%E1f+eAq0Avk4t%P5rfeN+xqNp%X^eqYVQ?CqBdUe1iKm!V27%Sz&O4e)-yA+Hzlt=%pMVaw_fa!6(?arIZTOc!9?Z*pK}C7@UP z$#=n_Yp0G@CzaX>OWe*0PSvUCTWuR=9#Agu{^!}MrPw7A!`b%p8u01+=WhDCm#hsV zO%HTg;zu<}dJ4A; z7)mU}Ot7SDA%+w#zriM5#7;sRZh<2KsD}7b^Ti;>IFAOrzXsys@oHH zE(qsNewpi0CT~}?VBKX=2vBWO_E26Ee?^SI*#0830oPC-!XAJK(u!f+?kEcpGyOcH zjvH*)*Gv%3gBAwN*`CC^Z=wzeJ04nfv6ppAY#qMLEi9KiRl>o`3zDxLt}{SS^Sm2HHE0#DvRVN4_kxARV6+`*vW`*uPd&l*oJg&1-<+nV7=| zhw1PkYYS!X7Mvvj9kZ9c{KCO$L9w)|db{Ss4?6FE98SnQZMFt_^SZ(LB4UE_xj7v& z(_8M6{zV?FZ+8l;?NPr!BsEu*Uiy0W+q#om@;1M}{__}PL+l#itc z(t~t$xYq~+zJ57XD2UT)?=SbsvLwxJ*(}^tXG--hUhqyU{*$okq27f-{Q6U;7X0zy z*%w5%bA@HdD_!&woGS8`v7EA09w~9kYW5c}$972rzilVO=bQ4EOOR`UR_qD@SE>a*9u9%1vprB}>kg9Yx90#@ zIV_O%jNOp_1wV!8`!D+*9t?p{$@tTZu|#o3^d&~?o)%x1W=Uyh>-=)$1$&7c9V&Wz zCYTd`xq2#qnJJI_g3n}WBBPY0H0g7A4@jMMmVo_az5ImYSppsmOswM3ry6|752ZD7 zU07Y0+l5I9*gW6<4T$0C*_Y_;3Vi2JquyQ=H_e!S1b8TeE?>SJy9Q_Ui1+nv+|c(a zk9f-``p!UXg;{*>}`bXm7n5Capy?4*Os?6gw549JpB5mRy)=)57wJiAp)qMLF~`c>HZ zpVX^4m;d{dqN=FSnW0i&$vDvNtIO;FItqF^t4L$-NKf$CCzyuv%dn*oo#9eBg@>Ga z(g1+Pmf6g(>rrz=*>912EtUZZBYF!kSRqOih)bI&FY<~s6$MyZ$?KU;AG{KIvuF=q zn>5gB%UUlv&k(Q0;1*$Pa6)^lNM%QXY+%6O8w=;J0+%W0r}UOfZOosQ&y|qz3Ocgv zBUPsc0XkQ3{C1M;0_p0pKe1htB;0zK>L$6+SzI#>z$ac>EM)_U(ScjnM-GLa^Zg<( zHS=yeHIUsEDeM@+ugK_xz2Yu*sfakHEA5k9R1{LfQ8cPD&KS7*E982zjdC2+$$e`e zW_QG{CRL#6!J3L>xuwhsl|}rOqD{IG1o7w#bS2Wbz^T0p6n5v}8(z?sq`0`~@)P0`Qvz^08Qa`)|ha75SV-nW25)KtI)2XKbI84+`m{0$i@ufzh z1+~;e;YpNTWJ4G%o`xWoqAa=N~Q zEB_Q2Zz-F52+K|M`d>Y9(cS8u9Ov2kZe(3Wk+(j4^HISTSMFNs15w>d3!Le@kKL1V zwR+rb&Nqj5<^*PBFI@|c8aB2mJ4PsGB`I9@YL6T>!&{-XnYxYzyDbyGoT@{wbHFmS z%LJ?SI0?FN132{kHb&qqm8l@E(NJ+K;vQc)VfE9P!6+&J`9lzs3C+adFEKN zP$91aKdJ?WjL4nYi$XNC9z&g+Ika@EB42JOjLpoW>azto5B+CMI7Ds09i%z6b_Kb8 zk^aUI#y{q(#|LI>ad$)(p`mUX-F%~Du}9RM=+hfZHViER&GPUo5p5Fqt#|@h26on^ zPFgpe!$_wpvrq7slQ3NMijVo~RV2Fbex1y5g2X=(v$4nX>F`%^@i_dgEhpC6)xL`` zm{Zy4^lVVS(?jPJIC4_c^r`YS#$u;VgKp&)aFD16*wfDZ>lC<#8ujrJHG%~2qP5_& z0^)>Jw;$nVdQde3K)O-{S`%wXRg@*(8;{`e$I)Q}32I$$@m`IOvJ6**Oba7rUZUY` zZtVHU7oMCmA0ksZ{oF+C!HDkRSJ5Z^lcN*u6Q(~DxZJA9HS6OJwB2QGvCFba-0j%S z*-~Vnp(uDdNlb%nNV!SU`fy^tTHbqj<>mlulZ+JXvlOVIRMqc|HMy0#hf(j#?RM&< zLjD%Yjt}8>*%8VRzApGrnKF#vL1}9uq|Mq&1_Vg)eR+U{H`^{o>&Oiyj1;T+(LTAS zxMvjKK~V;l_IalKcZqFsHL_mr*B?*Jykwg}wiWYf{1x%U^x!SMps2Vjq0hF92v=8= z4?l&&!4go^+w3bsuOm50+wQamgwJ+^*HRum>9bZSbAS?S7xF5=n*|g-DoRs$y;*8_ zOzctUMQ^h!RCyFu3zcBJ8YLDCqj<>X-QCBpk@AdTWfVXa}=lV_(BtUvU!wo0^o40M#rEkXz3e{xm$K?*!Ej;Eq=K*`QJs+w(2;*@~ z?bMVi$^?&%I#sWTbpc1U`kk}Ne@%OII;q@x;#;}aE6+WR9NY0{jR8vav}O@5<^pVC>g&>gps3XluQ9m*zzd8*d>nVv1tA1GbfpCJrh-DM`aKX0Ay zo8uXnUhHG0>v6rakMnMgrM9KrF&kV_Y7*4YY%KGm{FA*po{__-S81J3`V7v# za70UuSKP$?DpvuA=wG3Od`;?!%P#F~C6)>}N$ryvlX}Dud`@iW#MPSCJww_RB+;E) zQ5rlt+69e^7|CyA9r%;fOmei$Hi`k}t)Sxeh1ps_u$b$V$$o>)geJ3-Wn_(B?6yj3 z>!s!clJG-t0UL#^kIvgEKh>LX>l4U3cVP`#$KX)3Ma-PlbyC2*%Ol==v*C#%gCXnG zW<^;(@at5-^Uu*MDLY(+hM}VHxuBAf2-XtFVp6_l=I3%cuTFWvP@9#zmPFOQg^AK5 zillmQ6%NZ*GJmB314w`1<@g=q8i97c#TD60qS^K5lVXGxCY&*9ug=f1`E8)!TT-(g zFd|llUZ^E4h5)jO7pmzO<%{X7 zBlWGnC1ahSZ-{2hIl;;%U7A%-%3~LZO_1oe;q@;qR5)4-N|p=H+*)_~V$?_&_Vmux z-A@?yJ)gg~0afX#&fh<0>BQ1X@5q)vRZ!Me#iE8q$0)`-+n8Ev%gPZRb+*ad)YA(}cwjzv!taO%kznv$9X!T~iV{R` z#%R4Fzk!*|*8sQY0c#IjBAPcM?eUbjP`dHp0gfSD1uusG1%vf~%g^d1skQMRb!Jga z<=RjTb52Ea?m40)@yQk|Kaj7H=yHjv{9hLoi6WB>`RmS5@2~{L5j&9@au^VIM4Pfg55oUxaM$zK=*Nn8`QrRx@ez*`M zTTG}7vo-=05~p;hJs1OIBldEAaBEV@7UD{D@@0Nc0nxS?~NNShl z>2{+AVimRONfS(|c&YvI_Z>IK-nYN=chk}fsEl&H@5+60Og4TzEZ9BIsNVQS$PW0_ zCav-`PPkTCm&biqmvPD-@iJru zJ)**0%EEB@8Z~hfIT)yLHz6b6@DCA&82>B6p=e6b9QGQ@1RwHXkH-F#6af1!+MCw+{_d5l|zvuTDig`*3*eZf)Y1<-1I zoUk5}D_4-}xB+?0ixOQ?Pli>dC#rRPyeDHt%?RGn0w=x&sepJeWh@j$)CfXO z0HAu&NH@O0CR2AB_`p_?P*GTP z;%QEp-C(lB3fGuYZNb}q(b4m99F`fd~E2r^rMmDKvS6UPmN7#h|V1cdDpfzWZ-pq;f1 z{!@Tn15b#BlQ~t*;Jn;=$qQe{yT(6!eKpV01tO=xyta!_m zFM;P|zmtt&Z&?fogD2AD{^Dm3a0W=X4S#h!J^8jaBL}xVh~)DUA!Fp1lf}Fq03%kBy=6Pe2caG=Jt@U?=ls0SDn& z*;TBzBzixb4Hh{RDN))4qa?OmWOJ|lvM5_k7{p79uS6@s7;aPl6zC#ka!npnuBOue zJ7hUj^Hruce;OW@ts%__=Q|i9C1UifA#@I4WMCvrBJd5mNqlKM2p_MaykxJev0{z| z@SgK-)6?V|s^ta>2F`9IV)1dVh`Q|UbkpN26rG>S$H{j6R3<*%+*-|l<4_|f_#(xD z2oyPzc(gPi-Ps zQg+(g|FQTw#B_D(oT4TnwRO1M?dA@vsezul_t=+3s-+Ky;_Mckb3$^3m6!)1(88mt z%>jCkU9Ysh_eQD||Dc9-5k?8ZymDdUe0uO+cu0a5p|cY3nP@}AihOX`dQV}vsIh~v zdg}J}d=Yi+2+7UW*BxTF&97_$A!M$oHsVSgdOR{%9STqR>WV)6sG)^LJ38DzsHhZR zMrNc`cnWw<84dGu8)Qx<977cmaqh4FgRC$Ss4KV zl|f@0|5`w2dPDVv;3tx@%mgyo0-CG2na~xqU9BZ7hBeHf@D5ITL}gVt=Gs8FwjbN8 z?Pzr-K5zB4;{5*7)T}d4E?rE}CMd7mu4CC2VodWpW$Jgyt8dc5A<@m>Er!Q+D-Fo0 zuMnBNZaFNnw2l(tslhd-%@xN@MU}e;+r7%o4^DgK`g%C5aX)(0-C>Q=|N7(G&VGoN z0}U?-6v6jo;ukAf%Xwqoe;51Oo`bCWS@=J$>+NELcLIQ{@!-G0USI9KayMhE67wY; zJf;7f6QgAMg-jy(GR7ei^8#QFCqLW0dc(`1=oC}0ww-X@}8tc^Ue5y7>DoZ9p5O- zFW_3Yu4Qcf|F{49{})!QAa!jh2y$fgGc&2bJIHuBDC)h){|>LA>df ze}Ac0WlDt;`+Ze2INAK}f>D6jtvIwg``vzsp}1%Shh|DwPA%tzJ#;{Gbd zQ6Dknx94Za0d$5Ed_yXGGN)@*)r(m6 z`0YvB*N+w!@!cCg9X4D*?Y{T9Bz1+0B>|98sdbORbGrgiK%m|OZ~*)J^blbz330-Y z)*&x#v+)ZAlC*Ya!TiShe@?&qGZ>?r-=&@2(Z}UgdiXVaZz{xg86+ofP}Sbn>fq7V z`gri(s)&-1_T z!+}GCfFaEPp|m$(a%+hqSjb$|!pQAT8W9&XXTE(`S$yA4{AyJOhGrJXSj-US)M+}R z|9TurGXaZ+TuTn-?qsEt+`6z)v5G(k8>k5k=6;XQ)0bd8eV;@l$>4e#dbE7S!AlBc zA4p*ERj6+R-|yMdA4&j*s$2{N5Xj#Qd>>eT!@=Y}s0FrVWCfx}{W4T@HUmHON&kmZ zF}N%zHRSydC3hn>^&cRH!uyBP0cSw2v{FB_r;)t>%Ogntj{!vg&-ne%_Z|%EWS_Q z{OaAO77U(jNp>=I`I1Y#16&vX0DHlWXtWf7brEz$Fk_Wjhv-=5=C%{saqzm84{ufM zzE4d3;8*1u;g(~j{-;;D-u~w4?Wf6`w>i4UMV>Q>|GMag5}o?Ct7n*aOS}!J?q1fy zEbrvv{c+W)?O`{|U$|vt#+_;R_Q<;7`lR8s=d}LTyKF1G@4q(ht#|*miQ}w$*{6V# zp2RrV*X$ykzs4|Xh*9R+`!H%EF5S~da~}LYSbsU7-$1eJXsTIH`YczhGyia;GwKE-B=Wrg1mlL_1>pk2XII)jmIa{Sm$hBA;u&RbZs0g?*hBp2j)K+{)SB zcDBPia{s-X7mK%@y+7uA{{-#dt{gW!>?D+gc=>eU{{wJQd-4raHrFgmR@9giy1*%It^*^@( z{J-x!4X@pu7F#&PuUm-lnO9i$v@vh~GisqLgZ(j*0KVl22Jux8``@Dfa}%Kd=f-pH zraQts!&9utN7exo?_%15OrG>V1Nc7!_F(yP8Uh$ zLV2^_(efJw;0XM?A72rCa#FAkFbbR9F8)v=Liok9uKgKXnFqg%-^Heb;q94qg3fV` zwm}3gb6iF01EIMD6|Oi42AzY(jD;pi&5@=2$9Hrp!|qQ{==0?M;Wd%Imr`=ObGxg2 zZ%4UWRL@nvI@$#==+BtZPDHg(wu(%F&p`*co|HjQ!>Di`>x{bz{7Wh^PC6GPU2@WSDi;V6QFuzE3;3cQh$~Zu{jgE{mmv4Tfrok zF|x}QgmJS~`~b1FL2;j=EVoe9QN!3O5>0UdvfKiPk>QPXn5}%eK ztaWwNW6CDz^iwf`w)i&ZS-3dt$@ED2`$yHF+wY_wWm#pC7xX3BkUX7Sd(7c#o5*NO zTzS?D=zEc`$34@wDoOl9xMIY4E$RKAqSA$gv!~3X&6jKy`D{MvH)|2l-|m?ku-4hH z3a5;D74?1)1+RZ_Ho26A{TRGgt>K$16a1jkC(DHar(@xfS;4QF_p-WD^MikWB28Xds%7#hOV}Iveq7TR`(-At4)I7xQgSQ-Tsw z*bgEX%TgzYuxJq-O)_iiL1!5E##hJTfCpqC#@eOD4Wqi5mq~K!Bx)~EY1Gxt-m>4w zK?(-hUuGnCg-afgx}-^x$yp{;B3fW`>EnUY+`(q|uu#y#VmGiWn!%0YlVugi0HO&x zOJIb=0{GFk#bg>({x!f*@&y$1(Gof(MUnUGz_Voq%#q~#v6^C{!n6*y35 z7m+SqS}Ehh=xIWl)Jw99>(yns78REET=cmqL85&QtKt0*7xh0s_&@WTcsZ)`t5*9y z_ln7NHcqPXTR&J$i#Fu6hrvgJL#}0G%E$Ct^!qAPtFOK?N#P8n8XM4a$wq2hJ9>VR zZ4hB#Q`BssKtX7;H_42lMx)hc@T;t+uoeOfW6-(Y4V1H6-O|fpK35WXDfKBpmW@No zk*>!)$|hb(pH-o!-;G0kcUuOvTm}-<_f@x-7IOO(H=s^YI1Oh3JN9%;Xb(`Q0@1 z9B?6>=-718oaq0kzVR_T!j)^e(M}tb#Esecnb>HVFR+{8R{D{BLF)Rrkl!9_g!BR6 zL&u7ljMkE$gBactaKM!tK>KIf7xA!Tp3~i_>RaxjoR3H zce?4=Sk^a}sRO!MDeHz4ifK&WrS0)gh$y#A(j_|1_NMG)yRa|JoEKTAaV(RH5__2D)^cR8%EE1Yg_rLay6nI-dllA23_{0S@k=)=YH?_-gRS0XJB zulb1`)00W9Wz0%sTLMUdQZR&hb%|nndK0=6pTW2T`PETHTVMvH2KtJe zw4YCH-o_*`I1}grxwpuWTCZTpsS;a6b*Tg`CBumlwwTyX{}n`g8@kG@DTCh@ot~pJ z_^YVlnAIeim@%jPAbLzU6K66_*$VFwfd!$&6L4;v5%RXBESf;4xdo10_DsBcUVgYZ zYFDdJ7Pyu3;fGRSp|js9i-6pgYL(QK!;Z<8q$56r_JVyW-2Q5B$AUbQZGt!b_l>G; zJ7J zb~jX9G!LwTM#k1Wgqs$2L|%4Y%m28VbxBdh!h+AX9eD-xrl6)|!VXj+I3A>6pq_TB zCRK<+-T(qD99d0-9j#t8U}mZCA$+ZTpMox(H+g~dBHSTL_p?_r^$r^}ccv#3y_U5D z=^s;>JS0VBqItEESFB}^>%QMWRDY=;AB4e^y5z)D zsH_ve1lR$>=d^{4RY<>1FdD8DN29Os4dt;QE>QQUyhA4%w;ujO#9m8Y2NaNuR6w!s zglTQTY7h$Cyj`$yCv_|!ww;=`bKlvJmcVNJPOMwZ?hwnNGgg~D&J>xh)o;)~Vy*x6 z49Ic}G{`DE<%k~fTx9L$7&vEd3*GzJ-z1HRwK!rELTkOWo1o#DmvB8~mp**yW}IHC zyOSlyqoUMf$E(lbTvC*k(5=BdI)(hW09q)s_rnI6$2eQ<@FSm^5x)2QW-JE8WT3FD z6_pLlg)G%*>PmbBdsVP}A6sHw#1>(eAzj1Qu(gV&5YN7`t^9wNI+57o!G4Nvf9=`t#emo|WBl9Aq|%fVy@s|;f|t8mBP zI&mg!U{?vR713(0g;3eeM4<&X0aZxgv_70No;1X1OHyZDMg1L9m{#{m&z2_s`d1InV-*Hqq}rfkXF&tq*p7O5U1 zLg`B?$s1}e=(OwJ@zpM)@hL4; z`4@&)>xJGoGzJ?YoFdX3F=4M^=&U<27v4 zC_NXeKO)Nu!)%I9jD=l&@>wVi@|DUI^z9%C+6jcjf0I5`{L!3HEZzlS9tuNwJZvFqkLP;|5r69H*eop_yvc^V&O zjUMSlv~4@>V#q55LD3!(dS{`Q_`|ajPAMtz*ptBpA08I7>}uj7UTASn3IlvzazWY- zUxc1X?HFzB`ftx;uU!hi)*LEekClmla0M^S%Y-If;7U;;Ui6_%7^{W6VEo$2?bexb zfpfmJ3tWxcgLQ^KH6OV5k!AR7@T&sNwf~kWSD%?2y-`fez?BBvJ9F_^Wv@5nru8;}nUvcn1K_(!(%5Ew1K92L8KN(|&Hfox4=AXqu$OGn;qURM3v zozwj1kzxZi>l{}X@0J0p@k09#-^MAL2ycMw1oO+0o+2B?9ee~DI6^n)w_T*{8a?o{ zaiKJB`0M3FAS`a`Y2DRb8pTioUWObqjZ%%Lq_i>0Q;n?o=rxU+hu443BTn{6FVLia zwJ6eAs$?U00e>ywttV($0mAAxf*ez@F|<9Q@1r|NQQ_dHmnvfCb9`!!DVUqJ5*+v;gH|VC^1*$6k zn1L4&-c0yIKu<2h^vMmYNT72DZjfS6nhb;}^zuNUh6MM0N**fcQJo%3;HSN*xpCpI z?Pd3^e0^S@=-ScwfrLGN^Gxl7VdJ!icFhb%Zg2OaSk#wK+qu7=X{hih%ghEkLK|Nv zW$cM?pU0}_a<*61T1OGos&*DE^&_mD=_~2>+zRUQFk5`&jg#acjvVi_tEx1;^h&{7 z^OJE0^z_eij+WdKn6(v5x!*1I{KQU1H8KD>xO3bYBj#N@yMo7>v^O0pE@}cE=Is zs9bF}6!TFa0(fj!J6^eYvuytiyKbVoe7b2e4diW1cItPOmwfakh%(u#B;Ny)EoG%| zBPEd(>;QJJ;X6cGvibev>}t`t2lR;vmXsY-s1(tkHqwv`m&s86M7a?RT7iIkc+`kV zyOa&k$xswc-xkCuYe}y|_;dh*Ff&-|B>7j_5yTAqqnwlwQ8d8-rU}*a+bw*>L!D`I z>zW|=oEH?H*=#0`)#w(vZjpVpLDTR?*aN`4@Pf5l5}t_{6i+Ny{MEdngnWUR^aUAN z#K>3kyg;n8$@9-7TbCBF7*X550Y_9zv@6W`t1Ru)T=P<}c$rBwZio$y+ivGwNpJ1NRas1@6H4Q!3Q3tSc?Fw9V1O6r}&tTfr1U$ITvW%B;Vbo*ZfGw zOY)o>Rz6#i-G1`viD@_Et*wdn71~omOY0q;uO5WNc~m>0X@wELS2%6$c)w6yanmGE zbf$UV^-#;R)uxsm10~tq;}J(+elfQo@&M;Y>C>IqsVHOZAS*+YSC6wH+VdV7ZYhtl z{wJZDTdG|(I(c;*c)yt}j* zWrGAk#?tSw3z+}Fk;RTAWPD>8!Ri1x^{s+!K`i#ql)ma_mpH1#taD;L3;LEqRxXa# zjL=u_Nw*Gi`|#qE`YVdzK+No^>+?qkQ}XVFB#;?k_j}Zs!!oCI*vHOwK|RiJphPU4 zRg}r2Wufp5|39!R?o!)!3wpHV1TbSm(I5iSH^-W8M2?ocS){h1N5w*CQknmgUhL9R zc%YqEw5Fx8YVP0@AP6LF| zr8Y6Lte$=%Ys*aK7zsZoa37V%UM^P_#O!hRm%ED9FUbz|lP^dDf-pXCia61)zS;=5 zkDZ~?tR}D9zsKE5AL8t9aX!oGG!ed<+}YvvE?Yl#_o6g9^Ce_0)c2~*odR*In_9)< zrPo?Rc0T>!f1Ue5axs`BdFq2grF0IzE1!!x4*6m8Qc#iR4kYtux~WAW8O6K3^VCq8 zox+e?Lv5l>61xKLfbYRBw%0hJao>qwQveQDPk!JVE8Flx>BW{|{A>f#hhA*Kt@qUo zV$Xt8$fi4fV0d}5gVgD-@YP^jZScNrnLuGQ;R>+yi=zt#O94<6gORNQhxWz7KNv^* z9JIgxBKzxq5n=rD{qj$A>%}uNV3HqMK#f0?j>f3A+;0y2DOtF29$o=h@IYZK^4FMl zqAS&5lK6RdH+wdm{zGZ7qU>`jsQ5NEHzLn>P#5V(w%*P7q5=JP;NZXgO}XfAKumSv z{P*3MYiy|*`S=f|0cz6B{B3wU0N=BNx#XS>b$Az+KC~$0_tNOZg9yA|r0srj7 z?|%TkBInS`Z_Eud|FpPgFT|WmN#aT52 zz&gEpBUjF3zbo&-&mby4l)S!2xI1WnWME0mHtJQJCcIljrGse6juO$HIVWi<+(fY= z^&6g_KhpGQ0P8_n2f*+UDN3!g?Bn7wX@H7Ug%hOuWwxo|b>jn|4-J~;p~u+Ai+TtT zzu>bOkCNF&%^}566l>7?5IaV;=);DA=#o0h>j}d~Smi!>E0631(L3x>T$Jh?(2AEK zaQLCrDUQTsHCqD%#Z?1jchwCYa$`9jnSi6uH_OTt99R1jiy`f%^W9|JZFr56(*wIHb z!f-A-1;86xI3u_ij7y^spBc)N$CSJ!)%}*lEz<4V0tXu1sg~oetL+ob;e!fw+bM?8 zn{6q(FMzV-pD;mU;%d*IvlaIMz<^>E7->05LWy2Rbwk%NqeT)_Ds%3>B8#j7jk%g} z_;pu%vHJir>kfU(toi^F%jaAU*VRIdc6=6pP4nK9kFQg1y8B;tQR`ZsxH-zXv6ehA z$$8DfTfLh0<#>IN-Z~Y~5q`0LDs-!J(e@N`im@6Po=v$+`&JI1T|uv&on>1S_qY{o zYa`b`967Qn(mC$h&5zEh%1ia1TzqM)WP(E0xz3aU~R~lIh6rI%YMEaO7_Yb6( zxR!d7sr?3?c@BIAx{hqv^V~Uc(qAM-s}5_|5E&(4u0g8?MSsIBl{g?bL$~S#OcfH#v^}1fJ?RGo+m{;7; z@!~ZVp`jr7!R}?oaFMCinYH>Znr6dZkl&$gpM@VE#5E1Y>dtL>x?^ZZ{9s^Kq@a?Z z?Qvh@W@toz>ub{N3DAow#|UmFe3}a=v+Y2yW(yejN8#-~Xp&gultVEjrOpSzWs$-z zbmr|XS0$O^*sCmk^2r7$w`z<^8xZ@pvVWC3g615UEZ30ISMi~?+#Y4PBC&h5n#Jlx zmqIf_ZCxXU4W0@_k&E3Y;3pd`1A|3Pjb~l~Di@v*)z%#??CeC*@v68Dpl|GMoYhKeH zepu7e0IxEi+nhdWLim2WwBEu)XV1R&3e9ToxOwkR**c#M`$~hEw$88Wv`syM^R;mK zlcTrWeLYH6INl7?_wdHJ?aWryj7vJ)k-cfCyp6w^G!AmJ^W||d(3lE*p`46sg7Jb6 zfPvrz!z(19-|y@Ih(9LVM$Eah3?dO5MG-j;;fbAa*%f7p92=qb=;!ckL&Rp`;nq)gUNkUSi?{HS3?xv5EwFL44_D=yCbd>WM$Z z^GjhdXJBg4=8q|KU94P-DCn7;63sb^xfEHg7IhONKT;le6=Xn7g<}XH28Gn#67oHhVZsb{7%)1I$+9 zh}YV@%ZMminRE4)N&P?ARu!KU?RZt=6uzdjs%3FHbIwdS7&2?>`7XQWemK1{c`@aP z_hG@1sn-TtzF8T7skT*kX*2g1I;~Y4w+gb($l9>ZxpJ)orU<)1W<^4AhAE-uP^T-$0ZxUnTh1RGx3qCQzPU z#9okSNPAqGV1}4z@G}NU!-jqXMEnz;QZjvWs;{@gCUBKXa)k$r{EIM6RYUhhyydZJKCRo7b5#BbeP*2`o8___-iSWjh;m z1EDSS*Nzz9x_!Q-wk2f`>QsgB?s+h-qV9Wvf~=M3hNrnGG=*u8|2u zO#h_Y?mM=<6eJw!!O@(&qLqwKs-`o-2+?Mb1h4m|?BJM=hA49GF6SrHqq&z<3lEvw znC&S4^8>~plT+bW;M{p!7*HiltJJd#l^i{6`p0#a+MO}?V&5^&_C?0v*5iAtcPqlx zk}p!0dF{AGk4#O5Ze6T6_O*EP_e3!Y-i!utl`f5}6)wY0>+@%yis#kfI>CIJbx#)l ze`D|6M#h|#&B*pDp@>OBLX+%D z%*5DKl0Bh}8Oe5Xj?Hw&%=8@H&sv}NzN&jY>wec-&-1>|>JK00Y&Okt{*K@A+kAiD z@7fX_hB$tvxfCc0G`1xdFVHqk7#U*M5q2Z-oKU;I3XSs%M%p|#B!Z*Ycp;+iilOD0 z@qHia=AQW?hArGT?Z*)@2e?N#bR<3TD;sArZj**Ud;+sUXAmt!aEDcvw|{M_#ypxHMka{E$?}1%(<$n81AUI zlyu8debdjpJ*D4Sm{hcSM0I2fZ^uHl^vqcAgy2VaKJQ;z2A6* zi~;~q4T4k-PaoEMW=R=H<`!_k_XWcP)U_Nl675t(s6ZydXp{q_%aE&Wp$bJE=( zwqz6HVytDwTedip^~xF}%-tty3^~>%`sO_u=|)>??(5$4aO~A^ZDe`Lrg}=-+STA9lASnoz-}0km>bS{y5SgKQ*Ze&|5t}Uzg4-_E z3jA9~kagv237W(71UX|~y=SF(spYh3W02-fo;Qs!1}WQn;g6TTVi*49M|kwpS0M2= zHY_1{4$%1g1LdmR3{F6QmB4CnScQKzAey!q>21%}FJ&Bg zakGr2WuSaBxqs)KIJH;%Kmh+2p!iyB6H&B-7k2l+9ly|Qb#U(YmTO$tTO%{Vkmv2~ z8CarMSL9a|)L~-5ri`y&TOmh5_{Du4xAxUQ1;YhMZ-k|Sy(dtTFjFHN`25SjVaN3f2=CAkAe-Xn{(Z@@ed zJTzEOUKb*Lr)zV!AvS33m0UCTiEf8;xfZ?_!G*2nJ=d@2$n3DF+%!D3cU#7p2kQaF z)|rp_o2u8>Ze#h#_T27@cK$Q)y>;NNJFLRKq-_}vzC&#it4?eQh^g^#*mKJ+)o-6u zu{vA*55M%7*8?Jl+-7IztZVQkEGG}YTH~YHlLEo$)#cfSk;& z@!Vl?#O91m%DL-z2e03KH|Re(c%gD3z~SVzIO{lbrEBKLl*-MO@0fdEdjrxs}B*pDg=|pbNJ&rpPGVja;6ZkBfB9-DG*!bO0R5{D~} z{0hRCWlP7P7sbR*P}B_oJ~&c;F!}(ZdQZ$}T_80ic#f`{;X7t;q7Wz% zr)#C&6X@?2X|KR%o%r@HeEZnQjeoZW#Sw0lf>zZWfS2g!-PCGemBf%%oI}Th8e>o9 z6XmXu{-YRJ3=VHbq-vE$zKV0x-+2%e* zw`1SvThD}+htkJuJ)a!WOk1n#Zu&rV@3rC_7YUr?c5|k-p~enn7jgT>C1p*AJELlf ztgIXN5NPBf|K`4HHq{SzKzv(I|{XYS?@Eg9lf4m zz$cb_@z;f;dHcSq9KV;vl!A6<+u~*}202gI0ZI|NpB5ws1vC%LxY?ilez5Eq)IPzM zd{ApKPFMmUj*|e>{=sPZci*6cpS)xWbqIs^qn9zUf&&!Vy<9%A32IN?vQ*Y4APV!0 z4;KkYGM@yZFTO1M{E8s-?JIJZ(A)$tU4Zfcy>+j8GA|Mb0bnH`T+2}~{^UjG@lZ(2 zO-KG(?HQg-%9mwxHxS|PUSr0^uw?)!UZEL8S8dUl&nu~dJIM=6;Mze$(#JN;X9Ud= z+f7-N_hKO0Dgd0n3r2nSn&fE+@C3!~PZn$+)a3av#j6y(W6mDAiTZc>ihetzS&(e4!44;4D<~gQp1`) zcV8=1_SFf?-Cn)mW0Iehe2evZ!wbCEmgZAE+6nCLJd{^dp3Q@!xh^seoSfAzD)DFI zYn^+qJLgywS?LC~pPmLrqH(aZSI|66ycyyd;lE-us~fQPswheAsoJI9`)S?tN)xvo zcY?3!35zC3pY?6~Zb2&`cU-(j6Aq<%I&U zG>>RGl~Fbize>iufMqJ>^xN!qU02*&Xa8a_*G(^GYb5k$u%kq#i#A|w<7|#z1}eRR z4)XkgX$YSFsvrNS_jk7ZbvGvdbq{#_+ynpo9*7WH(#2~vQiTw=;ADB9v<$7-3bX>x zffLf3;(7l-iE)85!eHUzYFzT2_vHD@JAAUG=TGg4Ki7Uc(Q9svhN z;ZgtS=TmE=O7Vn~W06Vj>;hXcOG%6C@})PEcCR68Y8G8f)Ng%Z%rMt)>3xo9X+1AP zvki^*0f~Ai3uHT8#!w_z)+yt$bB|JP^fUKulR@q~wm-4EZg-sDG~f;5n^DxmzjySQ zT>>edK0nV0P0&U{ht+78GaT|lhLe9m%<82K5-E)VqK$q~AhSdW+mT;e85h1>=d7#w z$u7G5GmERwi#D$n3&nlsY?l_}_$z6#Phz&!o;Eq1vL*GniF4}x7iI=PC9fm$= z^?)6EC$G6Ed(1f-Nxh%nVUuIIr!DtLqP|Uml;igE(faoexV~?FYNC98FuW@0JEw#G z(MPuYy%&~+8gyRL#skUF@GJ6{Ww)CDooB)Zi1MawQT#pTd>EKr0_SL~Pb$M|n|u-a_9W4PzS(GgGn3l^aI};>ulSreJ@;i9`4VUjc6~+MH${K}?A?$c=-<0P zt^cw;g?{eNe|~rV&{!~i(_Z{lv*@RwtvxpU-^Ezu5U`gL`e?E>t4A<0gneB#Qp~nh z_|WFwP$|oiM07*CV--~;lFsGs;c}fli)~C51+9;-`Q!!4K4{UmgN*O42Uw8bV-Ikw@1OMv8+Mu+R8E|LybFN+)k6Fej(CLhU@MCflU z-W*mYxNX%>0KGil5#@vSuE&njnbXt~65Zx#qPniqwYyoLGgD53(3F#W_G>WwZ~dtK z2<*;QMXI<$;HaaqLCMMMGsg>L1)+7atY&B}8nj#nkBxgW05Cor{CS5M4YGv~3eUba z>KsSSlA!nJIV66f(Pq#Ot9VB&>ih26GUA^EkUL%#sfW0~KKin(BV@2o{991`|HPvI zI9#V*r0hcahqEkMxH@t?d999LrksWcOPG#UKvc|Yx`$Z%_jK8CaM21)&<~kL51{{8!o8s~!nruT=S!|_>0=n+ zsa6N@B=rP|LR=6`G^P+caC}wOg%9lHweiv* zUTlP=1W4+@|Ly|ByZLF8Bs|7broncMMIF=|unHTkmQ0}ed!X4BRV7#hiVCKemX<-R z7c_5*AXO6WoC7ie%IMM>-i!1LuG(G~SN+1I0V0#|9Z| z=bc=^dIq8zz?T)CUjAiS{5Jj_+M=CZgfEH511|<9_?*;TikX`M1f>Pw0y(e)w-%~* z0jMv~LeBk-e-Xnu$tVX^4~w{D#1aB`aNZmJP*|Xz$&LH6Y{J@l;XZl}oFd9#X||$& zuG7zT`fp`VA#;xGUBl1{H&A@1l)OVQ^?lA=h^6h#g>W)zLVGe<=lq2Hxe8uo;`z>I zStXw>*Q@WS7OuIC+V$ft9_HAL-T>8Ed_YV%YqX?@FQJFM@ywfsyY4-xDgrR>HR7DP zMp<@DwueH*>r^HiD_EU4%*Qy@Bm_w&GOo<)Z!^uun58 zOV44gb=sb2rpgA&#?I;s`_!iKZ%xv=i>`Vp42m5oc2E5vVNp<;k&qi%;-kEctz44P zSGu@-cxEMjAD!!bD(5zWr8_J0s`uyBR1KI$=S@^yJD|R?vqdz0&-sV1IOgis=1QkW z6%LJ@w|RayR1!Xu&I0-r`dvCq|D`R0XO9NsMRxsK1{~BOjCXk0-6)slQF9$}@L2VX zjg0G_@~g^?^``Idv~9Om#QlS%xlv5;b1X7=6PN1Mrrc)TbF297^pm@pkH#q{FX$hy z%#+=aV!+YOWH#83E0kcp zMlzUU7S;`TL+5UO%)vBc5hn(G1?R(nt!c^H-UgvOHME#BQs4$`G-+~7usYD^o^u2R z`!s2j;*z#ykDvoj*);QJv&h-ze{kq8lK$C1g{~%wjmEdkc_HigcDTip_heijJqp9*hIpZn!PY$E0pP&XqER}d5&$F+7 z!0ZZP*DyxRCqtcR$SJ4~xNI;~Teukx?(6H)qi3z}6^f87dFr;xZS-@XePMT$o${;h z2lLlDTSE>_*SSww7w)hlsh)jA=(sSa!ad0_W?$HT=P~xs*Ba4(E=u^D?*HFL`tzQV>Z&Z5&AlT^l5Ldqiv#{sV`#@n{ zY!Gc}!ztV%$!UR&68u(;;a>(Y4!%-Mg_@QzsA_2@1Ac;9%$H^6TS_cu0Yr+zCy)i# z+bl>hs5kfBhZYZl(terl-`Ds5@;9hQ@b6&WF9AtB%%@P?VnMJ4e;K6>w44W zW%bB=9%0Oe$I??*H(_(rGlxBiOzQgY}+&GHpi5a%JA!#S7hDU zUA!x1Rc+r@kjESb?fWN7pe)MTBj~{JCA*g|?l&Qx{fvg~+7{Kw4^aZe0Ja3M8CSEP zPye|x|Nk%oH@T(5(2HNbPUoC(D*+bXNGNy@)!Aak9}u5mkVINJ@K`1xVYud1&~TnH zQ>sCc#fXC*z8j07F{QhqN;YBdk`W=ibD@8pAK8{{*$vcYf}FahXQZL~*)x{ZXp~mK zW>#$y0Crs!m;r!70{AFfZw0e;&~ws0;ATw$SJ1tXNb)^x?EwigoQ+7?$!*( za9Z-79Kb=-%*Kc+tc7F9x{uuI&~XII0392GR<~xFoU|urCc0uUUJcLAzvQ=MISV>l zt=PfOwVvhUL?Gd3J) zJ2zlod$;PE<@veiLsht2MrJ%oZ9&}FH0V3U4le!vW!b!=^$&K`GGemz&u9PD%lurE z?>+C&HTk(F|1p2!SSV-&Fmnx_CroLI*f$bEqvvuYhSS-rN643DD@)-bGmajKAjJxY zM8_3GID5#HiJ?uL&?_|_54=+>eMYv=FSV$VB_=17UuS%3w+fJCy&1R|k^ZlU>+gvJ z|2MM2yGkNXJG%Hf%C zaLI%f1(RpMv{8yV$&Dj*B^Z*LH28P}OjqnBC>Bi_5R2KTgXNw+PfX!QFYN$5{Re_p z8uvE=3Yx5e+0Z`BuQefBK#D@_>u~kuQ^ePL&SvpcJ)R5yJ`~Wln%GWMBh#xC_98Az zioA`SWHx8%pf6F0W7bTbZWG5luQCi6`Lb-e9A9s^t8|Sq(h<&h`9ZX!g#*R8!Yj>KIELJN3aSnG%WTBUm3?YTlK5RO;-IbfeveQ7&@fbNYsn-3g~RiS9RGIOjR8NV60t zH8OX0<;5OLlR~8*rCfQnJFbgwhCtver6MvMk&)0wTFj!#Gp)gN2gC=i?=$NpHRDzZ zo?)tz6Ln;a)EZt5VE}UtL|W9Ft^rKJ!_bvGA3x zMl1Pw&}jyEvP_Lmb@BD7p_nwXG!sb~nOV+LMHD%f&9wC^pD*Y;;C9ZQ+}4N8X1LT&<{ODf`H0q zZj0G6hp4c zu}rHt9lC+FlX293XZy?9{*yPRM|R2|&?GTT`S?iqBWmfbb7F^-{&BPXti9xvWPkr^G_TWT^5ipIkm8 zatxWAVa>!4m7qFp>Q?-Io;blju_`_|j4B7!{a)iiwuxkIXO zZT?f%%tai?2pecCkNFzVNFRs0hr3)Fwtd!k`)q!l$pVnVy z2KZ^v3B;XzP-Xc89aaBn1T){| zWF~V*DUmgp;Z`D}KEo_d$C}w{Y>`-|HA88_u9zZ9@}C%OAnZiKmwW`B=v9F1$KM<9 z1`xL*=_ZKl@E0I%uqR!ZWQbnU#|zahx>nx(L^sj+4TtR6oPP8cJ# z$qQ7{U51}yh65!q7au&n>w@&;u3Rv?CAKsvIke}20!=CFu&b2`ticlaepM>^1tB$J=fy>I|Ua+itoY zS~YUa2piZNl9;DRo|@vXP}DUl5l#v%S3O+Yswqm zA#kiwh)v|RhW<;M;~53bGyOx&^|*3sva8mz@2OS;l&x2a2+KU z(A3wF<1VB}8-@kJpIE*=>De1x{iYYsKLJ7=zEtt90+^cTRWwzd9Q9?{E+a`^5R%Sn zVGIN?XPU{#b_`FF=KK`#SUN(ufQWetKbt|ojBRo(kqZL4<38zaZt%)bdZfFj@xXbI|iL7UNf1j9r}qeZD}r=T^4G7)zW zg*K*rObRPGzWRI&bu(gi8)%K=wncK1uO%MB3a5Wic>O?S^_7Bp;&8hjEc?{MawwW3ZJmt)Y)1$hr1XK#*orfy8k!_HBrcRfJbMo?@r zhYVP3QCC7x;>0#gDQ&uLNr`~t2q&Hq$oW#$!L7}G++7pI85{|{tozPyIOM@iSkH-r zx)=<}5;T(=O91E5Bltrm1%KIfcT<&aa2^+A?r@;96jky42WcC+ncGK$ zqVJt33_RtMcG4!t?bfy_R#5RK!X^W0--YeW>x!~HrO1`;!pqN?-tWua7m`wn4tR{i z#X$o%UWS%9i^S{-%Z6;_j-(W+N*iWMnAZ69On1vP$yXC2z)%v+Agumo~hzwJvvqmrjUBB-kZ{TgoC+K(a0^z>H@Pmre@thO~ z&UJ$jO1+jaUeCoc!gR>rjMW!MIKafM!COoYwbbbT6hUC!tpN*YTO80A!oh0XH~cij>34giB4kHOC88$@<%JlBiId7Zp*8?c)Cn~6{g$G0M@$++uXRcW06k%%)&8U zEOuK8wnxgLLaI|iUW+fT&`cv#x%;3 z=T|T3TQ2S5?IyW>9hy8fWhGL7p8QCUM3lz|;SfhATcu%7FOYYHVhy(CumXe{jh+-c z>r$?S;5PVFULePYB-&^|4Q`ujyC0khfux7B0-VA#2k!P9SK5_2UaZc+4HSu8CRHRl zRU4Y$Xph-e6DUz+D{{GRc)QI@??3z)x{V%+E;7m4E3<`Bn#%TD0qf3MUAL{3n{1LW zGSSLzHMgL$dvwXw9?Fb+WyXyY0iSv(s zyX{yqgI=sg3PC;oJm?VKX$*J87qCHDRY`?az`rs;5yVSQpZ&y3p2aN5dy*G3f13p% zfWaucj z)y94_r5(Jy?z^!JTjFb686y&NN-L%hBT}=X5Xp6f`F#x(V743H*Ki^}rb5M9u||7& zuAHi-U+>^ucANKD?I-OJvvt=vV9JiA*WVG$d$Tw?eV_cW)m2T|oB7Gg92#2) z1{Bo|xB(AtEOIFaC|o8M6C8ldCC1NzQTBiYyFAO@)6H8xf{ID2&PtrQNb{ly6M{JM z2Ex(2aMt5sKh#$iLI3o@5aY0-x*~I*lNtyr4)d_FISEh#b&=(C7?QlL-2`*a2opO^ z83wHHek1AAoB&Q6bF6+whS&nFGunv1uZ(@$~j_jj0b@+=aL=dRJp$V|9<|9;^C_1}x~i`q7(s_yVmwM*Nf zDji(p9Iap(bUn}6cC?T^axlxuK1#JCc;}n(4|Zp-=Gg4c6%`HaNZaZp8$1$OWPnsS zL@@!MQq^dBEMV%tj$2JI@sHr3t&tYa9FAYbE-33Y6alX7SHQHQ<8KR=E8xMnqmgno z{5pBKM2POD0OOv`tR_fYBG?ys5AES+fIPII?#nVEs^+*eDUKT~CkbodNA;c#f@PlJWi(YKC zC2e9aV?6=Q`n9}=XL(Y0oVfe&>G}QP)}1s2uLnbG6Ug!#LE^O7&(IW6eN8FeNiVlhN{IeOE3}#OQT((2*gMc$cfgcgIAB}93s&Jp7uu(l4!24fQh zTKJckX&SQ4h{7-BNU+2feY3SVYuTZK)pPfa$b3qKES8^=r<+7_PgXnJrJl1*djX~@z7QzN32i^u|#@x0? z)?-%Bqe*{G$)ckLYJSd)n7%r<l+d2=Hfh`EA^6WH6)#Af%p_ll3*%%C@;NcFY_@|nVDkLY@4uY_1k z&h`&4gLfhX)xHZf(xyq6eUfs6dlB6L#W`~e@A+0IQ8+@}OUUJpmH?^7q8OMxMxPNgH%f%ZOyOP%3ysDXG`(Yd zyKcb#*4Pd+`0KGTIOG5x%$lXz+rVQ=x2Ei}!*9N}f1l?_R<5&HZ(Ywidp5tYWlu2k zV3M3%e4a6CRa5i|XPew3w+61;qouSH40jwP0dmf!giQu#(!vs=I@7i$Z3{|0G-`2o z%C6*KW>M^|Jh$Qv_qq#Jb$xBqGYN+LsEW4ejF~1mN(=(egS9uWU8Can z?gf9pl6J@gwbq+an*I#x-#W!j?$Vv2Tqa8!tspo(L5d2IAo}^m^duETW9cyB#f{Iz zb{i_^;tMP~=3Qo_Uod;&ilKr$H|W%Om26b@=2G}=ZzTusS@okWoQ&9zK{_>ljj$W= zV2jk#c=zvQ9T-en;*G zVjK$=DsZ;?c*@PrR4>bzbJc3%>h<g+fP=LkFJU6@TSD?oX$ zmF|Uae~~vt?8KDe=xqaXEU7xJ1X(Ow5ioKS5IXz|`igS^$Y-uVD|DfY18HSw5>a!4 zi0-V3U}kyH0YjxYFBl0coXF@VZh%L-Luqhy9ZN%V$~<{V&Gk`5O*flTK|2-DKgR^x z@An9v950@hmJHzxQn>URGGf9R15&DJ=>t(5KlQmDvLgCleYCvDri|~ zsIWc+THDxw3F7XI>vlmk$0dAqPh^>h=Brkz`}J6J-|~u5(%xSGYy?n`QBUj1^V&!_ z7(8(f0O4~7D6EG@W5&JUPXZtUFEIZ~+V}&<{e!z+0BU+8N??@#qaXPG1Qno{%7+Sa zKpj5_e9=2Wnjn^W4X$P>(7L*2+7Qbc&>%9#kZ5p7J~#`k&~Q55RuBWBpy4Si00qoI zP=XBwb+kn#vM3F{3{yan^WKln6_)%-^8Ef*2yO$#u`wEDejdZpJOv;HM?4uwSOZ{* z$?aRb5b^ojuLj0bXVyUNZOj?oCLbCv1-Ja)c~{JM#tA6`(i4h61}5`9EeNtnJd;-p z!If7a_(tiI1;Kzi5sRf^n3`|_UsM24J$1dApc|$G)w?pWi!!|Zp!!z=R^^)CFy{OH zll!CZ9UFKJYX77Q7STuosM88)U7(a0`vkmg$KG^^IR-AiPR314d;(LwLm6cT@v#+SGmDo_Z-@Wz2vk#l-wAEe)3EqA!PSXVOY z{;OW8v`;6t4qsm{7pAo8xSFKc<+>xmGkIt zgRYMT@3P-@y>J8xkPtO-7N^@?Ywl_(S-oxBlfJC9Z_$Ok0?R7Hy4&lHo$A?=dv79RS^5wZEwCo7dPAQ08mUo8lf= zdU94PL~h@)%01_4sfN#&+0%;d$8Ya1!6c-_RMVsCzLJ4S)6Ii7J9r#Zi&8o>d!_wRjCuBq3eCezO^pLDSW`%NB3_S z(!_E5Ub#EUq>bK;n&^D_u&coQgTCmVefbGKBXEvqXslcc8<_Qa6|F!4aL zOVi`#ALH+(Wv@S!$@WOEFF8CYek9L6eWYlZUtZX(Rw#Rh@-Sq7MxpLnPlYg-8~=&c z2w;QX`Dj>P{mE(h`D&qML&q4*yRt$rSge|ISUAKRVp z0sqYVkR;4{Z`(0}vwOQqZiy!t8-UGZ zPdt7=4KS8WbD#a}dHvDL_B6Ddt#naweb{yRllT9ClTz-?F6C#LSlchjXLA5gYye?YqjSpsV z-Y4;QO-((&RNwdssx2`mFItPlC9+GQQOktiQXc}Ppoz!1CC761+h$yR{($=nDlI|?H z*pOdX{B$7P%zm#yP0iK!AJYHRVn_RrKL{Qt=5Rmb``e_HE+HqHT+U%jC&5jP+5BV1tNN*;; z27t2f>Wh>E{Og98+lU7X#YWvl{ERyd_ve`v5_V?kw4x3_>I|OGhE}=Ce6Uno<dKsszq;kmPFuU-KJANCOvI(ygEsi*29tUU$bG#lkpvIm}v)yuT@I9Gc|@C z7!+91SY!OSHZaG_)t#3IML=aoQJ`vnAO)Ii7RAdug34pndgx80{+DGv=auH}Z@)vs zV^YDO@BhO$|FD9x0r8^Sj&B^=%29~EeHYWB@U)hC}b?Z@7lqvtk-avT;RG-5gj>a-haXEe09slCwf z1JHM-t~Y0CZJdH&>*RHUW`Mvg_J@1|65OQVv5RA!A9*-tz#DP{5Oyc%-9=o?$js(w zg8l8O^gY!kW2BOg^AV@Sj)Y@w8%B)K2DP}C;hAYE4)!oV7xHX-1fbOIWiU6L$v5M! zN2-QrBmu8%0TV?6up8lMf(w%oXCMm-g{HhPzk3Ws&8gkc5un!)GvmJU^C`zIt!xi- z8V0QXjC6(1KIv*Y+EQd){}MXR(v*3jJYB@R-*sJk;%ta>#m-a}hp4HZ`lBPF+cxH= z%Ho}6?rt%bh>c!TS{$)Wk3`K)Xx*90xmv)_OdCV0Y^Z1nlb2L0L8VRptu2=8s3mbl z_4rrzJDPGE>{~q9g-reF*G1t23s3_r7|l}}+(V*03}T{S+1kniBc?06dbO%-_^VGHWb!hVaF zUzS-5`sQ>pUB-)b^&asoIT$)BQ3?m!0KDTkXse@c12LL(jtf)CNUsa1W+?G%X{Q7F zh3JB{Ur~)-Xjz~XL47*>8RHcYWhB<8gNv0N${CqS$Y3;H zl-cJ?r086Ou{cAsX9H$zWe(I#e%RcswO;U!T%MKOpcP9iMYGE|<{@IJXP8pu3ex2> z!MOFrS9(%L>)@F5d&K9mS+|DPbAGLI2AVk|zjKn~?|`5>z|2*+F+=t(66@EY{%I09 zuAm|rQ)H8MD9}_*!d67ViEpV$IAEZfs!o9MH%7KMs})4QlE}je+sa*PO%s-}(XMZj zW8%+A*91Q-=bXKpjn=XoiM{1%NlhbpvclU|Z=)2@u9O(+7UCE_&Y`hqf+Zgt6w7WB6y!}_ z2uUl^xbNhOo9OF3d)z$GCs01Tf)_bSu6mHd1jQo=wnE2~K@Ive2H>ucE{+N}5EhQ5 z?nBJ15Y&@jxd}q@Z8$8nbHS z7_%*Qp7v(&5R$@L0T;&CQ*y^;CntwAJ1hKJ+E)9nQ=2lEdT>X> z>$9a6(LFWpObuaYxH)E_Z38~klp~cmqpN|b%UD@bGEsfLf;GjLvv|@M5{?%22~FS0 z@cWeEaK$UE*wIz4U%SX{}kWMEYEd0EFoP ziFt)j7N{T+tk7w=+H86Yfd1aA;pfhy)*xlvU?gjVZ82!i38-iMLeMLP17a5#C_xWR ztfb;yC@XP>PQJ2>x1VF59Bn8|mFV;j@n8S7O=0*X+y6v!e>sqZlgD^NiJ0>AhE3sI z6+Z1ujeQJ!0X67u1C;nW?)#_#%u}6*sze(@9x>&8B&pn ze91ZX(MtBQbMUC++NnO)@oUHIkMBS1YH-6s`lZaR)YB?uX^N2|DNR%fjmEwv_lMn_ zH^+aSe9}FdBq5oYclCp9j*U|+v%uQ@k;3NsQ*psN9AZ?RP9IsDXmV^QeTMkt!FaZG zM+meYpYGJj+s|a6Cejy&YAI70(fKKN#xwS$`)P0siY6CJc)eVMGdBy49oRq0=TE}} z{R4E3#)i^HxyPfYiE2E}9xX$m0w3~vg3!H5v?Oo;J^WLqe`0b1VP9w%N2NZ)Dk-IK zlBxoWl~8k)1iN7F&HSmwjXC%H+%{R6Sv@N4Ezf+Kd1JV{_a)28__7+G+WY!4vp_aDhZ4_77*qc`%7)OH6PCG0@9YZ-2#xcH*i zY3W2992y$@t;e6RKX+;%D}LhsDK=a>_Jee!i+fs3$n1AVKXM18)s1BELe72V{B19>(Trb$9lO*kS|x@Vk$-glQ2{q7Xw>%B*cankOYju8 z?ycQ5CPDdc_*!mRcXQVUrd{nR)nd75&x1u-lFpgIQ`^IxiSJo> zZR>HmtHVNp(OK_}CjjaH%L1oO@;kM6vq}vwfn$U}nUZb2kp!Z^T0f1^Z=&75ZC^2~T z?FC-b-;oFKZT{MuLDtL&j-a?PUzR;grla`|1G*sIX&hCwYoBOcaLs8#tHd7uAvz*Sye(FFaxEi>TW9MV!*nIHF%=Vt4OhX+!vibJamDfo~RXOz+>}{!ri0)4(Q1^LUX& zLq85xapi2imC{I3p+kDlsOyqhjD19wUTiA*ZEbjykvLq^7jqiu>yg*u&wOg4Zb`0p zTU*vwQLAlM%?XJ6(7E7x4lRm5#jvifN_XRkR%=F=Oo@+I+qn8-^Trn++^%fu!amKA zgg+%1s<1{VTG58qOol{NbdAY9#JFLK$qumUO(q$-}BZJV&1Od%FZp>mi>kiOmd{uKw9+v66({HiJ{@{tI>%- z*rq0Q7#i?nlG$5W zR#XW*gKNvbNfbv4O!>v-0V};r5y}WAj;M&>u(e(4JR#;FBML2Sh#o2Nox;tX6KoZ< zH+9fEbA-+0jI|p7P;SFb>25#u*^$&=DLlZOa4!-pCZQ8JD9MA@?^{6Dej=)=JDRff z1`6wmZDOPn_2aoM@o6Hvt`(Tto$V~yfJwMCBZZ75$N;Kojhnb9xXOW)Q0!ua8P8ORF!<@!@rY+Ik zwmn9&SZ(rPSmQj235nsoj&PtPLo8>loR;X+`H2rhGUfa%=!{k*1RtSoA{>LY>e~kT zSRV_Qyb)s%nnW*I@lJvkMEN%Cl+D%m0W@YA@t zTbj0{R_{(ypI?OIFLQ_UOK@lIVWpxQfo^(JnuN?H?pw*-0BBd3*l>iZ5VfV@f@yMZ z0UPn#R+Pay+ga2aQy+ez{n@D_!4oW1{*e;Qy*UrHKeT<{U?=8|cB|`TioA2QuPyJ= zY2Dp9cCmN`^1duUrRlysjaPff@ib+H8e)9g=gM;pCr8{aWu6@@I3*99#&kAx zlD_~MFr!TQMi~W#aUUwAq{^l9L7$g zh43!S&}6FU1W0815(vjQL3O3xQ~-8aKhErCFRaoMpr>YsjvcROfIT7wdDq(36P3W* z2O?d=&B+)a1__M4vEcx&F9#EkIWg1k)kIy_XZ?t!h&Wk%u%DybOD* z&X<`42B=>>l!R}YNkFd-ej!jAn8a-$Zu0qrS@}QMd-JF!(sx}{TWJKuh)go39S{K# zl}Q1UR#X&(h>S8tL}U^X1PK~bDnpplih=@?Rs;mZ$gCKMkN~ZS$UG?_iGoa$LWl(! zykGBqe&?S4b?>$JUT2@R?mfHzU}=$%N`3X!J3R06K5vyLZXFR{+W^-ll<6W)oMEy0 zSC*>2>yc>`rpLOPWf_B`m6<^Tp7s%w6k=s$pO@5R9$ZDy>9&7B-R@*HV zWqZ1dHFd0{YzNMoRHiD~@A{&Vw@LN3FYKOZn;FFN+RN-I->ud~vvsLVU0HcF^pd?p zaCqB}`SI(leXkxah@Y|?tuhD4C~dVsi;5hQOZxPZ*?gt$a} zMbUI8KZhe7Z-S45D*Nt--yag;#1E?LZ8&AM@zvC1YE{jh8jqRUIE>cBPOs{Y#;|yG zm0DEtInx|MgAOw5Ubzp<8EF(Q$J-|ssk@Z!*Y0#mBOch=LcfxyJ2^kqQ$#LJd_Y^c z^ekJUC~2w8M$=Wr)Q{YHtjVvKyCV|gt#`=e*0^nf&HlJ4y45{fC0OzL?X!C=+P8A| z#))5@+G_F4wqvA;yHlym5p;r_{KvFE;6vXr<_=)CLIc!N=ySH%g!YCpq$)W~Zbk_e zfefP}zVJ3bPY3#~C;^)GV^NpVm^PD=wP0pLYcgY6E`b3A7}tR)41WXt?Dv2Sy_3|> zo;!FS#A@9_BWTJ&gnqK?1$Ia%Ib4MmctHNM;vjbHLW|oMFFAnrg`$Oem29!g`9{$= zmn_Ppehc}?SgPS31A~|*D6#)3ImKF`8T85#440Vt2B^^Yzui7wCTXY6IYWW8B{2fR z;73rec=B3670@Fx4AGi>2ckThe# zhj6iej*b$5CV~uaaSk+nO$4Zjy)m4jZ?FHyP{luiv);rBp(pgJR^$a#$4&qeWkX9t zY#jL55)M_kbyt|!okLlX430CoIN{m=^wJYnUKFS(&q~id{T=N7A3w{H<`AJYY4AuH zLBpPov)Keq>oZI|^gQ+`Ze0k8%Iiqb28`z!Wj>Wjm4iU;ki?d!D{^LsJ@7*i zPqme%M3@>?f@J6+;eLENUfA}+w6MtZcvSeF;~Z@9{)R0N{ZoqLi=3_# zNLBn&1zF`_-;I+^=i^r$TPQ!#VxWQF$>REw@11Rv&OTXctMuuR(!|)p?u5c!W$H@0 zcBq9+B;VY5s;|J~yi3M8rzn3n*g%jdzClER4586cvYhD2FA^!vaspb~u6T}8Ss@)M zXr(B20)DlX`6yeKXxo5v3b7vu#(+>yk?0^fO?4o0O_Jylj9)g$BdHA3S&>!&GR~!2 z-0sUNr29zo(TUaUL?5lJW;WlJJ&t zTa6^?veJUToq)H;J|^HAeRjfV3f=yRJM!SGPd9yU$ZyZXlsRdnWNy6YvfvUg+9iJUeVOlU zBDD&i*05e=hM*q|5Vh*X_b^(b?J3-EEntXiAYCoj;E2Ug(HJS5Q(!C=MP? z_+gw^+t_ZzI$xXGuz@hk>O>OQoKrqvru5Fb9y*SPPqo0rjyFgl(j0F$ZrF?qfD`Q` zs|rA#1}lPL-9?F_Lzr!i{C>e|m_atGO6efuR~rJ`Vuj*C06^kNzr?1HcJh75PX?#@ zve8M>%qyFi9@%Q2x(`@f?KAmcxrBP~q|jS-K;-J@Q&h$B^Ub+(3L$R(6;^8r&l(%Z zJ*e(-excYms_p4On14e2*0(zdb?GM(jLn8+;3%Z!Sx?SUiRJ`Srscejfe>r)ZEOg3&<~_aH@`1Cja^GTUct{y5;}i|s+7mCT7~e3 zUBv~GpO9EyFhRqOPe~J#aC}vkk1^85#VR1DfbCQ3hY;?djltghC+R;QLGlTS&M+Sj|@XV)nAu$YQ^oJr2ymza_#7ov75 zQY}gy?zuR=g?CUYKF0C8me|#eJ@>*&T=Vo!<*Qe3eOFBO8J5%Z4=d?ONh#3%^5lfW zI^?ndS0R2FH48KYY+A7CdFzoR(9p+Lvmppu(U_hU1B+Dtq=fVK@(xrwbfRf{qtx z2kAQ(cVEbfDE2rX=jWv0f#cE=vu|ITOODeD&WN1oj!oV4sjp+IJi6Rnx| zcJJ3$nrQTX)pBoli)@sRMdhdQvf~9O93CcbeNeUQA8~~S-&o=RCZ&mQ;IHGCaz!z; z0C7I!W1Pqt>`Y4+z^Ok)_Ztlm<$}q_!i|iTjD$>Yk{J`?=niXg0D^;6JC>|W|n`A^4;o&S^1jCIZz>Ejo^pqFgH zcdRtQ`~X@BGGfK|8Pl8iARlt6N%IbkaD(Q~LsjPDIMR9$v($8!meD4>u%eVXoKSZ+ zh*6x?f)}Xj3sG-H;LEjwXSW4Q!B?9 zsBj6r%ra~cV(I6yDg7P4p!o|O}uL_pWosB zUf#+<=XkU4(}7^GXUUyQx#t&0yzjks4=jGv9W{AUcYg^*|F+ecEe>-zVWYQ9_YbKpaZEIBO)x#rs zwkeGmrA(FETU&AiG)<)&z4oZP;{*BgpHG(hZgALb#oWQ<))eRYh4^lWD|_WM_^$O` zQDSa6+C8pvE4(_K@aWYkW$crl@5?+c-0e`Bu&561zwbdW>1{kYZVh{K+0&tLN;8Q3 z$3@CHjRLf6RlO&dF@u5?1qr>_0EO_!gym6?0wIJO&=?k{tynF21M5g$C>LEX1F)je zN_*ep3CWgTy6HCZ{-^Z5(EJK}vrl5hpMliaZ73KA>Q{zby;2s@>c+chtbASu(rr^~6WyXcWOVwU`_J^kvI~ zkF5QL-kRQlV@iCbud9D_N^bj_7nWEo(|u2Wjp+resa>UEVQTgP$m2CeyI$(G)ZNom z4t{=7U6uJdeGey37u0K=WYSt3X-GSbXoAFZ@vBHf*mb1Mq?QrTL+&s16!{`H1w<4g z#ib}B9$#B9Dt$ovYzrTXqszeoTyit|Dq}4%Z1nrGtLpezt7y&#h`X1@nq5wGp~LKJ z^JR+GJyvSPuVAt>Kl(cQ<7MiA9Z&aVxlk9>zClVBP==PsX7RrR16C_#F zDRSf-#(@l=K;3{U)L32Im+E!jg5UPYxum%B(WGz0y`+kIbZGz^#U!V#Ltm% z;SMk}3}Xe~LaSEW+r0J02^^3d*z;vp-52VEBeHwR$x$DSn#+SY+kfgh-8rPu3InZ` z>mi7dAYGh_4SYn}Oq9ndNV?SHzloGO8X3zXXTdFb9VU&ax`DddQ4s{2Gx15&GG%~ zF+Vjn(fw?9XB#9M=eC-aB{FTDC!Ltw^Nb;vr_X|%3X7X=dR68BIAORI*2c=E$0TTE zrbXwTA34`wMbnScW!_ajo1U&x7v|1OV`Os$yrQHJqMMjU%Jai4z)(X4a2VY#H6p=x!R zn~3=dS;ESkXnPpaAlpqejo}PL$%ytv7qw~8r5A>h4F)4}OZ-Zmb4&W(7+X1nCYNG- zf=(NQW6i|7f>qsVZa&rbJQf0sWFzA8DqMw`@kP1uK!4(pq>W-MV6B+^=0tX8&W~7WA_o}#kGizJ^ zCl&S9Ry{07Q__P(@gH=|_*lX!R4)4|F#skNh?DrQhlK%P@~JA}!VG$O6%DZ^MwcyW zqX9)Fh0|9A{4qop8HtNPQ~w#!aTpRPXNflZ&<-m7ntL)|?{&Txm7blP^C|yOMqQEm zdGW^yoTBAEkD85DzOTsXXw<&9w#Oq`QDKp>T}s&?rXG<+?I79 zE_?{?1<~1~UqEg14>KxCp~?W!ZS;_Vgh5gU%a4w6(PvMCGJ}rI?*l+-?09I2JmPkP z#h9}VHy2+80mM@0X>#v*BT**N5+prp6v?9te$yU+PDZ6njQ;-lG@vhX616BR`2eaF z5LJb-;3iU_RT}WH11lu^8MTm@I^IkZgN?H?aK-$te=yMgOUE|+wMt6Vyc7{I1W!P( z9+LoqF9-voj?jWPA^qxZ>>y5JA1wgY&q;_^*VyhDdSQSI|H?3}3tcVikQ;xK)lq?qjoW7c+1hoL3KTOfb*fzkDe1&H3e~ z^WMsz{Xy_HP4D0KMx0eEdHZGuVb-@}y1uq|rwOdxHWcA3AaxJUT@db>!{^*|tsHGX zj~$Bf0p%OKuQ>l|%gHOXx>W+KC$ons#0PZXhAv}+I$m|G35odH@(q6%;=g08#D0E6 zz=9gvI}p>z%kixx$>dlN2ZqX%vK{e-V9VRS1}Nkk2;R(u=1oZ8=B*{~1YN_WQh;34 z3rUhtZx~1*{yKWz*$QmT*g)`1Cd4BfK#kiPgf5zGR~-z`73f`2kF1iw5X{ z{T2MRHNf{eU9N+31T(;kL7m6= zkVO7It=o1hIP+})$90;5({qm`fL78#EO+e~cHZSA16HSjS2ipH;O-BLf&Rl%0aK?0 z{c&N?@Tv>wCH<#(B+U(c;xD4Me_jU4A66-3zAG8a)$zy9+n>QAH+>mP>L?^`4@Io( z4iq;_0lasZ1fH5du7J%S*2i=y=pY(iS3zCcQi&EF*})deON;hvwn~y8t4cP3=VWO! zb{A-z{a-FW|Bp)}HhDlnl1|{niYF+N&3D2i39*t5Yrs7^=qd+Rx&+MLS%?1jw~3AD zz~drG(qoVftvd?fQ0skvZ;~J1{RcJ)2yXn~=mdHg&_r~y{nj~2uYB3eJ=QM?+i!Tioc`f;oLKRnv);eZ+WP8JSx2;PRdWck zleUt#xFgYITFX1FE6<2KzqXApdz@t>ADd?5HaXH;KrX!B@oF~WYulF{Csrc?*D5vh z3U}>ZeD^Y3D(2Mvc*1UH!UPYdmowWGQzCnf9$z*LSJqtIBOW<-c&R1j`?8-xbtR3N z=p{SlpuRJIJnnDqlNjQc7O`SIYKRTu%$RzQoxcU*i8FzuGXNAdzeZmHlHQB8a8a@e zWp#Tgj^Fp~D8>D`${C<#N*;1~SZkK>^Gbeelv2$XIMXHDJT1}xC-Xn;W`-M+K*>7Z zIJ#p2iPms^B4^lEvDjBYeRtoXRzQ+QT?69MF+Xl}u77-fGQV)D_hUr3)6FB)R6o(y z7Vg*8Z5nn-=d1L1U$-%Lq{-fu^7xuBzMn=*jr0y2A0YG!jz1YK(N}ujE_#xo91Oh<)N5&X<}-rC*G^&aFpph-H7Gy(_A&`MwfW|^54$_ZQcIe1{vC&UV?w=#N(=HhSNrgN>*aze6_xC~doc=I z3`#XVZ+c#R&p5WmUB_nG)t}F^{H-+wY6tnR zgB^nkv+IK2EUhQlP>R>T)jV-ES66wrgVi1n$6Kc}QuB3KX}e#UbUUX@1p6sy(u1BN88qv=V||N z;?whp0(HCXI2V`p-b;=9^sW?1o%bdwmgTt7a*n?lzuVOoq+@58hgVl<8^6zW-|Q@;7dlN-0K6f%bw-M7w0iPl-AH_N3DLB=y7#eWyKi{7 zAIIPp{kq20l@UjR=MGgqSa)jsHTYS;%#uO-+h@WRcRwy>x+VNpPO!b3wr#I!678O2 z%l=zi&#bq)9D>3DMYf3Cr{NECSO*WK#R6Z%)QkOmcgzeq9Pn;%WK0;28mKp-6oD>Go`sdSpq) zVf4j!3R3JlBP~~%wCgwNorC;izMM{f+tMc&d6OGd6qRaH@oGbWCB$ze0r=oyGKtMb zoPcbpSk`&DAW9jgh<4!9u@f7qwcjL4>^qvRhrg zxoenyHKAx-8M?{9hsB}b;v=GmwLPus5GN;}h@S}167-Tnkiaw-GVC;ogl z++Kr*W#|lG0yfBs0cd)f66b;aeT$4ivZ7F|HZIkl4$4_)j#LvMjwcb*Ewblu9(-sP z8a0NU+1wMR<9*os1Un@sT-{o5LbV-h$MkZ^IbXA-j95__w^M1{PL)i*zxt?-wZeYQ z1-)l|sgJIliVC#7cX-a#F|Vd_@$F{L*`nkfJ&(>rDvc);J3LXTzco(I1;O}%MZKP} z{H^^<)fO&1i-_?DpX7}$OraCx0R z?MLgy0s`Nkuf>I{f-lFXo)$k?V9Qa!^q&vuW5b*ufS!H`)uEiSAn3s9|6W@n11#%mc8ks z$K6r2=(Tfwc2$AQp~pQL@e2-yCU-M8?s?*!`1+I8Si`PNgIxu&W&3MTMn!5)rPc~& zJ$xkC#c%iPTOPp|KbUlvFI_%J1izkx;g zk6Y9K4)*cy)%c(O_rJsK?)|IO$%KuZWN1QN2eDzZB0YvbLlUpQBqs;}(*NedodmlU zZMApwDA<7OQvgeIafuBENPjC{#T37Ka%2~*no74X3iPlSe|SHF;%8mAvJ4AR$>G#* z?CR=v;D5S#D6{2=N6e?2uFIDG&y;6>rwIJ-{unT!Aj;xTcok^cu9q?IPK%()iwm(I zuMq*KzTC+5cZT7gBg20l_wDlz5bfpiL7HfU0~Er;A;&A`v5P-^2GwD?ZV=YpRPXtx zvE9%Q6!9fcvVZs!=w>hm-4uVUsQ=@b)&T_BH%V}{5*hG0(NUlSH~IkWovaAd;vQf> z3Zc<^*l*GJrJ_jNW#WIS$_F5WDNJr}L53(C?`9IDu1 zVdz@~juXHTY-E9I{h5{gN(T2dB-q;oj?7G!9Fn)vR(<;&CH&$4^v{23x&D85FZ}-Z zfA5F?oAv`8C&=tufaJjp8??xVBewl|sGpAIgsy>YFCu$U<}BFn5%Rk0Eqpzt6S0v9WF z7||bB+ z@lsKbWD%NMF3z`E3`TMdhq+6Z%Z1!KT>tA1S51>bwVjJ+Ht59I4#DjsX#x5Gq z7bc59qW71p`j;1sDR5gX7K0|vk1K?SD098vm%a1_?Qhfq6SuM2e``_yjcZ=eXSCyH zvp^*tJ!Ar9(j+VX-bR0TZ2lW=BU28es#WxhQ3_U|Gs#}s=Jx8ZjR(Dw2Te=yu}t(T z3FvTfKvIMeAJ{?KYCU10p>$w%r1pSED}%t?pB?BYwW*hA#AOe)dh+|8pTRACzCL_XMU>=4+xD<=^d%-tdfKqdOVEUX~rai~sItVEUuzQF#Pcn>?mhd47} zKWkRI3g90Or?1+WzCJ^tS$$(k%3nXc^w$IW4SlqF9Fj3*GzPujtG_26%-8u;T3`X4 zLBD1+{HGuM6XO4A9o7GS^8eb@{r|>+d|$T92r>L7QUHN_N;h`2mMVi;CutvQO?!;d z0uK5JJ>~)rinB<2QqEN~LB;3kF&ODQL2kF`MaXANGY63T-nCtU0f*6{lUH5cCD8(N z7T(Q&yjzvD3IC=0uMKrSwis&M4*91Ac=6du3y`8@c!`!o)YwvL6lY}(UUS5b7JeHV zkN5Ad5_CnqBAS0ua@|2nAqEqXC1_Tt*e< z1?NYEEIgN{-_O}XrZrzii)v2=UWY4*C=L)_>cq!xk^MpMMzm@Ox|GsP=K~A}JL=YP0x)P=u&_}`)6-=W~&8O7fj#ovkP|MA4MiZPm-xs(~pnH{R- zOiN6V`@Are$Ut04(j!Q}%z{)K3`IDE!!y)qtjYTkaiN_cTnbD4zHGh7n+MvpN2q=! zNUZy_r}j{@MgBm+)R4y!`P^fk&9}X*J{RciuKG~l$F^HYo({E9cA)3_sugA#k2%`* z+da&yqdu4inl+KX>&r-yoC)I+o3QoJKsOg9w)F0wtpDd97X$2Nnk@m14U=`S*0OM@f+_-2(*f>q z8a4V&QrfYm{|3}(g$+V$O8OWT&^3}J(WZ;8_W*gpl59iTe`QaM$dvb)u-8}z@Mn2o z;09TJbLPeDFE6HC%DP) zn4T5t5qFF8Fgrz>;u?__?0Enwg2y_XyK*Ely+YDdgIblgnK)mfOUPha#1d`6pLCZI zcV+DFsX{3PE)U+%}e zMJs*09ia3eNBpVmA|<;doB6srJI%^p*`t7}W3j90j8jIjQNr3Nz2oPO2l?#mSem3_sqr62)00%Lh!>fuTrJGP33VvF{5 zigZUAWIP&s<}*nJ2yFP5OpZ5ZlT)fY){2hw5yQ9#dUd*pI-GViv+rAj{x|?%MvK+c zQ-nWA`hfO8I!3yH(TX03ZKf(VD3IRam(%y~LS}55GV!Vns*@gj%X(Xq;G>9s$Y+uQ zA%#iW!lyM$!DIQODq!3t|C?vs3m8SlJMty@VY&*!y-2JNNIruI!-D4s4$k06ak z;_>UT!A5E5YV!01>?yb?&Xt%+x|duT4@Bo1y6AWwHcs309gtLA4n{dsnr6`=EIcz( z9a=bvRg6rNZq&BmHrq&E$J+X zb(d@tJhLzsnMk5o3qVq`*C{E zYZp#D=hYPwm>cc>rXOufY7;+5_ns#+u^J$QIW!#wl>J&pHuXV%jNuid=$4CJWkjf0 z(#A&7o%p&Zke$C0Dw*M6YvMJncJgS+>}p!e?~)LmY}sv3PGYqCOn^>G2xpvPnr6;g zlBUo%1eFd?WY@+%!P*%t-mgY*d|ehA&>tv?Xud6NpiNLBPQV7XJ8@fI8h~oXx{+4F zQSp7~ByF(OUVPU|hnq8l=i%cRL6jc|-HrIw(CM%t>E@k?QwzzE55;amLPOvSTm&Aw z&zW6I#KQ5ktD;R;xHIS_AKEF~UH2`@$>pgRyqNNbQa{O7xO=!0YwBh19Q8Lp+pT}A zJnGTAH&ch)v+ow7Ene0wJiSYjIX;?Qy!xO;lB27amczXe^A7jG$G)ywM?DP%2pk#MC_jB2EGa<>_R?)`SVkpbnqO)bi%7n%mr0UxxtO6Ov2WF zmRDweAo#=rIKvgGE`u6%8uUp6(Rr(o01g|7u8f+;(q&28MO*5h!rrq?LxUEQ8HF>R zOf;YcS)7Dj?{S4xGFFkaj(C_~#G3s<6((lK-=-wa%o}>T(fjDwCogwmM;~FOF-F9n z#ZRqJ+_2>$1LOuTOnwMz)c+mdUGs&$kAq%;P+8eJwJcPkg=*s?qSRYHGQFDQP=4Ca^!y#+Pj(-C0lSt0B|JyEVFEedj6$U5jJi?0s>o#I+!6lpm4x!ZpD!jfYivO7NJd4stAw zf4w_QpVbn4PZOh|oH_O^*Iv_1HoW;FH-FXGo+}nR$(1hQce44o4=msFxyGC;mj=$& zJ}N!){vd_vRHS|<_najv={3J<^3+Z*&@AkOv5XM<(h4#P` z6Hh0!P56y=#ZMZ}@F^{`h`w$z;~XswTMn8Vb*E7P+?9 zphSkVY9f0+MYIv(gO)^QJ0OZxKpbtrne3OpmuoG)Z>-%QtGBl)?38^pwuh_ACR6B{@rpW}z1y+eI3b|w|sea%-sW|E3 zok=V7#(VCQ55Zujf=F}NM{v0KHTZo*p{>^g#U4t5u3oeoarOn*u$ zu#?&Uu=H3-anHxwM_OfaUu_j0HPg5rd~&!*TE}fCnLJ-f@@%f7^ION)ROxnT?zMeZ z@-9uk=RIfX-pQ=afkB(%_Z~jMM}p2}r+tXOH58iGJJ*yF9qwP`g`ccdQOS5Oqf=W! zb?Pasj=w1rHmju$W{gLnhHP5RsC>t;)ui9bCw!E`5{CMxgSfLp8>c)kYn?>6SoP0n zb)qhRti!IhC(GMg%F1wi(vuG#yatbOilYL0{c7?I&uJXUYzeCgfnV^xrF}#|RaWXW z5(;;>P*+2N?6t(rpjveO3IXWhiFDB`!7jrO;RP98+ejON(N)-3D>pw*Xb=>Dk7Fy% zM#>+WV%A~uOPJ#4K}ExRtK^bIuV!ur%rH0sn_UW4`2s!Ejp>G_vd)`1FGVMk+c=h6 zyNke$ciz<+9~Yxk9?o!nh$t|crgsb+y1;TwIJj`m=Tdc#e=~g#x#hKaM6r`( zT?wymW5ifE)9T=fs(igxHg>dtQ8n8_8I0y&UyAXgTM=Jrio}#OfUm?&zf!4$qZ{)K zkl0ahstL5VRSf!iwUP2GaQLIh7O^P{siTnl#kCD>YU)!JuhJQT3Du?>< zC3m?2T??pnK|7Fx3tE@0YZ;yM?P1L5Z#7E->LNhlq)zo%?G^fvTB()fM3Et1kq0Vl z;MvLk7ow&OZ1nqqWUDv@8x#$H7;o%YF2bdMZh1$;a<@RSUJ6n(}qf{vk@tD2=0q- z{Z!kfTNUc$+7-o48!-^4OH>Frruy~*?TocI*{lZhuE-B~$5{LB2dbAIE=4_lK01L@ zAioXlx#!_tm%H!oNq$#>ONW--w$etrMp7eA{(7nOq1z}L@2dxLv}tFt{+%T5CuQ@i zMJw_ZcXwrayXN{@tbM&>AlJrp_hXatThAzof!toAGrB6uH@4|y5O+sKc z?<4p6r`bYiA9ohnBA%V879RLqhhwr;iE2m`d z%o>Zl^2cnQ3Z(VrQWwD-$LO!VJlw8({N3{21si(0Wc=f-6lnm>KaNkvYhzEN2dOjo z3Y+O~Ae_XC6vtWk8cK^LMU&KlUXL*wCSaRusLFH&jy#rQ1bU@7Y!HrA0`z~NK^uuL z942IW_YhsUeo;Wrda_nMw4gAnbZBq_;{tyZ1Rx98nQAV0Z)qd2pmhH$!qub^Y!#|; zb~u`cYu;f*Noi&^Eg zSMZ%Xj?8!M;W6==hvbGkq~e-R&87dqTkYz%&7}BiPmGUln!fL@_nCRSBB!{M{03zU zJNexGgx>ZQ4<2FX_YsNgELFX%Znmn>nJ|*Pu2)Knwg48Xwyz zFpA>V>;Bw-67IWABMo4+qG+lGpBk!H4%vOy*5NPj3aH4MNhxb3qy#L*hZxw0h8ZtY zci(vX`gJ9f8>MT1z4`M>_@;wJ2EKzlf+%5G+X~Z4nBLufbjG;IOv-Z8n2R@jW!kN0wh;6h8NQn|} zva71_KBQskd2csvsg>_1Xh!T{Dr*S3O56nO%@FNCKh@?LLzSwE^~DZf9!168)Y?9> zr7j^Xk)g#1ppnt2vIXhYDy?7+5j=URG=XAQMZclt_TUR4`_}DGI(R*=;`=`^~c za6hScL=|qR=XbH07JPU+b#w~13ei0VOqAlUBI{U3J|i(~OAlsGkmJ5G4##ATOcBNArQYX!{6U|1`)D(WFx#bEO@`YCGMPT9)tzNbR$t4E{oz?;3RzPh${D5pE~GWTcX>Uyky zpR%G^R{3d30kPJih>0W}++XGAR-qK++$5CgDc zzv!R%o1c~T&hGnnKMl~k;&d;W1|Jjah-;uA)DWICKC?$CLwZB4OnAXJZj1(qLVCH- z+JjKk%GPLDOAzv0isEN5a-yB(!0G@)q&148Fe-bxy{4Q@N3tMHK6ip!o9r1XN7W=XVXIZ1^EJ3`i5=5zK;aoL4~B&NfQ0a9*Ig9|R-yxR1PE;X zC_04TVH7WVW;x{l*qXb!yqBoMtzW@4ZOM8PgdH}!lzHs|K4?c38TRkqc+LVDHO65nnCe1SlT}z z3owI|H51CwvgFn_qKCt{%CjxlA>9@#s>}){xM$3wmg}|}4XtPyVo<6(Rs#{!2h+$m z!TIO#+j7o~0m}nQ6rK1r*kU%dVN0W-q!_TvKl2L6@gD07^kAE(*`*fGwsA)1a+^On ze?AppZ@0Z*rubdQ(`VVXw>6p48NF>EVtB@nG2VABxMmk;w$xT+YAE1jZaUQKm4L3< zsHt#`{JR!#k>0kZ5IN}^-1A?@ORtsP>3oxaX!qGlg|wziM!*dWg$Q`!I*}qTY)C_3 z0-li5K&Y*fuC0qCjZz0CC<`SvN29o#KD*M_N8luByqS2&|CG1OYKS5`? zI6sHi(Ztpa$)v6oh4V{KAg26Z3Bw1vtrU6eJXkC`fka>CwXH8B?kx)T(X;5$UfbWGJ2+|0`MBk6w|(|0P^6Dcm+xV5 zwp2`r12lvsH*Yt z=2Xnu(bUasKGG_`e|>A_+gq9w-7NokKRY>`Vf(}T$!~-Di_-2Ly>KtUX1)m;qHtH@ z`A*)Jf*s!I#&J#*d)m5K(p3@CitA%=FnFyK#PDv3TJyugM^-;uSy^ovQhuKm;a(e` z<8D#+aEfMlC*()rYlcDtN&-C88pfGfWE;Q)1sB8_bY;Hcs6!=Koev;`=AspW`l8}} zq9JmmMC6(w$aojED$+i{gKrdHWh9L!?$2ntxD#(v$o6XE9^%jBMjOaoV1V|u2 zG#)(3CyZdPn0Z^;^K}ZUtZhB3p7{|%%Np*A0h=iZmxL}yO&h~ z%tJ#pby-V$lZ0k>kzT&vX#cbghXNF6WqnIYY%Jdazg~0-?w|mc2fzn>b_2hTYNqlJ z(}rvW4b?#H(cYR<)U?-fUp*gcrmZBsVy`D!8pVBt&)nvjRdh}hU6bU6!4|)C^StfP zJ&`0Mo&5A!!4xtmTt#||t#pf%U?i<e&D=iWtLD^(?oXiOu@!#ahx^9dJTHt2Odt~z2$Sw%?TWk|Ot zz25C}J<8wH+y-4R|~&@#-!9 zRIPjWh0{{=B_Lsj62HKh6SBZ~u1e8mIF^Z)oktJr3f4atKNKm0R7_j33YH~qe*rU^ zD6+v+1&j)z)Sf?fpJy1*Vy3+eDdMw_@l{g|BZV|g?@3%}>15``ybVV}>1|;-q7%Y% zP~(2gkEBM%D(vV(yb5W9q#3IqQ3xTe73WB{5?v5QU`(TVVT~P$t`aF^s+gc?+Z!21 z#;eiogrPvvv7Mc6Wr(Gm&H0(kf>s&MLu&7XW{SMpIW|3~UR2JZfpPW}KZN{o6m&H} zHR41zLPyCEX$44xZ%djWZHX4q4bH3Nzu+{~bD?FDZtOD58ss{AR7=1pki2G8);1YQ zeXc{X*klU4sMs%Z7SjvC1U+h%974n^`07ahDdiOq2mD34ic=39$ps7A5D z`WEfxYQ%Y7?biFCHcu+_mTtqj~^3!MeCQzC9(;N-L%;utC29 zHmmlJy1)@)^BN39?lnj#NUnZH423uXg=0SBQcP5WA(3KivyV(U?8amOxVQ#szVZNJ z15$`KU5OcfB3SHOUfbim-*$)O7q#>5Q>%>Vil zz4l32lx0eyZ`byR{H%fMyC={G>gcD}(0jv8pT?}wFcv5_^D2VrCsN~q;LwN?~W!H;c92?I(<-FIH z)_V0y*3?*g4d?Yj<+gQ?dV+B>xxFo8%7GR)^IfYoeWcae6EgLaKH=8@kzT-G#cDD_ z8L4b}%(_5{RF=R}e2ciNVGS|^djL!@Z!3&VCv7104AmzS5^%BXm9z9c+$sAX`;Q`f zIU4P#W61O3V4t;cA?*T4mDipiT69LX>pEBURA0vbiZLWGj{qLcHbQ?(om6e|{0DS1 zR(`fRbXPx^_X5+HM(a-ujd+sdt@iPS+yJtbA&<6dvXg=!@95r~G_-rgFEPvc0WyZE>|KN`?k1p! zuj&zr*^<(dO-Zhn_xS4BO^fV)a-kdE^(N1k=~FkpOJJ{GxX+Oi;tU= z76wVmpG4MI+k9R3#Cy@qUvh#^jfyFKa724}ltKTwU1ihf@8sI-U7bxeDLFYuSJqc9 zSIgXZ+skwDaTlX+PP0u*KTH~jzQqe+uAX)D{p|GmX^)=M^_y`8iSb)om9t;eMSa~C z<#9{z@4e%iO53$jEHj7*5orQKR1~Br7Mhe~ltC1P2neAF8AL>25EU4r zge;|nA}}gtL?I#q0z#xK0ue${5hGnd2?;uMNho1SlI3}LcR72{xc7PAZ}0E-owLvU z!4L9~thMsgyIl8m(FPB%(|gyw{aLz(Lzw-pyqRW zf?LpZ<4U9`s1+MWcubjY~LoDXlT^n^5skCA@lk`T=-@^%dn};J<0{ue*Je<(a)|{RN zJi0(yL1m=BMQ{CNI!nn6Eijt`K?K{B1S3gKy@ge;FE6%`H^%qlrOgWE!YsK<%^$30 z8n#he$r^Ch2y@L4h^N*h2>s+)z_k0GsMwOdE#+trNmoz3`O{;E)bUSu52cQ3h7QIeuy_suvXx42u|MS z`q&dQeXTv#18043lD}D?#CJ7C73emQoET3?7!BMWnsYTis*S@L%k+6?W^_w)=9A!( zACSBaf_E7;>PZ1we|6rPHbg>{MfXWke@?BaiN^jsn?R7+Q-|izH&3CJey&sJ1vgP8 z7NG&(MrG16CbyX62x~qhzsp>xp`t3GNcsj{p*qJExc;XnM;XJaHBY%L57A@nX%?(W zX`6xg7e$ZhUaTZUQ4|UEK8N+xT8g1YQ>M0JcbvBk?OK+wpDTJ{UhLH8B`$T-J zr$#@rZOUyLXu_tA=&cRFD3`-A!JHDc(PPy-J&M^Ow#QD=cY<}eVq}=gJ%L&W6F60L zkecw1(Bub-ZZ_;CuHn-g;BZkM2e(Q{gkO#l;9coS94J0LTZ}sk0v*1z0l#4>Ue;H! zYeMV@N`_c-f}2WKd@EGU14G}O-XQll25|tfDm6ExgCI#ZLSCAL%>d~B+BrCJln@7% zH?zuO%LL-2jX>EHS&wv6H`e)#7GGek76xA&VS$_rwu;g`8~;^IxfCd?-bp0LOkOEX z95E-ffRnqB!;Bw3$m@^$T&Kzoz%#^^G${;@54MzZX)?q+!SQ--e5-w763yxzd)rKq zv9}LFi*`8OL;3Q9d9$c}h4GCiUhyuwPT~urlLI^-JS=*87PbFHnalL<`n&XsPrq_| zbl#M>&RL+eZ=c;gy0_Qs_8X#>*MZm7C(GbR-Qsth1auC*l|FQ*ja5B1W5lgs1A-!G zRNf^ol0gDI`Hqvm*I{l5H0o+AEfUsa&i z9@75oO}(KJ>bBi8v-f&2jNskZ9eBgKaEkyUslo+#TBCyOcMOrd12(vgqV$Cqb>`e)Mkb3QRD5(w zXeP=4#I8YW1qJ(f@OZmxDaUNbidsUj^&oHX9k>2QMw8{8;{(b@Y==Lm!x}g+s8NQ+g;_Y4R#(oYn-g|dT!aE zur@?<%VY+MA!)IxOr{v09-!aMo_geAipxIG{L*Wu$$9KC@;hoZeWsmj${!RJ0h7|3 zAI+^!>2F$q_w;~ zw*&`P(8=ea0f^C{1m|*>=iA78>R`VT5M5v|O%HJ$*@|tzj=54#Z?gyu;^GKALR=+E z?40NN+Mu`w4H)8}6HKh4LidF8{hs!;HQ`i*m*G*t&yzq!kV(M;r{D}>fR0EM=ECiV z`WhsOieTByi1WhvA>7$Ey^X{v#uP}Hey1*quQT8&bmKbwy}NeN~|lg-3d~hWPDU>u-$_)Yuw(~ z#@p-mc`{|Km+Kc$>hWk|Q=3AEqRUavH z6pqm}POwjCBT9!xBJ~7;!~g;heT{UC8`PLB1y_L)i8mRGUyw3oqZ#NJa8%pqfxyGY zMbUxAO!8F{mL@c;#q8(i-{Hx&T^UZ(CbF7`cW|lETl*K2EG*&h5ver{bk0h-Z5uk0 zF7b%uE(jyPgDS;iL9A*m=?WmjW`H9tfkqF+#j&Itq)F%C8v;$_b!JdpPzX9<*tnZy zfnt~&j&aa!K`JCmURaAC$rR|dP4t_DF+SkgSsnZ=>4IX9!*pBfkyun5G2Jnw&}$B} zm2=%K$Jz!Jo$mVEr!RfDG#{skjK@umGz;^~b^$lp^;u@lniAJI5?;=RN`{!Sc_QBA z_7O|#sI*gdK}~h$ak&S(_)iK)xpxo6HlO`1!6?1A+Hr~5Iv#$qXtbmI7Sx4*W-%EB3O`F z7LU^-E5KNeTHZ*r=mBQccx_EAS?S%B1Hr!*Xtr-ADvx>a$QgNX4cj-GucUxo z?K&S@p*UT`?H}2b#9K2;X+{s4^3mKjVAX&UWV#g`!43yLHtTx;_4^*q0^hs!DbN!C zuI+k*I!U`5NOHKrJ!TM1xEIJC&=Q=G z!c(HkS#eO{$Od4$Hm6RJ-kqO`azko8=R0@p{xXfll7Ao z>PV@gN({4%q+=fhh)JejE1!YDftm3kln=W z-2}^|&-YUJzua=*q2m{3H+@%D-CN~h`kd!B?9x7}sy4DjsAkO^8-d=f;XeVshi@Y< zn4iF-Uj;sVggT!rs;W#;MJbUic(nMShJA1fdnpq9s~8>I31?Uc$b}qqGHdha*&u^o zxPhsezKLc~DV*!sn?ji>4fQz7#m&p9eGhb8(TK#TU>ovo$pm-J%t>HDvR#QEdP{mh zqo3p1*fqpog5oX^8OZvJ+ynMJ#pIw$y%=R|Bu4oZF^Ut>7HK9?0xz`;%W@l{9+G|l z<`BM#IyjirOQF=6E8MZ-Uxl4~1fa&V(UCrqMX&M|%K7s9-eNS))uu#a1I-Qf6oi3Y z7oPUp(>TI?q9&dj*FHCm>T^91n= zCp^1boUNE5+EuzYZD=?2Gb)i{RJ3kWE3i6ACk9k29L7U!{yKXw3D>)~v*jv~7rlW7Gdk`!`TTVs6K4kp1CQCK zYFQ^~vG+Rd<=sgw!bv)cA0{5RbbWcmN$2$AuDtjX=Mx3mRobr}6?Uh-S8q{4<}>Y6 zMGf0}KX%>KF%&o?c&tBknfB+# zkX6fv{>Vpo%IXh5YO%i&CC&pY$p=&&lnHEBc3~m-yEl|$vb_3RN|irsAxs0Dkj68C zA$ao|7~~a-<{4G9X(Qi2Q#arnsy!3uFkYWUgx|rv_Q`Z?Vs3bR@P@;=Va;=AGlzdF z*E+KAlzW|HN)|NXbx#_6O zsOYhi%q8+k%ait3i^Ntp@bBj|N!y*@7<|$G(#2D6_60tC>Lx6FWverA(6Gj*C{11M z=o^3OQ*X2#>@QirI#oDyd$(S|kVPgpC`O;Y8g^tfZ0OumXA|*&NH|*dc43IAL}a$2 zWk~p7p91&1s=DFrKxs%dtQj%pk;`^mEG7^sE!o@qszeSW^}_{)9v_bF=;-RS4A6RY zDRoTCF8EgJn8qh9YrDDB2cJJ_84d+j4?XL70~n{SpU&N!x4BhoSF4umj`aAQ_icWx zJY*?%@;ZDA1TeWc)-|;~JPkUh1m8xl{*Yh5vGsN64^;su*T&=6kz8aQ_e0g^;>!k$ zJ<8%yBt?PqIkk=4{3N;VTE7NWZUZG3hK^LYgox0`%erS~X6`Q&*aUFuN|98#&bLQU z68?~kL4@S7J14S1ojIqVWi}D3Y8Id~iSM3Nlq>}Jt0CYy6J)9$dOvx3(;UNcMYmwC$hN?=LJ15CW7wx0u~{6U)b`F&9ZwwDgIDtt`Y5vbZCG5&Sy27-HrwUI1+$s}bqk4s_I2|^e z?{DP<1pc%H96?D$S9lUekDjy3dg$)&JbDz);JUYZior?ubTbrgSdlXo6DoUp^_QM@ zg&Nd#%?9a?Ev(n}+1zpI&Az)qitW1!by}_MfAK4BJ!Y-<;AX(dgzIAxT1^hoxkah& z*E4LDD+n4SpwJ6zGM__|#3&1%;q6h@5P8a;%P-5HN>>52M6Y6jxw!4n}*i&cD@lbJoYjDT#j$QA<&2Q4(+(ruNG;gx zF{jmW_`uENSB@t~@^;X6uG1JysH{Kp`{FJ8#9MuK`z~Ef46jnuGA9<7x^ zhE+^r4MRC72~rOaAv!iI>&59O=E(DJ6%KeZq?#eQ6j)8b>{1~H!R)HJEBeQJ))g=ul|05W0jHCq2Qs+x2a>hbOfai{%`D-X0$Ku z3TEE0b~y2S#`e^nlMiykwT>NLZ`Xe_+L5kZsn9p!7Z?;EYsYgxBwrU892^{esgt4H znso831PN*w+s z$Agb0cN_Ng(?Q0yWyrLhxM%vaP^x6`!=Q)77Jk2T_t55onkSJ?#Qex}S-I(2^0_w+ z&xC3p#f*7s3XVcA*TLYspFUp#Xe(l_Jl*8L+<)$+Ms`4kMrN%aXFNaiihf^`IaALp z@XT$7ZGL%OV}7OIqn!cz%lb#itA#54bl-61KzR_wQ@Ima3m35M^0>K9u-C|x`UqOG zg*)5gsq&P|f65M&?teZ2r1xhY zDc0ZbZ>ad#Dm*AywJScLwiEg&^#CB;_A>w%Rs561TKnCj;N4S>MVsQnIsMmaAfTjo14*E0DEol z&^1)f*4SrlFu@)_T$JkPXb%qC=C{e`PCtot50A^umKY`aMxJr?%2Yb};D(J#>@oEl zN;f)tiVL-$M_T?wv}i;&0h>Nz&2wZmw}xUSGeTSM=j?`x0T6L1+2h>)7?6dVc)YVZ zEBBlly0hfx$}AP@$JI%@rz>Ynx(46$tvz}#*0^Wa_;`+AN8rIP2WJYf75r@GoiFv& zs^XX7bK%x^tH;vX>lH13$vA)BGvJrsKP3s~S_Ob8>2DlKYqGoQ)Y-O@u0S1a0k?q| zZpA|-(eyu9v|iz--Jhr>S8%38D#xnch9u6)PNt{7Wd-zSI#axT?oZU1JX#8NnK1mN zHnh0KH%M;RIW-w>LCj9x21JqDMyWG0N+el?ac1Q^?g6s#6utO5Jml+Dz#>wc_xttr zF-wTCe1>(`^!de-qwgp2hF1b(D*N@MvTCi~cK(Rhsl)5=&nIyni4wE4lhdhlGd(#+ z&Z8x>lpO*x?<%9~Zf4Zw8rW+VIjOHt9W{t3P!9F)cJQ2wvA%&zzl3ATvK5<%!fp43 zm=rdJ(acqht*V!82C7tti8_n`w$z&DY-OG$JxO?wBc;f&$(K^G?gJF_Hl{em@yx2E zRK;a{!tTIDfn=P)x$Vyg7WWerpQ#-cJRS@Fue`~BGPfG8)9xRW?T`0UIYa-0PoZE&pcg{CECMP(YqTbBdxm?DSVL zj4r4FD}~hwen1QKF2P{Lw(tXmWQTo0UO#0n)_B@mwpB|r1#GtuIjie+Zj0X+mDYSEv^*gzO%Wn zC1B1myajywc9dvmLgmzfKQ?syt8}WlGPWrX)K~zY;=#QY*0Ue}c}4$?x9nSg|9P%O zC=m`$u;xM$4G>S2Wz$5qi?vJp0mzTaR|gM2>Aa42fXX>T=bJL1NyEJ>#B;O_{HFh1 zG-eIEMZlN-s3#yoKxN()7}*}&BMn{Oa1Baz!?zL_R~eRn&VD#_MTqT z-~GR`Y_b7x!;~{y^kSU>{6TU0(^?<_MUq&{C5gip8{T$sW>Iar``fqz#>*WJt;>;h zmyS%@cRu&|$?59WgryYN9W4os=Mg~!R}u}f*>kP+3k#l!3xFM#)NVIx^=x7c#5W?w zAj=DAZZ$>$utr&P#Sw)SnvG9M-)J)ZDn{rp614aZh*;c)%$X=!>`2pIX2yrcL!m zu>ZQ-zvxw2`Uz87fWo{x0CVLN?sKjjOp zZZ3ETr1Hj0px4D92-jmx|2^fwAIQ+_o*e;!%cmhpTJ9XHt4CFa54NVMUd$U=HOaC2LgijNZs7UHpu@1E~IZ+y*vtxG)$^e_% z-@nKWKvH>Sz5bs5*E0W?P3?c@khtbG)D9Ge;kp$_D=S# zJv6nvNFciMp|Hgd5o7o4|JSx$(pUlXvLC*KyuiiM7mfO+x*_(@q}{;JOB+E6bytK# z+m*k}7At5~LhDSHq%cqSA3MU`C(^%(9ItWOxh{`qF#XyVR_AkX4i z^Jf_5XXF{JZg#wM4WiK2#9G$!6a&k#jX@Wd<^HMVKCl25CmXmG)5z>pt>6vv_ufzM zZ?}{D>u&$jw}18IH)iEuv*Zse@UL0&|2#{kzLmR}!2a2iZy}W)9a+Y@QzrU@M7O|iCb67KPMmYc-4M4QYTRvkXWNYB6;S~ zY&#uz=1U+`@}o!*c!RIaudcX&v{xxW#^uG#C`zDAIs^p418PP1Z#0UDw!#2ev|TY8 z@V`j-fJ0%brc|9>BaHI|*q6sUGmym6;j4dhiHjq=eL&#UuQn~KG^fB{p+>=ouh_@) z7$CTMH1n67!_sRcb|@Ow>^-)_NMZg6&sMhXlDfLQ;lq2VU$N|A)?*{l=B4Rt0It=| z_5LdMThTWgml2>>z6Md95v+kaQ^+sSa1!==?3aYxKR3~6<9}WH-}cd89rA}s^M9s8 z=Flnh#~IUDHa!yXtyaxSBdzrE{A;Cto^m}j{rUh)z-c7o=T?2^vfNKCVO|g4!G|T= zO@B+-#|+ZHl=I02KR!bYn%M_j5=jnI6n~`#NtB?MRD{q$MWys%F|taK=tp2m%8OI17%2f#yU zAT-r=d*TElgdfGp4Ylfc54<^y2j zcpLo;N_d1Cg%-Bhf1?fGzi>kQAG^BP|FDbW8EC*z;zfOT$5vED{|SehV3o0^E4=Q( z8HjQ&vdMf?J1D@g33xz^5~#2ZQ^IpWQheeu@rbE8UZ6d9Y|jF##sd59yvJD8T;ADW zfh~dhRjkrVNDUIo79gLezKWgv9RGt_)Hizn9~=?l?v&{R0@-7NQ zIcve2RW6RG;~GArsrT=XZP{p{(ysI1+-tEt_5?AA@s2){PFT3fd58smdHb=x1ccbLYDpx|760bHzI~Y=&`{@JxA=E`_*X~$e_%%S$0FV6 zxgQz;l;K@QF*IIAIQZ>x^ThG`k@exg)9T@^lu^euC<3s&oDpA{hl{UbN=};m63=Ey zll!P*i}hhHJ(@pkE$gaGI?%S{7MpW=#*))Ok{6_CBTu>eT?wpW3gzzbzpHst^SC0Cs3|JL z`o;lJSIKCy%h?26ToJEbrFh4U+Tz?oXR%0apk?%p1>XCq57|vv{(=>0Wv8J=I)RIK z5(unCM}RyqX%*06It}jT3U%3Fe?ke5rwsIe70Wh2bNPDk&J59x3ObKj2M#^Fm_(_-#&z|Bt%MqOh0TOXs>%;hi;6P*Bjo`L-6Qsvx!w3keK} zG=3Qu+h!_-e~#U(JBw@~md`%tXRnJo+&6s|Ce}C%*CbSySRA>SZvkyFQef`rvii9b z_(w&oZw(Nhrw3+FyeJtvavQ3~2^Dbslb~21OlEO`_z?LGRP}vvkkL#_$vHx``1Des z?}!Q*`(>Xjq>3YXX9yd2qwPLHNP;5@CdjL~E$=tJY3CW)f+~tf$9B|?Du9`A7#)pO zAfrLGDq#eBowYvncR)daiyv0(A_a_KWwX>h-sbYqF$Pm7>752cwg;MP&!&`E6io6r zF&_Gr4^LFn1G_)(rj_*B*!-q(tFw5Xb{ITCF4U+&+IRolurhZ{DCZ4oBXZzy#-KAb zXWVU1nt(v=;G3LH$@Me*^_|}p&n%xH-X_y>rk`TFsLrF8Ik#Rc8kFR_6piXdw9Qs53WIcbogJ3@E`26|6v=-Ut91$ zbZY%I`v2%T|DW_29z=-Ok&T3kqI*IWRCCZ(D&V6R2EpOM4+#^7h$(C_3hJK#L4ROt zabB%u;l!^nwK220>b}iGzpfWISOYufPYpb~f67W_@7gsz|Kj!P%;mOW=S)GpTPt-V zG%@&@?lkqsrmNVa7!~M63>zz0?Fx<8&P>JqDV_CC4*ItWb_hSHDRSe%{jenMTo*rPvJe0a-^%yv|zH6=+22@Hk%)!SBKV{dUR*2o8Nuq zuiVkP(ORPC?nF~&p>zEPgY`ytQ?uL_i<{)UH@~#TC-r=?J20MOcPm|u7=JQZE#HgM z=){-%gqPXe+ce7S_3zHl&`H{&=9+l-ZXP5!WTWzHlYeP?ns zd5wB*q4tYc7CKtnuC3i975s~*5%+8!X9i*;S)ADo{%U5RLWj+gAr>?mx*=(yoLMO% z)Uu>JQxLuQ0b*S6c=>32&?sR~ogT+MNP6;0Qd(7d)kXG)UsMglZ|i3r0(nc7I_xMa z-g5=9HF6iL(0~Hv8`ce2avv7#2L3^V>-*X11rK0BBl__qAWbJQ1k3?CKL(Dhm{?9} zWWMVksR5WSX<~*2kJ|J>`pw)cNXc(GJ3h?26!vX#+ts_hzN%6<+>ODI-=I%_hdprQ15M_{L1Uf=X-b_t$C2b=zxJ(6V1e*gJ4w8F;ZHPg72wWH1 z0G2^012k2p4t)kRWg@Q8joOxy0LeG3nd^tzoUH!m=H(vI6jEXpVHJD=MazY6}jMk>DLNX!P$ z?QBJ-ZvLhif2WG$dpr(TdgMA7-+gBCI$f*#RBz5^ul>Z)Y~_=Eh6j%Xrk-_qWGKTa zV((@3JIMn90hJ@7Oz0dF-T^f;KX&q;3#{n z`Gd369$VBYUfZ;Y+s>DR@j1dZyd%$wU8i)Q0zXJ;h7uF>C{$8)RVdqce~aKUudPW< z16@_nB4x!1YlL8JT1&kq=l7hEdKLaJ+>Gfjz%4+*0RnZQek7CK-}KCow}4$=_Z=H> zIBHIR;1JNZr5#>{#M$N=P;sNeMr|4o2rTRf^^17WYS5nj{=9O&q|Bn$i&N0LK`=#j$xp~G$@-L?^ zp2(=q)$Vk41DtfC#X$rFZteDXBKu`kffEVJR};HNiP0m0HYYxD2+ z&z{!{yiR{z&`5~JiY>C%k^GM*h_+UBWM$&+|o-zT)u_IFm>pWd|<+167sZ*qAF`0=A6+H?wc z3Xx!GwxWh^@he~pfu+!_47RvjJV3lNk}{nuIP`%eiCYJ1qT+K&KfxkiLN^2Y4jVv? z>m<2~?qRkNeMeD@S@H2qXeO)>Mz^Tx_5${a+jZW040;TtKyu0tJ{;mmFS;Eo-&Lp$U#G7+l8lx&J9(k6<)?k{@v~~u)IOwuUP06Ttte!| zx}wRRseM{buJ^e4@yz-SW*6Q)wBC}sk64=)U{CaMD>-GTw-$^rtZn(&gs%c(}$e$>dX+K6dWwriae)Qh6&}|Px0*Nf>q>K)OVgbz)>U# zcZ%+rd5lowpo)xXHix;P{*87UMs zO;H-60aR!h&S+UgkH}b|?(pHb&wh`*Lrdxhh{8Drlqjt!ZY7M^4aB9N2?XY)6!J_91Oz?M=RY$sUcIrr!O@E;~&w#8|(_M>6`0 z@v?SF5)N6eeJ)|z3s8B7dt0{nTQhqgO)}MRfSbQU0JVmIS;LJj;p|qofRj1xN_?4q}!Ly61^iS1?{T8=kmiZD_9iMrj`|BLU#MMsO{>jq)Nd7 zj7;a8Qkc^0hUEI@j=M=y9=O>;MN=kkN*;CudF4&G`6SgX)yC#VT>LIC?Sbs6_Z@Qk zp3&w@a)El5Kwu*ziV840;5+;cU$@+KmVjh=oQ#I0>_%?t!g z7mQKyMuI%@4qKTr-8PzJ)k4O=CHdpC_X4PrxaJfTF#rry6E?==5q*HE5T)qjp^lTBL(Li>T|KDm^40ZgLxrM~@8(!f3%3R^62m1U!huB)SLM zxe70`>-CQDq^}kEn~cRep6r?qnF+S4e_ER`wEP^2>?;B3YcPz znWF4Mo`%4(=jZ81Leod?#NZ!!3WfPE^HBY$0ZF!I8wB8H8y4}Re2mE?LAAjcXh|g( z@Ju=KGj}&mtf(ZZ1Y~dR*7q<+WDuswhFT{|TnIW+O}x4@u*7V)_;p$pQ*mnW!SYwJ zBr}VLhl=3*S?lf(J8fhRyS%cyzz9G7DoxXExGP^>JbQHiq>IZD^p?>Kc5YHDKIQW+ z=Pa}Rm$HaOXL_x5B&=)HTb*(bH*8PaL$=oUe_N~>_j_u@yOYg_<+zpFPw=!O56bp= zzDf*U&QI9&=+%E(9LB>9nj%MWEjWQ}6+xt+GdR_PJvaMh8&)1WZPyDexX`>Q^pDUA zieVJQn|lVuZvkM&i$oBQDzozju!hhSmp_)PzW!sw+!UnnPe^~Jbqco->VE=FtPnlC ze)}(u)1QAg_`<#S{K$I%wG^tUVQXZ-ENZf!wJEQsvblj?7CUEa)YyLc^gMUY4P z)!o(@*d3zzET4s7u4o$Sw6OTF+kc7KU~i1YRbem(`G;6bNJI7-Om>v77_HM>Ka>(6a=?d6)cWOK7*r4p3f;W&=R@wHHC>zH+7D#Zs z9nR}(x2NwuB2^i&&yq+G9>6!^mI3kg+$hiYtC$|Za>V+>S|GScKu(cCZ+%(}5lE|k z70by7X{*=`z|#MbVpPLHFUx;q!4YlHf^m2rX~yfTn5HX7Pq0l5z#n_2PL&Ygv$RO+ z!cK63HVzXZ;N3@<(Nq)$?XOr{6K!UsaHG)Q@Z!W$1~sUcHkSEHtKn_>(4wh;wPz=F z>CS11bg`QkJ@f-U{4uk2}&f(iSA>6rYj49oZ4uL0xa7Mt*85@NRfO*1r5f;w&Ofz6IN1a z+FerVH9DJ!maYrP3s9a-Y1lbM*a-N49Bp_CW!!nj;1Ywmfj~@o9<+=WfQk3A6zQPz ze?U;sWF2=V{FBqc+F<^#UH7ANB&IrSvQK`}>gwwOQWbp9K`p0~+Womo+M!cNdFQI-k7%B4LgnviFH_hnACD;oA$ZwcmscE){j>>^bjZEi3$ir#W4~nWDqH0Ns}| zNkNp}fDvwi3HeCxl;B4pkw=R|wvpQvu;sqVW;ix$V2S@Ld@%x$-1s)7tRbD{(b{HA zM>ARjgGLpjLm>2&GLwO#EL$b%1GY{VBDKveq9);yM*kvHwN7;7Gu@XpsLub~PZ9@W z7~HnlO6oO2nNc%#71F7kF`dF844HB;g}mC)QR)n16qS^Xg^fl;ij0auB8#6>eP>j4 zILDXcVYEU&+aN!whIw0OIT}P!o@Jyx;g%MNHg-Bnb~kx(f4$3jJiKW3Z}y|Q^X6LP4F+zzEe3QAC5;R3 zTHkbtzFUx3obX!f^hJX_yu6b)Pu|}-%k`kmmj}EQK)rWr5-VM2Fe*tKNaxS%B z6nfNXMo}Oww1f-Uta!k!37A3~3h!Ya)KXiRgSUX(cqq^mQ0y1_jTAFcBs1Xfr@U)p zkg+_#BAb9w=DtbcCbm%JF-owCEtm3~`u&&uMD8d*1F(W69qE2fEyoGv!r9K$5j3n_ z)5;uj2kZpQ7?w2sC)z4vu?sgS!E85Ays2Reh|*9Rwm^+P(9eM)qARSZp!}`|jm!O4 zSjqIWU&WN*OCLh+bf_Hd(wjZ2JbX>$Xm2fHp};#K>MA&#WVTZq{UlkfYQs=$aDoeE zR{(zUUBjlANUqIN2-oEbZgji0paPRc92Jeg(vBUPZ@_uFerQlCKuNCv(fn^EWb@_{E4<0l}&?arc1>_{QC z5|s!7M=1jYHsQIshG6vkHIV4M*;99D%Y~z!|~}% zVKm5z?wH|uYj9LtLoG7EGfxvG-(oX6X-N%AqG#k?$RM&wlt*4gGUP6>)&n&e3E~*L zfI^lg1=aVF75vfF*z4qd<0fXnhOhuMYDUUO9?_+`+0I!&)CzWF8zl<^M`mmqslbaV zA{~9J-X~P#&i#%~P^4GsJKvqV)PxPy-EdKFL+-iXg&i9^Nb7kXFNIF=lC zTz+G?x!28r>tcmF$QZ=QIyFQ;1q>BJ|(V`wV%rrDV0fp_}W(FeZM@~NtcewI3eoT zvS-ci_Q&1PURqtbX+Ce;_udMbY|U4w4?Vmw%k8(j20;O?c8)2#{ket3chYrK6N>69 z=M}T-PWd0)#T0oJ#ucWVD6~7#Y@a|ZDn_k0$WgZE`xOe5PtmUv%2S$XDfBXYlL+E~ zs%>wkBIz8EBl4Re*!7x)as&8g{d6Ci1W7}5ldMEC=629yF=FJ`o)SUH&=$xSC3Ore z8g@{0>G?;cp#%!>&uzmw=c|Cg*x6PoS(mqGp2E)ah(r=^ltX1u2cQwuRpHJYGLtHc zJqtw>P>ZvJlu@heGZ>9Y`Wmc1PSM3bjH-Z9BR6AqbK9;VTZMY)N>(F?#vSUfLdgPx zo!cdDQ<_x!(Q40g4%b*Y zWXd_q4Sv# z%*~m-{tkKTT}b*fmT#N7+aHcR9`Mn=k?llz&Ux(WslG}$02qHmx#?v*Uw$KxFk=H2 z-nI<>6ZrNhcJP)b&qU~5y;7dNmd9I)p;ZPjqgmoJDh!aO6h;UFg#Mx|%zl{l9LSgK zq{QnkpyV{0W>lIo?-}i%h?F`RQ0tsAMV5qhc-ljV1X`d-+Fb*y^3aVKT`qm*kU%NG zq^+@%YnPJ;ce80xb$TEsBo2pCX-~yK6)TaT>uH)>9NKf0y9?L9i_`8^ zrfI#YENGX$D>V7-)zd}%!S?J2p5gJ$9DjO%fp$%fuI0TPlaRcZ==V+g^44Qx zurkmH6+w%BrTeLV0$Qd;)edlgY+#MstH~b^pSQQB$o7k@(&+FQP`E=7RKi zs>4qOo}>$+d!(H_BcM~;pau7{?QRIn5GFy6yp;q3wQ(3_7{zXD>d-mH3yMF#zywmA zV7>0-mge&GICeBnmK~?NDcig^RLaJ>Gem{CsnPqP?g>0A#Qs=q$f&h#Ux5uOp5c|_ z`c!wvKG%fTW7_MtQ0rpC;_{9-MHJ=5w4Oe9XjiRWTCeD1ug$KLX?~~o$#1m2!jTlA(Z&k<>!!2{4o0^c|svHF4*CGTg7Z0}t@2yi2D6*Pg|@7QIE%VLru^1~ob z6s3z@NZ0Ou1X%R`%}d&z8Xnkf`d@;Yf#VCna$lbz3a219BZ0@%fl}aQ%*b*HYyg=# zU#H2LRh!7f$2|(1{!FV(tL$A=Dc&5qE~zDB2r93f8lTzuv}Pz+P7$?bCUA$*YOKb& ztS=B8Kp*Hv5WsSJE(#*VK+dF?&o^@`ln&fHSF6zT^f8x$?l;g zzAAqd;b;H4d|57{)GNd5V(&KVwBxsAj2#Pfe=KaYt2$=fVx&`@(in`EHNJzo{ri(s z<{J`>NeY3PKkX9yEbZl7k$3g=zRkvVB}dOLY|~Ctx5&1W^J}qowlD9e1OMZhC<{BD z2R0&LG6-{W5#?Ea2q>P)064lxJq2hk_Q`r3Xb}b6+>AIncQzehYs{xayDwuoyLi6B zW%jJl@OOexxQL|JgN`;}O#`pja!)&0=AJ9Qjue{P4^iXz`LoZ%)t}A2Op+p)4TrO$J+(4MlkLR5uE$dUxL1hSq#&= zdcYXvwovD%D0J@7ZD@YJf7xvbq&)ucEcy_`19?MTaG0iZErC;YqJNbodJ-)G+%_4A z&D#A{Y&;x%lFE}KRv-}p)iZC?6fgv=SJ@)UXE$79(2mapaa_diD*^>z;n1Kn8c@hq&>Yjq24AvaVqe0+Bn7{<; zv;odlqhccVi-pxUrqBgBdnAWTo#QDYs&g!aQV-=7f*`9^B6h4F1+i=P1N7$@ZJ}xw zoV=xgt`xVd^$P*szT$oF0*31!rg-V<1Z)pR7V+E;y1W6LM{k$FXa9dboe4h>250#f z^_1x?su~~8+%&Eed^phji{T9=4{!X_`nt}0m6g#4Q2RNP#GhhhES@-jUZdI9h18W!5Kr%X6>uVZb*v@|yv?jjUftRF`gubk zb%1*zbtj5*%zDqu7&&`_82P5$KfCw;mEZC_>I#}_8)1l!Fy}e_NDyuS7^zj!SMU;dAz{l>Y59H$hKedUGfBjze(Jgx+hWJ+%Z@&`Svzti#j46od1k<&R*{yI_O-(Y0Tc5R3+ueOFq+ z?z}Zn6KPCGFWbob^_~6qulqCH;VNkABRF01ubhNpY>;|j7#;(}na*b^&+*XQ1*pp;wZ%16r$AuRhk{24fCB^hqmuR~W559V7LW&okiQyUIWLDzM zl_{`QoxA~krf>wS2p4c}x=+-04UZ3|fCu!I#9dc#rb<6}$~)zpd0Y{rkySZyt3|Up zuhJvEX|9ipDL!?x^=&loG3m1lY8v}!S9dB)c*Yn=Mx+;AOt|!L%w4m!s4U@9ey;7H zXQz6Ru}OEq;i8Y9n!DdjI-d8(jG;iZe!Arq-~JQh_swC}pL=(V$@Q!IPDsfMMSc+1 znT8%D9f$Wxm+>U|Kfy76JiXD`CRQ|d6QJ`Cx{5`S)rH=?n(3GMq+pmrBk92;x&n|W zkAajMG{~<`0RDV~84S~jhhlg@&#|Z=5dMd+gZaZKJ zFZGjP+a8{>fNuon!KJDSlV8QGlIp}cnw1T;YIa6(kKg^AP<@$_>!@VC>Gi|IslZBC z)6;#CA#?g%Z%dQY$arlrB4%>T}KWci9+T)%+ujZG5qfxHfH1 zDo7o7W`J#i;$|2mj7+p*Mv;)cuY&+^s<5$t_-|R|sOL3~`LA_1FlU!6(T_AT1 zgk^*l(uthe#4t~dZe+_uO|@I*5V6>a8ykyg_E(xp`RP&*CpH@*Dm6W3hkV&nAMEK3nhP1C_N==!kH!~nmfy0~0YQW}35#Aaw2g63v zZIZ?izj@oQS=K z$da4XRO`9{&pa!MUb&-|(4>;G1!SnCfxZ(?xU-Wa%ZAngak!M$AW0zx4&<()`v>CL zo`pO{8!&q7)GxDv8pDpR1-crX!JtZ3p%qAuy(FCnlb(BFy%D{QNDaAzDi5(EkfDB- z{K5dqAT+-P*nDi!ovJKX(svxchOIGS;Yy0V_Lot3vseJad*c}^2!n_rh2?BynVWREF1W9l9{7cP=CWGNMOvpTPR z<=qmhy%X5)+cnZQzk1*|>X@dz$hO%~feA~u&rS8JaO){^Ox96i zj5DF;nIZe+y(l3Sq&-IKcqbnN-tN8gB_E2`+Z$yci-FZy}$3*-SrnH zW;i+LJp0*u?X}lZL5822PYX1fr51vmwE5c^fMj3~f2tkbQg1`!?29fP@)`1))Z5iL zciA^4tZc#~hMv_6&rw!MjY;OfnM!QjiHYE0r((kRx*5}!Y9y1c>AAE>?_RMR-?Ks0 zL$J2Ta4Tsqb)t4>_62P;_~i0n^15Dr1w58emA7;3$UsDlMb`nkc!XpCXVdsV2p#Z$ z846Y+XW&t|qhMTHLsEi0gH{4IgbUcIJ|HXFpfOs`6c`JEi$)Bm6?=)J6cH&fqa~9u zM7L&Dd-|kB!sTuCX0!?Q>V!+-9L2#7UdSE|E^Ydipx9EM+|FEu4F(mHuQ#^UQeKiu z+C(R6u(359@fs80>XV5|!W}|PqSo2VzJ!(I7>ynb=r6(U;ERwz8!p*%l79MP)IQ4m`-DM3op%rJE?&~J| zDxSr+WN13bEVk0P#-Cl(MgjpWbU^GEqub*Fd-H_v#?y?_1~eai6D%qOQ84pomHiOkZdebdkO$x^GnthP~t zk20(Ln{Xa(7|41w6ijaTchKN-q~9*j8Z4#DkV12DWhdV_x2Vsg@h-0v=BA z30NSc)ti{L#_?mh%vG4WltIt&FrV>-ylTp4kgVb~$-QCHc4#Hovg||9qf9pbb@zbq z10oZm3o1=4|3i+*PTDcDUh-SxM$mDPug7vTUf*s;E1OQDme6MCEL)KedN`>YAQX6r3VrmMQGt$Nl64Aw40iou_tFPgALQ?F>J%PnRbS2xslV~ z{ebJtlj;M*R6(pB9O3X3GMdx02U_uK{NX<8RQ~!t3_5Z&G~v{kzQL;TeZ2MisdnK({j6qYRlIh?8B3Mw zs2wzqa;0TX_a5{%dXSQ-2M<4Y$?^b7)UpouJ{CW7%(Dy4bMG#-2r?$AqW8$eSN*aO3IdiYUIGcIF;-t?PPvFV7Uc)O#zcUxe`;xRe^!@ zAjSl&Ozn-JA9z+B>jo!CtubIjIPPTzWKodcKw=|Kl(7FbzxgNTE)DqD*D})m%v$KX zXgxy$zGX@9)N`cc`?$<+jA>A<`hOLG4c--MQePxl@g1D`PZDeS3X%5ppF&pGc4RH5{)N;3h@)ZR$Dee`P{G8kwqIHqstQKYJpX>w7We!@+>tv%ya( zumdxt3k(45?~|I6`z*DQG!VNwntUt}e;`wjXb58{TxViW6M!)db(?Ng8zrf?7YZtQ z$CyYaEwE<6fhw1b(J4Yqnm(m4#sy-t>Ku=X-Z@m?gh6tn_Z9XFCH*;Ne7R#YS8(pm zgvGAhU3$KLSJR?2rLCnbd*ik`r95*BoU-S2`#aMGH~HIpxejrJ)5Y~(_g^_vr|)AT z)ZIyhKEcYB4YJ9F2?e-S_j|9D+;jfO)JD-TYRmIvHCiU4Ry18Kcveo7<90Mn zmd>c}%oOP0D+liN5HN;iF~MMk`5qDsBx4D0{XLKj=;sVkq<9sKZ`$i@*DW?7gcOr@ z_J|GPjy9&kjM-bP$CG}>GzoXHWElBy_~=kOe}C7y?hidq{l_8>)CEpU=kC&!vX58X zJmes!>`+7?%mR=kVP2bf>bf%Deh#&wS>6 z=4Q*DXK#qtPa`_gyb+I~7R|@8%h-8l&UuC-$@QwSi#DWYPEQY7@xDnQkox)&=rsx&Y z$6d!__TTV&zn|)5I_W!h(=7|_7c}p^{E@{PsvTXwDzK|*)GwjwM89^PdU?D&3Ukl{ z$-Vi~+9>K)q#AqnTN7B>Fnm5nwBt^thMIL z&lNhvtIF6fLk9gtX40O@&yKT_zGMzG{`sr&rG#|N_5D+83m&}1=@6xiFglCt0~~Y2j_)M?qNLF{3#=~ z#^NZgh?vs!B`UkPfD$jPk#2Y-F#J?%p15^}elNvYVthAiMPs_^;>%A@ymv}H|M7h% z>!i-q`=lc;h>?2SsO`o2H^%JBg8VKXG;?)Gr6;xUgFA(*v$am#ZVz>0cvSJNL)j-Q zQ~kX52w$M|2j8BFIpg^*Euh`9Lu9XHudwTtE6v(&b+KdJbzrsn5PHfq{A?Q#aS%gg!tVfsCV>x zf)fv5oFm_PGjeHv$!lIRhg7A%CbXbLO7jGX622%4&ff(6L5qi`eA$$RG?vYTbQPeM zwIwsByd3w_6 zUC93;RbwVG#qDk%`;-?hXs`pin~$HHKd&D_i+y^0yLSKXG!MHnW3ko>WuQ>eS90Di z92VT@zU}onGcD`7I8%%3y444}y_IFjc61lBv~F4$E#A*~n2%L;TkCWu$fEOns{YYC z$KN==bNuk+FtZ(xxPL*<*;!&CZVGZ6$cnv3!xf*fA8(Mzp!c9EF#opb)^mya-5SuX z%CwOty$5_74~n=&g71FA5iBhPoiuH5auuquUkgDSN_zgg#wqY^yXzFvWYaby-T^5=U+(~&+r4d))fpKa zRJc`S}KOLCIL &gix9V;_HEG)$Zf6yxJ@Qw=Nx%hc-RW)`F?LU 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

    Parameter

    -

    Description

    -

    -h/help -v/version

    -

    None

    -

    Return Value

    + @@ -70,7 +86,7 @@ hdc\_std -h / hdc\_std help hdc\_std -v / hdc\_std version -- **-t key** +### -t key Connects to a device with a specified key. @@ -96,7 +112,7 @@ Connects to a device with a specified key.

    ②Nothing to do...

    @@ -106,20 +122,20 @@ Examples: This option must be used together with a specific operation command. The following uses the shell command as an example: -hdc\_std list targets \(for obtaining device information\) +**hdc\_std list targets** \(obtain device information\) -hdc\_std -t _key_ shell \(replace _key_ with the obtained device information\) +**hdc\_std -t _key_ shell** \(replace _key_ with the device information obtained\) ->![](public_sys-resources/icon-note.gif) **NOTE:** ->You can connect to multiple devices from the device you use for development. Each device has a unique key, which is _IP address:Port number_ for a device that can be connected through a network and the serial number for a device that can be connected through USB. +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>You can connect to multiple devices from the device you use for development. Each device has a unique key. The key can be _IP address:Port number_ for a device connected through a network or the serial number for a device connected through USB. ## Querying the Device List -The following command is available: +The following command is used to query the device list: -**list targets\[-v\]** +### list targets\[-v\] -Queries all the connected devices. +Displays all the connected devices. **Table 3** Command description @@ -143,7 +159,7 @@ Queries all the connected devices.

    ②[Empty]

    @@ -159,9 +175,9 @@ hdc\_std list targets -v The following commands are available: -- **target mount** +### target mount -Mounts a partition such as **/system** with the read and write permissions. +Mounts a partition, such as **/system**, with the read and write permissions. **Table 4** Command description @@ -195,7 +211,7 @@ Example: hdc\_std target mount -- **smode \[off\]** +### smode \[off\] Grants the root permission to a background service process. The **off** option is used to revoke the granted permission. @@ -205,16 +221,16 @@ hdc\_std smode hdc\_std smode off -- **kill \[-r\]** +### kill \[-r\] Stops a service process. **Table 5** Command description -

    Return Value

    Description

    1. The device does not exist.

    -

    2. The command does not exist.

    +

    2. The command appended to -t key does not exist.

    1. A list of connected devices

    -

    1. No device information is found.

    +

    2. No device information is found.

    Parameter

    + - - - @@ -241,14 +257,14 @@ Example: hdc\_std kill -- **start \[-r\]** +### start \[-r\] -Starts the service process. +Starts a service process. **Table 6** Command description -

    Parameter

    Description

    +

    Description

    -r

    @@ -222,16 +238,16 @@ Stops a service process.

    Triggers the service restart.

    Return Value

    +

    Return Value

    Description

    +

    Description

    ①Kill server finish

    -

    1. Error information

    +

    2. Error information

    1. Information returned when the operation is successful.

    -

    1. The operation fails.

    +

    2. The operation fails.

    diff --git a/en/device-dev/subsystems/subsys-aiframework-devguide.md b/en/device-dev/subsystems/subsys-aiframework-devguide.md new file mode 100644 index 00000000000..b3bd0bb4e3c --- /dev/null +++ b/en/device-dev/subsystems/subsys-aiframework-devguide.md @@ -0,0 +1,11 @@ +# Development Guidelines + +To access the AI engine framework, you need to develop the SDKs and plug-ins shown in [Figure 1](subsys-aiframework-guide.md#fig143186187187). In this way, you can call the APIs provided by the SDKs to call the algorithm capabilities of plug-ins to implement lifecycle management and on-demand deployment of AI capabilities. + +- **[SDK](subsys-aiframework-devguide-sdk.md)** + +- **[Plug-in](subsys-aiframework-devguide-plugin.md)** + +- **[Configuration File](subsys-aiframework-devguide-conf.md)** + + diff --git a/en/device-dev/subsystems/development-environment.md b/en/device-dev/subsystems/subsys-aiframework-envbuild.md similarity index 43% rename from en/device-dev/subsystems/development-environment.md rename to en/device-dev/subsystems/subsys-aiframework-envbuild.md index d8a387f4783..ebfa0e83dca 100644 --- a/en/device-dev/subsystems/development-environment.md +++ b/en/device-dev/subsystems/subsys-aiframework-envbuild.md @@ -1,5 +1,5 @@ # Development Environment 1. Prepare development boards Hi3516D V300 and Hi3518E V300. -2. [Download the source code](https://device.harmonyos.com/en/docs/start/get-code/oem_sourcecode_guide-0000001050769927#EN-US_TOPIC_0000001050769927__section1186691118430). +2. [Download the source code](../get-code/sourcecode-acquire.md). diff --git a/en/device-dev/subsystems/ai-engine-framework.md b/en/device-dev/subsystems/subsys-aiframework-guide.md similarity index 96% rename from en/device-dev/subsystems/ai-engine-framework.md rename to en/device-dev/subsystems/subsys-aiframework-guide.md index e5e3a402912..3e13aeb6227 100644 --- a/en/device-dev/subsystems/ai-engine-framework.md +++ b/en/device-dev/subsystems/subsys-aiframework-guide.md @@ -5,5 +5,5 @@ The AI subsystem of OpenHarmony provides native distributed AI capabilities. At **Figure 1** AI engine framework -![](figures/en-us_image_0000001077727032.png) +![](figure/en-us_image_0000001077727032.png) diff --git a/en/device-dev/subsystems/code-management.md b/en/device-dev/subsystems/subsys-aiframework-tech-codemanage.md similarity index 98% rename from en/device-dev/subsystems/code-management.md rename to en/device-dev/subsystems/subsys-aiframework-tech-codemanage.md index 6dde40c0480..71784ff0934 100644 --- a/en/device-dev/subsystems/code-management.md +++ b/en/device-dev/subsystems/subsys-aiframework-tech-codemanage.md @@ -11,7 +11,7 @@ Code of the AI engine framework consists of three parts: **client**, **server* **Figure 1** Code dependency -![](figures/插件依赖-(2).jpg) +![](figure/插件依赖-(2).jpg) ## Recommendation: Develop plug-ins and northbound SDKs in the directories specified by the AI engine. diff --git a/en/device-dev/subsystems/api-development.md b/en/device-dev/subsystems/subsys-aiframework-tech-interface.md similarity index 100% rename from en/device-dev/subsystems/api-development.md rename to en/device-dev/subsystems/subsys-aiframework-tech-interface.md diff --git a/en/device-dev/subsystems/naming.md b/en/device-dev/subsystems/subsys-aiframework-tech-name.md similarity index 100% rename from en/device-dev/subsystems/naming.md rename to en/device-dev/subsystems/subsys-aiframework-tech-name.md diff --git a/en/device-dev/subsystems/technical-specifications.md b/en/device-dev/subsystems/subsys-aiframework-tech.md similarity index 51% rename from en/device-dev/subsystems/technical-specifications.md rename to en/device-dev/subsystems/subsys-aiframework-tech.md index 6a53ac57a84..ed9edda03a6 100644 --- a/en/device-dev/subsystems/technical-specifications.md +++ b/en/device-dev/subsystems/subsys-aiframework-tech.md @@ -6,10 +6,10 @@ **Recommendation**: a convention that should be considered -- **[Code Management](code-management.md)** +- **[Code Management](subsys-aiframework-tech-codemanage.md)** -- **[Naming](naming.md)** +- **[Naming](subsys-aiframework-tech-name.md)** -- **[API Development](api-development.md)** +- **[API Development](subsys-aiframework-tech-interface.md)** diff --git a/en/device-dev/subsystems/subsys-aiframework.md b/en/device-dev/subsystems/subsys-aiframework.md new file mode 100644 index 00000000000..bdd0b162508 --- /dev/null +++ b/en/device-dev/subsystems/subsys-aiframework.md @@ -0,0 +1,13 @@ +# AI Framework + +- **[AI Engine Framework](subsys-aiframework-guide.md)** + +- **[Development Environment](subsys-aiframework-envbuild.md)** + +- **[Technical Specifications](subsys-aiframework-tech.md)** + +- **[Development Guidelines](subsys-aiframework-devguide.md)** + +- **[Development Examples](subsys-aiframework-demo.md)** + + diff --git a/en/device-dev/subsystems/setting-up-a-development-environment.md b/en/device-dev/subsystems/subsys-application-framework-builden.md similarity index 77% rename from en/device-dev/subsystems/setting-up-a-development-environment.md rename to en/device-dev/subsystems/subsys-application-framework-builden.md index 1fc80b0e712..c7497eb0103 100644 --- a/en/device-dev/subsystems/setting-up-a-development-environment.md +++ b/en/device-dev/subsystems/subsys-application-framework-builden.md @@ -2,6 +2,6 @@ - Development board: Hi3516D V300 -- [Download the source code](../get-code/source-code-acquisition.md). +- [Download the source code](../get-code/sourcecode-acquire.md). - [Build the application framework](https://gitee.com/openharmony/docs/blob/master/en/readme/application-framework.md). diff --git a/en/device-dev/subsystems/development-example.md b/en/device-dev/subsystems/subsys-application-framework-demo.md similarity index 100% rename from en/device-dev/subsystems/development-example.md rename to en/device-dev/subsystems/subsys-application-framework-demo.md diff --git a/en/device-dev/subsystems/development-guidelines-5.md b/en/device-dev/subsystems/subsys-application-framework-guide.md similarity index 99% rename from en/device-dev/subsystems/development-guidelines-5.md rename to en/device-dev/subsystems/subsys-application-framework-guide.md index c86bd7b452b..a4f37e5be36 100644 --- a/en/device-dev/subsystems/development-guidelines-5.md +++ b/en/device-dev/subsystems/subsys-application-framework-guide.md @@ -693,15 +693,15 @@ The packing tool is generally integrated into the development tool or IDE, and y - Example HAP File Structure - Development view - ![](figures/en-us_image_0000001062942690.png) + ![](figure/en-us_image_0000001062942690.png) - Compilation view - ![](figures/en-us_image_0000001062334618.png) + ![](figure/en-us_image_0000001062334618.png) - Run the following commands to pack a HAP file using the packing tool. - ![](figures/en-us_image_0000001062476933.png) + ![](figure/en-us_image_0000001062476933.png) ``` $ java -jar hmos_app_packing_tool.jar --mode hap --json-path ./config.json --assets-path ./assets/ --ability-so-path ./libentry.so --index-path ./resources.index --out-path out/entry.hap --force true diff --git a/en/device-dev/subsystems/overview-4.md b/en/device-dev/subsystems/subsys-application-framework-overview.md similarity index 94% rename from en/device-dev/subsystems/overview-4.md rename to en/device-dev/subsystems/subsys-application-framework-overview.md index be32c8ebf46..a199610651d 100644 --- a/en/device-dev/subsystems/overview-4.md +++ b/en/device-dev/subsystems/subsys-application-framework-overview.md @@ -17,7 +17,7 @@ This section describes some basic concepts for you to better understand the Open The ability management framework manages running status of OpenHarmony applications. **Figure 1** Architecture of the ability management framework -![](figures/architecture-of-the-ability-management-framework.png "architecture-of-the-ability-management-framework") +![](figure/architecture-of-the-ability-management-framework.png "architecture-of-the-ability-management-framework") - **Ability** is the minimum unit for the system to schedule applications. It is a component that can implement an independent functionality. An application can contain one or more **Ability** instances. There are two types of templates that you can use to create an **Ability** instance: Page and Service. - An **Ability using the Page template** \(Page ability for short\) provides a UI for interacting with users. @@ -29,14 +29,14 @@ The ability management framework manages running status of OpenHarmony applicati - An **AbilitySlice** represents a single screen and its control logic. It is specific to Page abilities. A Page ability may contain one ability slice or multiple ability slices that provide highly relevant capabilities. **Figure 2** Relationship between a Page ability and its ability slices - ![](figures/relationship-between-a-page-ability-and-its-ability-slices.png "relationship-between-a-page-ability-and-its-ability-slices") + ![](figure/relationship-between-a-page-ability-and-its-ability-slices.png "relationship-between-a-page-ability-and-its-ability-slices") - **Lifecycle** is a general term for all states of an ability, including **INITIAL**, **INACTIVE**, **ACTIVE**, and **BACKGROUND**. **Figure 3** Lifecycle state transition of a Page ability - ![](figures/图片1.png) + ![](figure/图片1.png) - **OnStart\(\)** @@ -94,7 +94,7 @@ The ability management framework manages running status of OpenHarmony applicati The bundle management framework is provided by OpenHarmony for you to manage application bundles. **Figure 4** Architecture of the bundle management framework -![](figures/architecture-of-the-bundle-management-framework.png "architecture-of-the-bundle-management-framework") +![](figure/architecture-of-the-bundle-management-framework.png "architecture-of-the-bundle-management-framework") - **BundleKit** includes external APIs provided by the Bundle Manager Service, including the APIs for application installation and uninstallation, bundle information query, and bundle state change listeners. - The **bundle scanning sub-module** parses pre-installed or installed bundles on the local device and extracts information from them for the bundle management module to manage and make the information persistent for storage. @@ -110,12 +110,12 @@ The bundle management framework is provided by OpenHarmony for you to manage app The Ability Manager Service and Bundle Manager Service are the core modules of the ability management framework and bundle management framework, respectively. The two system-level services are registered and discovered by using the system service framework SAMgr, and they are used by manage abilities and bundles for other processes. The Ability Manager Service and Bundle Manager Service are provided as open APIs in the AbilityKit and BundleKit. **Figure 5** Startup of the Ability Manager Service and Bundle Manager Service -![](figures/startup-of-the-ability-manager-service-and-bundle-manager-service.png "startup-of-the-ability-manager-service-and-bundle-manager-service") +![](figure/startup-of-the-ability-manager-service-and-bundle-manager-service.png "startup-of-the-ability-manager-service-and-bundle-manager-service") OpenHarmony applications can be installed and started after the two services are started. **Figure 6** Application startup process -![](figures/application-startup-process.png "application-startup-process") +![](figure/application-startup-process.png "application-startup-process") The home screen is the first OpenHarmony application started by the Ability Manager Service. After the home screen is started, the user can touch any installed OpenHarmony application on the home screen to start the particular application. The figure above shows the interaction process of starting an installed application from the home screen. diff --git a/en/device-dev/subsystems/subsys-application-framework.md b/en/device-dev/subsystems/subsys-application-framework.md new file mode 100644 index 00000000000..aeca8dc7dd6 --- /dev/null +++ b/en/device-dev/subsystems/subsys-application-framework.md @@ -0,0 +1,11 @@ +# Application Framework + +- **[Overview](subsys-application-framework-overview.md)** + +- **[Setting Up a Development Environment](subsys-application-framework-builden.md)** + +- **[Development Guidelines](subsys-application-framework-guide.md)** + +- **[Development Example](subsys-application-framework-demo.md)** + + diff --git a/en/device-dev/subsystems/appspawn-module.md b/en/device-dev/subsystems/subsys-boot-appspawn.md similarity index 100% rename from en/device-dev/subsystems/appspawn-module.md rename to en/device-dev/subsystems/subsys-boot-appspawn.md diff --git a/en/device-dev/subsystems/bootstrap-module.md b/en/device-dev/subsystems/subsys-boot-bootstrap.md similarity index 100% rename from en/device-dev/subsystems/bootstrap-module.md rename to en/device-dev/subsystems/subsys-boot-bootstrap.md diff --git a/en/device-dev/subsystems/faqs.md b/en/device-dev/subsystems/subsys-boot-faqs.md similarity index 95% rename from en/device-dev/subsystems/faqs.md rename to en/device-dev/subsystems/subsys-boot-faqs.md index f7acfe005f8..25aa1270b4f 100644 --- a/en/device-dev/subsystems/faqs.md +++ b/en/device-dev/subsystems/subsys-boot-faqs.md @@ -10,7 +10,7 @@ During system startup, the error message "\[Init\] InitReadCfg, parse failed! please check file /etc/init.cfg format." is displayed, and the startup is interrupted, as shown in the following figure. -![](figures/en-us_image_0000001063839940.png) +![](figure/en-us_image_0000001063839940.png) **Cause** @@ -28,7 +28,7 @@ After the image burning is complete, the system keeps restarting. **Cause** -Each service started by the init process has the **importance** attribute, as described in Table 3 in [init Module](init-module.md). +Each service started by the init process has the **importance** attribute, as described in Table 3 in [init Module](subsys-boot-init.md). - If the attribute value is **0**, the init process does not need to restart the development board when the current service process exits. - If the attribute value is **1**, the init process needs to restart the development board when the current service process exits. diff --git a/en/device-dev/subsystems/init-module.md b/en/device-dev/subsystems/subsys-boot-init.md similarity index 100% rename from en/device-dev/subsystems/init-module.md rename to en/device-dev/subsystems/subsys-boot-init.md diff --git a/en/device-dev/subsystems/startup-10.md b/en/device-dev/subsystems/subsys-boot-overview.md similarity index 75% rename from en/device-dev/subsystems/startup-10.md rename to en/device-dev/subsystems/subsys-boot-overview.md index b6ef1916de1..77400377f93 100644 --- a/en/device-dev/subsystems/startup-10.md +++ b/en/device-dev/subsystems/subsys-boot-overview.md @@ -6,7 +6,7 @@ The startup subsystem provides the functions of starting key system processes af - init module - This module corresponds to the init process, which is the first user-space process started after the kernel is initialized. Upon startup, the init process reads and parses the configuration file **init.cfg**. Based on the parsing result, the init module executes the commands listed in Table 2 in [init Module](init-module.md) and starts the key system service processes in sequence with corresponding permissions granted. + This module corresponds to the init process, which is the first user-space process started after the kernel is initialized. Upon startup, the init process reads and parses the configuration file **init.cfg**. Based on the parsing result, the init module executes the commands listed in Table 2 in [init Module](subsys-boot-init.md) and starts the key system service processes in sequence with corresponding permissions granted. - appspawn module @@ -57,26 +57,6 @@ The directories of startup subsystem are applicable to different platforms.

    Parameter

    + @@ -258,9 +274,9 @@ Starts the service process. - - -

    Parameter

    Description

    Restarts the service process if it has started.

    Return Value

    +

    Return Value

    Description

    +

    Description

    None

    @@ -279,7 +295,7 @@ hdc\_std start The following commands are available: -- **tconn _host_\[:_port_\]\[-remove\]** +### tconn _host_\[:_port_\]\[-remove\] Connects to a device with a specified IP address and port number. @@ -320,7 +336,7 @@ Example: hdc\_std tconn 192.168.0.100:8710 -- **tmode usb** +### tmode usb Restarts the daemon process and connects to the device using USB. @@ -356,7 +372,7 @@ Example: hdc\_std tmode usb -- **tmode port _port-number_** +### tmode port _port-number_ Restarts the daemon process and connects to the device over TCP. @@ -392,14 +408,14 @@ Example: hdc\_std tmode port 8710 ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >After this command is executed, the remote daemon process exits and restarts, and the TCP connection is enabled by default. If you do not include **port-number** in this command, a random port will be used to connect to the device. ## File Commands The following commands are available: -- **file send _local remote_** +### file send _local remote_ Sends a file to a remote device. @@ -440,7 +456,7 @@ Example: hdc\_std file send E:\\a.txt /data/local/tmp/a.txt -- **file recv \[-a\] _remote local_** +### file recv \[-a\] _remote local_ Receives a file from a remote device. @@ -490,7 +506,7 @@ hdc\_std file recv /data/local/tmp/a.txt ./a.txt The following commands are available: -- **install \[-r/-d/-g\] _package_** +### install \[-r/-d/-g\] _package_ Installs the OpenHarmony application. @@ -519,7 +535,7 @@ Installs the OpenHarmony application.

    -g

    Dynamic permission granting

    +

    Grants permission dynamically

    Return Value

    @@ -537,11 +553,11 @@ Installs the OpenHarmony application.
    -Examples: +Example: hdc\_std install _hwadmin.hap_ -- **uninstall \[-k\] _package_** +### uninstall \[-k\] _package_ Uninstalls the OpenHarmony application. @@ -586,7 +602,7 @@ hdc\_std uninstall _package_ The following commands are available: -- **hilog** +### hilog Obtains logs for debugging. @@ -620,7 +636,7 @@ Example: hdc\_std hilog -- **shell \[_command_\]** +### shell \[_command_\] Executes a command remotely or enters an interactive command environment. @@ -654,3 +670,37 @@ Examples: hdc\_std shell +## Troubleshooting + +### hdc\_std Fails to Connect to a Device + +- **Symptom** + + **\[Empty\]** is displayed in the output after the **hdc\_std list targets** command is executed. + +- **Solutions** + 1. The device cannot be identified. + + Check whether **HDC Device** exists in the universal serial bus device of the device manager. If **HDC Device** does not exist, the device cannot be connected. In this case, remove and then insert the device or burn the latest image for the device. + + 2. hdc\_std works improperly. + + Run the **hdc kill** or **hdc start -r** command to kill or restart the hdc service. Then, run the **hdc list targets** command to check whether device information can be obtained. + + 3. hdc\_std does not match the device. + + If the latest image is burnt on the device, the latest hdc\_std version must be used. As hdc\_std is updated continuously, obtain hdc\_std of the latest version from the **developtools\_hdc\_standard** repository in the **prebuilt** directory. + + + +## hdc\_std Fails to Run + +- **Symptom** + + The **hdc\_std.exe** file does not run after being clicked. + +- **Solutions** + + **hdc\_std.exe** requires no installation. It can be directly used on a disk or added to environment variables. Open the cmd window and run the **hdc\_std** command to use **hdc\_std.exe**. + + diff --git a/en/device-dev/subsystems/utils-overview.md b/en/device-dev/subsystems/oem_subsys_utils_des.md similarity index 100% rename from en/device-dev/subsystems/utils-overview.md rename to en/device-dev/subsystems/oem_subsys_utils_des.md diff --git a/en/device-dev/subsystems/utils-faq.md b/en/device-dev/subsystems/oem_subsys_utils_faq.md similarity index 100% rename from en/device-dev/subsystems/utils-faq.md rename to en/device-dev/subsystems/oem_subsys_utils_faq.md diff --git a/en/device-dev/subsystems/utils-development-guidelines.md b/en/device-dev/subsystems/oem_subsys_utils_guide.md similarity index 97% rename from en/device-dev/subsystems/utils-development-guidelines.md rename to en/device-dev/subsystems/oem_subsys_utils_guide.md index 3c93cc03c0e..48a566a1a92 100644 --- a/en/device-dev/subsystems/utils-development-guidelines.md +++ b/en/device-dev/subsystems/oem_subsys_utils_guide.md @@ -237,7 +237,7 @@ printf("UtilsDeleteValue delete ret = %d\n", ret); - Add resource files in the **res/drawable** directory based on the following directory structure. - ![](figures/unnaming.png) + ![](figure/unnaming.png) - Compress the **libLauncher.so**, **config.json**, and resource files into a ZIP package and change the file name extension to **.hap**, for example, **Launcher.hap**. @@ -264,7 +264,7 @@ printf("UtilsDeleteValue delete ret = %d\n", ret); ``` **Figure 1** Output of the system attribute dumping command for the LiteOS Cortex-M kernel - ![](figures/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png "output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel") + ![](figure/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel.png "output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-m-kernel") ### Dumping System Attributes on the Platform That Uses the LiteOS Cortex-A Kernel @@ -288,6 +288,6 @@ printf("UtilsDeleteValue delete ret = %d\n", ret); ``` **Figure 2** Output of the system attribute dumping command for the LiteOS Cortex-A kernel - ![](figures/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png "output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel") + ![](figure/output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel.png "output-of-the-system-attribute-dumping-command-for-the-liteos-cortex-a-kernel") diff --git a/en/device-dev/subsystems/public_sys-resources/icon-caution.gif b/en/device-dev/subsystems/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/subsystems/public_sys-resources/icon-danger.gif b/en/device-dev/subsystems/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/subsystems/public_sys-resources/icon-note.gif b/en/device-dev/subsystems/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/en/device-dev/subsystems/public_sys-resources/icon-notice.gif b/en/device-dev/subsystems/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/en/device-dev/subsystems/r-d-tools.md b/en/device-dev/subsystems/r-d-tools.md deleted file mode 100644 index 03f6b950d21..00000000000 --- a/en/device-dev/subsystems/r-d-tools.md +++ /dev/null @@ -1,9 +0,0 @@ -# R&D Tools - -- **[bytrace Usage Guidelines](bytrace-usage-guidelines.md)** - -- **[hdc\_std Usage Guidelines](hdc_std-usage-guidelines.md)** - -- **[hdc\_std FAQs](hdc_std-faqs.md)** - - diff --git a/en/device-dev/subsystems/sensors.md b/en/device-dev/subsystems/sensors.md deleted file mode 100644 index 1cb5c1ea4cc..00000000000 --- a/en/device-dev/subsystems/sensors.md +++ /dev/null @@ -1,9 +0,0 @@ -# Sensors - -- **[Sensors Overview](sensors-overview.md)** - -- **[Sensors Usage Guidelines](sensors-usage-guidelines.md)** - -- **[Sensors Usage Example](sensors-usage-example.md)** - - diff --git a/en/device-dev/subsystems/startup.md b/en/device-dev/subsystems/startup.md deleted file mode 100644 index 5a2025350a8..00000000000 --- a/en/device-dev/subsystems/startup.md +++ /dev/null @@ -1,17 +0,0 @@ -# Startup - -- **[Startup](startup-10.md)** - -- **[init Module](init-module.md)** - -- **[appspawn Module](appspawn-module.md)** - -- **[bootstrap Module](bootstrap-module.md)** - -- **[syspara Module](syspara-module.md)** - -- **[FAQs](faqs.md)** - -- **[Reference](reference.md)** - - diff --git a/en/device-dev/subsystems/kws-configuration-file.md b/en/device-dev/subsystems/subsys-aiframework-demo-conf.md similarity index 100% rename from en/device-dev/subsystems/kws-configuration-file.md rename to en/device-dev/subsystems/subsys-aiframework-demo-conf.md diff --git a/en/device-dev/subsystems/kws-plug-in.md b/en/device-dev/subsystems/subsys-aiframework-demo-plugin.md similarity index 100% rename from en/device-dev/subsystems/kws-plug-in.md rename to en/device-dev/subsystems/subsys-aiframework-demo-plugin.md diff --git a/en/device-dev/subsystems/kws-sdk.md b/en/device-dev/subsystems/subsys-aiframework-demo-sdk.md similarity index 98% rename from en/device-dev/subsystems/kws-sdk.md rename to en/device-dev/subsystems/subsys-aiframework-demo-sdk.md index 50cbbfb0fbf..969d35269f7 100644 --- a/en/device-dev/subsystems/kws-sdk.md +++ b/en/device-dev/subsystems/subsys-aiframework-demo-sdk.md @@ -75,7 +75,7 @@ The preceding code is the specific API implementation. The **create** function in the API of the KWS SDK calls the open **AieClientInit** and **AieClientPrepare** APIs provided by the client to connect to the server and load the algorithm model. For details, see the implementation of the **create** method in following sections. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >The sequence for the SDK to call client APIs: **AieClientInit** -\> **AieClientPrepare** -\> **AieClientSyncProcess** or **AieClientAsyncProcess** -\> **AieClientRelease** -\> **AieClientDestroy**. An exception will be thrown if the call sequence is violated. diff --git a/en/device-dev/subsystems/development-examples.md b/en/device-dev/subsystems/subsys-aiframework-demo.md similarity index 82% rename from en/device-dev/subsystems/development-examples.md rename to en/device-dev/subsystems/subsys-aiframework-demo.md index 8c5964da013..0dd54a375ed 100644 --- a/en/device-dev/subsystems/development-examples.md +++ b/en/device-dev/subsystems/subsys-aiframework-demo.md @@ -4,10 +4,10 @@ For your better understanding, a KWS application is used as an example to walk y This example uses a fixed keyword **Hi, xiaowen** for illustration. If the input audio contains **Hi, xiaowen**, the application prints **\[Hi, xiaowen\]**; otherwise, the application prints **\[UNKNOWN\]**. -- **[KWS SDK](kws-sdk.md)** +- **[KWS SDK](subsys-aiframework-demo-sdk.md)** -- **[KWS Plug-in](kws-plug-in.md)** +- **[KWS Plug-in](subsys-aiframework-demo-plugin.md)** -- **[KWS Configuration File](kws-configuration-file.md)** +- **[KWS Configuration File](subsys-aiframework-demo-conf.md)** diff --git a/en/device-dev/subsystems/configuration-file.md b/en/device-dev/subsystems/subsys-aiframework-devguide-conf.md similarity index 100% rename from en/device-dev/subsystems/configuration-file.md rename to en/device-dev/subsystems/subsys-aiframework-devguide-conf.md diff --git a/en/device-dev/subsystems/plug-in.md b/en/device-dev/subsystems/subsys-aiframework-devguide-plugin.md similarity index 100% rename from en/device-dev/subsystems/plug-in.md rename to en/device-dev/subsystems/subsys-aiframework-devguide-plugin.md diff --git a/en/device-dev/subsystems/sdk.md b/en/device-dev/subsystems/subsys-aiframework-devguide-sdk.md similarity index 98% rename from en/device-dev/subsystems/sdk.md rename to en/device-dev/subsystems/subsys-aiframework-devguide-sdk.md index 5cc0b855635..f185750d0f6 100644 --- a/en/device-dev/subsystems/sdk.md +++ b/en/device-dev/subsystems/subsys-aiframework-devguide-sdk.md @@ -126,8 +126,8 @@ The function of the SDK header file is implemented by mapping SDK API calls to c

    long long clientVersion: Indicates client version number. This parameter is not used currently.

    int clientId: Indicates the client ID.

    int sessionId: Indicates the session ID.

    -

    uid_t serverUid: Indicates the server UID.

    -

    uid_t clientUid: Indicates the client UID.

    +

    uid_t serverUid: Indicates the UID of the server.

    +

    uid_t clientUid: Indicates the UID of the client.

    int extendLen: Indicates the length of the extended information (extendMsg).

    unsigned char *extendMsg: Indicates the body of the extended information.

    - - - - - - - - - - - - -

    Directory

    -

    Applicable Platform

    -

    base/startup/startup

    -

    Large-system devices (reference memory ≥ 1 GB)

    -

    base/startup/systemrestore

    -

    Large-system devices (reference memory ≥ 1 GB)

    -
    - - init module - After being burnt to the development board, the configuration file **init.cfg** changes to read-only. If you want to modify the file, you must repack and burn the rootfs image again. - The configuration file **init.cfg** must be in JSON format. diff --git a/en/device-dev/subsystems/reference.md b/en/device-dev/subsystems/subsys-boot-ref.md similarity index 100% rename from en/device-dev/subsystems/reference.md rename to en/device-dev/subsystems/subsys-boot-ref.md diff --git a/en/device-dev/subsystems/syspara-module.md b/en/device-dev/subsystems/subsys-boot-syspara.md similarity index 100% rename from en/device-dev/subsystems/syspara-module.md rename to en/device-dev/subsystems/subsys-boot-syspara.md diff --git a/en/device-dev/subsystems/subsys-boot.md b/en/device-dev/subsystems/subsys-boot.md new file mode 100644 index 00000000000..b8f465d3606 --- /dev/null +++ b/en/device-dev/subsystems/subsys-boot.md @@ -0,0 +1,17 @@ +# Startup + +- **[Startup](subsys-boot-overview.md)** + +- **[init Module](subsys-boot-init.md)** + +- **[appspawn Module](subsys-boot-appspawn.md)** + +- **[bootstrap Module](subsys-boot-bootstrap.md)** + +- **[syspara Module](subsys-boot-syspara.md)** + +- **[FAQs](subsys-boot-faqs.md)** + +- **[Reference](subsys-boot-ref.md)** + + diff --git a/en/device-dev/subsystems/subsys-build-mini-lite.md b/en/device-dev/subsystems/subsys-build-mini-lite.md new file mode 100644 index 00000000000..5d95a69ed43 --- /dev/null +++ b/en/device-dev/subsystems/subsys-build-mini-lite.md @@ -0,0 +1,998 @@ +# Building Guidelines for Mini and Small Systems + +- [Overview](#section10958256161119) + - [Basic Concepts](#section1732301411128) + - [Directory Structure](#section1588744014121) + - [Build Process](#section15761735134) + +- [Configuration Rules](#section2345183962710) + - [Module](#section142532518308) + - [Chipset](#section121501451143710) + - [Product](#section134549283435) + +- [Usage Guidelines](#section13754457192211) + - [Prerequisites](#section31651120233) + - [Using hb](#section1133304172313) + - [Adding a Module](#section167110415315) + - [Adding a Chipset Solution](#section1474718565412) + - [Adding a Product Solution](#section1097623294220) + +- [Troubleshooting](#section19909721104319) + - [Invalid -- w Option](#section138233464318) + - [Library ncurses Not Found](#section151033911442) + - [mcopy not Found](#section19811838104418) + - [No riscv File or Directory](#section03111118451) + - [No Crypto](#section69981127125013) + - [Unexpected Operator](#section967617530505) + + +## Overview + +The Compilation and Building subsystem is a build framework that supports module-based OpenHarmony development using Generate Ninja \(GN\) and Ninja. You can use this subsystem to: + +- Assemble modules for a product and build the product. + +- Build chipset source code independently. +- Build a single module independently. + +### Basic Concepts + +Learn the following concepts before you start compilation and building: + +- Subsystem + + A subsystem is a logical concept. It consists of one or more modules. OpenHarmony is designed with a layered architecture, which consists of the kernel layer, system service layer, framework layer, and application layer from bottom to top. System functions are developed by the level of system, subsystem, and module. In a multi-device deployment scenario, you can customize subsystems and modules as required. + + +- Module + + A module is a reusable, configurable, and tailorable function unit. Each module has an independent directory, and multiple modules can be developed concurrently and built and tested independently. + +- **GN** + + Generate Ninja \(GN\) is used to generate Ninja files. + +- **Ninja** + + Ninja is a small high-speed build system. + +- **hb** + + hb is a command line tool for OpenHarmony to execute build commands. + + +### Directory Structure + +``` +build/lite +├── components # Module description file +├── figures # Figures in the readme file +├── hb # hb pip installation package +├── make_rootfs # Script used to create the file system image +├── config # Build configuration +│ ├── component # Module-related template definition +│ ├── kernel # Kernel-related build configuration +│ └── subsystem # Subsystem build configuration +├── platform # ld script +├── testfwk # Test build framework +└── toolchain # Build toolchain configuration, which contains the compiler directories, build options, and linking options +``` + +### **Build Process** + +[Figure 1](#fig9744112715161) shows the build process. + +**Figure 1** Build process +![](figure/build-process.jpg "build-process") + +1. Use **hb set **to set the OpenHarmony source code directory and the product to build. +2. Use **hb build** to build the product, development board, or module. The procedure is as follows: + - Read the **config.gni** file of the development board selected. The file contains the build toolchain, linking commands, and build options. + - Run the **gn gen** command to read the product configuration and generate the **out** directory and **ninja** files for the solution. + - Run **ninja -C out/board/product** to start the build. + - Package the build result, set the file attributes and permissions, and create a file system image. + + +## Configuration Rules + +To ensure that the chipset and product solutions are pluggable and decoupled from OpenHarmony, the paths, directory trees, and configuration of modules, chipset solutions, and product solutions must comply with the following rules: + +### **Module** + +The source code directory for a module is named in the _\{Domain\}/\{Subsystem\}/\{Module\}_ format. The module directory tree is as follows: + +>![](../public_sys-resources/icon-caution.gif) **CAUTION:** +>Define module attributes, such as the name, source code directory, function description, mandatory or not, build targets, RAM, ROM, build outputs, adapted kernels, configurable features, and dependencies, in the JSON file of the subsystem in the **build/lite/components** directory. When adding a module, add its definition to the JSON file of the corresponding subsystem. The module configured for a product must have been defined in a subsystem. Otherwise, the verification will fail. + +``` +component +├── interfaces +│ ├── innerkits # APIs exposed internally among modules +│ └── kits # App APIs provided for app developers +├── frameworks # Framework implementation +├── services # Service implementation +└── BUILD.gn # Build script +``` + +The following example shows how to define attributes of the sensor module of the pan-sensor subsystem: + +``` +{ + "components": [ + { + "component": "sensor_lite", # Module name + "description": "Sensor services", # Brief description of the module + "optional": "true", # Whether the module is mandatory for the system + "dirs": [ # Source code directory of the module + "base/sensors/sensor_lite" + ], + "targets": [ # Build entry of the module + "//base/sensors/sensor_lite/services:sensor_service" + ], + "rom": "92KB", # Module ROM + "ram": "~200KB", # Module RAM (estimated) + "output": [ "libsensor_frameworks.so" ], # Module build outputs + "adapted_kernel": [ "liteos_a" ], # Adapted kernel for the module + "features": [], # Configurable features of the module + "deps": { + "components": [ # Other modules on which the module depends + "samgr_lite", + "ipc_lite" + + ], + "third_party": [ # Open-source third-party software on which the module depends + "bounds_checking_function" + ] + } + } + ] +} +``` + +Observe the following rules when building the **BUILD.gn** module: + +- The build target name must be the same as the module name. +- Define the configurable features in the **BUILD.gn** file of the module. Name the configurable features in the **ohos\_**\{_subsystem_\}**\_**\{_module_\}**\_**\{_feature_\} format. Define the features in module description and configure them in the **config.json** file. +- Define macros in the **OHOS\_**\{_SUBSYSTEM_\}**\_**\{_MODULE_\}**\_**\{_FEATURE_\} format. + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >GN is used as the build script language for modules. For details about how to use GN, see the [GN Quick Start Guide](https://gn.googlesource.com/gn/+/master/docs/quick_start.md). In GN, a module is a build target, which can be a static library, a dynamic library, an executable file, or a group. + + +The following example shows how to build the **foundation/graphic/ui/BUILD.gn** file for a graphics UI module: + +``` + # Declare the configurable features of the module + declare_args() { + enable_ohos_graphic_ui_animator = false # Animation switch + ohos_ohos_graphic_ui_font = "vector" # Configurable font type, which can be vector or bitmap + } + + # Basic module functions + shared_library("base") { + sources = [ + ...... + ] + include_dirs = [ + ...... + ] + } + + # Build only when the animator is enabled + if(enable_ohos_graphic_ui_animator ) { + shared_library("animator") { + sources = [ + ...... + ] + include_dirs = [ + ...... + ] + deps = [ :base ] + } + } + ...... + # It is recommended that the target name be the same as the module name, which can be an executable .bin file, shared_library (.so file), static_library (.a file), or a group. + executable("ui") { + deps = [ + ":base" + ] + + # The animator feature is configured by the product. + if(enable_ohos_graphic_ui_animator ) { + deps += [ + "animator" + ] + } + } +``` + +### **Chipset** + +- The chipset solution is a complete solution based on a development board. The solution includes the drivers, API adaptation, and SDK. +- The chipset solution is a special module, whose source code directory is named in the _**device**/\{Chipset solution vendor\}/\{Development board\}_ format. +- The chipset solution module is built by default based on the development board selected by the product. + +The chipset solution directory tree is as follows: + +``` +device +└── company # Chipset solution vendor + └── board # Name of the development board + ├── BUILD.gn # Build script + ├── hals # Southbound APIs for OS adaptation + ├── linux # Linux kernel version (optional) + │ └── config.gni # Build options for the Linux version + └── liteos_a # LiteOS kernel version (optional) + └── config.gni # Build options for the LiteOS Cortex-A version +``` + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>The **config.gni** file contains build-related configurations of the development board. The parameters in the file are globally visible to the system and can be used to build all OS modules during the build process. + +The **config.gni** file contains the following key parameters: + +``` +kernel_type: kernel used by the development board, for example, liteos_a, liteos_m, or linux. +kernel_version: kernel version used by the development board, for example, 4.19. +board_cpu: CPU of the development board, for example, cortex-a7 or riscv32. +board_arch: chipset architecture of the development board, for example, armv7-a or rv32imac. +board_toolchain: name of the customized build toolchain used by the development board, for example, gcc-arm-none-eabi. If this field is not specified, ohos-clang will be used by default. +board_toolchain_prefix: prefix of the build toolchain, for example, gcc-arm-none-eabi. +board_toolchain_type: build toolchain type, for example, gcc or clang. Currently, only GCC and clang are supported. +board_cflags: build options of the .c file configured for the development board. +board_cxx_flags: build options of the .cpp file configured for the development board. +board_ld_flags: link options configured for the development board. +``` + +### **Product** + +The product solution is a complete product based on a development board. It includes the OS adaptation, module assembly configuration, startup configuration, and file system configuration. The source code directory of a product solution is named in the **vendor**/\{_Product solution vendor_\}/\{_Product name_\} format. A product solution is also a special module. + +The product solution directory tree is as follows: + +``` +vendor +└── company # Product solution vendor + ├── product # Product name + │ ├── init_configs + │ │ ├── etc # Startup configuration of the init process (only required for the Linux kernel) + │ │ └── init.cfg # System service startup configuration + │ ├── hals # OS adaptation + │ ├── BUILD.gn # Product build script + │ └── config.json # Product configuration file + │ └── fs.yml # File system packaging configuration + └── ...... +``` + +>![](../public_sys-resources/icon-caution.gif) **CAUTION:** +>Create directories and files based on the preceding rules for new products. The Compilation and Building subsystem scans the configured products based on the rules. + +The key directories and files are described as follows: + +1. **vendor/company/product/init\_configs/etc** + + This folder contains the **rcS**, **S**_xxx_, and **fstab** scripts. The **init** process runs the **rcS**, **fstab**, and **S**_00_-_xxx_ scripts in sequence before starting system services. The **S**_xxx_ script contains content related to the development board and product. It is used to create device nodes and directories, scan device nodes, and change file permissions. These scripts are copied from the **BUILD.gn** file to the **out** directory of the product as required and packaged into the **rootfs** image. + +2. **vendor/company/product/init\_configs/init.cfg** + + This file is the configuration file for the **init** process to start services. Currently, the following commands are supported: + + - **start**: starts a service. + - **mkdir**: creates a folder. + - **chmod**: changes the permission on a specified directory or file. + - **chown**: changes the owner group of a specified directory or file. + - **mount**: mounts a device. + + The fields in the file are described as follows: + + ``` + { + "jobs" : [{ # Job array. A job corresponds to a command set. Jobs are executed in the following sequence: pre-init > init > post-init. + "name" : "pre-init", + "cmds" : [ + "mkdir /storage/data", # Create a directory. + "chmod 0755 /storage/data", # Change the permission, which is in 0xxx format, for example, 0755. + "mkdir /storage/data/log", + "chmod 0755 /storage/data/log", + "chown 4 4 /storage/data/log", # Change the owner group. The first number indicates the UID, and the second indicates the GID. + ...... + "mount vfat /dev/mmcblock0 /sdcard rw, umask=000" # The command is in the mount [File system type][source] [target] [flags] [data] format. + # Currently, flags can only be nodev, noexec, nosuid, or rdonly. + ] + }, { + "name" : "init", + "cmds" : [ # Start services based on the sequence of the cmds array. + "start shell", # Note that there is only one space between start and the service name. + ...... + "start service1" + ] + }, { + "name" : "post-init", # Job that is finally executed. Operations performed after the init process is started, for example, mounting a device after the driver initialization. + "cmds" : [] + } + ], + "services" : [{ # Service array. A service corresponds to a process. + "name" : "shell", # Service name + "path" : ["/sbin/getty", "-n", "-l", "/bin/sh", "-L", "115200", "ttyS000", "vt100"], # Full path of the executable file. It must start with "path". + "uid" : 0, # Process UID, which must be the same as that in the binary file. + "gid" : 0, # Process GID, which must be the same as that in the binary file. + "once" : 0, # Whether the process is a one-off process. 1: The proces is a one-off process. The init process does not restart it after the process exits. 0: The process is not a one-off process. The init process restarts it if the process exits. + "importance" : 0, # Whether the process is a key process. 1: The process is a key process. If it exits, the init process restarts the board. 0: The process is not a key process. If it exits, the init process does not restart the board. + "caps" : [4294967295] + }, + ...... + ] + } + ``` + +3. **vendor/company/product/init\_configs/hals** + + This file stores the content related to OS adaptation of the product. For details about APIs for implementing OS adaptation, see the readme file of each module. + +4. **vendor/company/product/config.json** + + The **config.json** file is the main entry for the build and contains configurations of the development board, OS modules, and kernel. + + The following example shows the **config.json** file of the IP camera developed based on the hispark\_taurus development board: + + ``` + { + "product_name": "ipcamera", # Product name + "ohos_version": "OpenHarmony 1.0", # OS version + "device_company": "hisilicon", # Chipset vendor + "board": "hispark_taurus", # Name of the development board + "kernel_type": "liteos_a", # Kernel type + "kernel_version": "3.0.0", # Kernel version + "subsystems": [ + { + "subsystem": "aafwk", # Subsystem + "components": [ + { "component": "ability", "features":[ "enable_ohos_appexecfwk_feature_ability = true" ] } # Module and its features + ] + }, + { + ...... + } + ...... + More subsystems and modules + } + } + ``` + +5. **vendor/company/product/fs.yml** + + This file packages the build result to create a configuration file system image, for example, **rootfs.img** \(user-space root file system\) and **userfs.img** \(readable and writable file\). It consists of multiple lists, and each list corresponds to a file system. The fields are described as follows: + + ``` + fs_dir_name: (Mandatory) declares the name of the file system, for example, rootfs or userfs. + fs_dirs: (Optional) configures the mapping between the file directory in the out directory and the system file directory. Each file directory corresponds to a list. + source_dir: (Optional) specifies the target file directory in the out directory. If this field is missing, an empty directory will be created in the file system based on target_dir. + target_dir: (Mandatory) specifies the corresponding file directory in the file system. + ignore_files: (Optional) declares ignored files during the copy operation. + dir_mode: (Optional) specifies the file directory permission, which is set to 755 by default. + file_mode: (Optional) declares permissions of all files in the directory, which is set to 555 by default. + fs_filemode: (Optional) configures files that require special permissions. Each file corresponds to a list. + file_dir: (Mandatory) specifies the detailed file path in the file system. + file_mode: (Mandatory) declares file permissions. + fs_symlink: (Optional) configures the soft link of the file system. + fs_make_cmd: (Mandatory) creates the file system script. The script provided by the OS is stored in the build/lite/make_rootfs directory. Linux, LiteOS, ext4, jffs2, and vfat are supported. Chipset vendors can also customize the script as required. + fs_attr: (Optional) dynamically adjusts the file system based on configuration items. + ``` + + The **fs\_symlink** and **fs\_make\_cmd** fields support the following variables: + + - $\{root\_path\} + + Code root directory, which corresponds to **$\{ohos\_root\_path\}** of GN + + - $\{out\_path\} + + **out** directory of the product, which corresponds to **$\{root\_out\_dir\}** of GN + + - $\{fs\_dir\} + + File system directory, which consists of the following variables + + - $\{root\_path\} + - $\{fs\_dir\_name\} + + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >**fs.yml** is optional and does not need to be configured for devices without a file system. + +6. **vendor/company/product/BUILD.gn** + + This file is the entry for building the source code of the solution vendor and copying the startup configuration file. The **BUILD.gn** file in the corresponding product directory will be built by default if a product is selected. The following example shows how to build the **BUILD.gn** file of a product: + + ``` + group("product") { # The target name must be the same as the product name (level-3 directory name under the product directory). + deps = [] + # Copy the init configuration. + deps += [ "init_configs" ] + # Others + ...... + } + ``` + + +## Usage Guidelines + +### Prerequisites + +The development environment has GN, Ninja, Python 3.7.4 or later, and hb available. For details about installation methods, see [Environment Setup](../quick-start/quickstart-lite-env-setup.md). + +### Using hb + +**hb** is a command line tool for OpenHarmony to execute build commands. Common hb commands are described as follows: + +**hb set** + +``` +hb set -h +usage: hb set [-h] [-root [ROOT_PATH]] [-p] + +optional arguments: + -h, --help show this help message and exit + -root [ROOT_PATH], --root_path [ROOT_PATH] + Set OHOS root path + -p, --product Set OHOS board and kernel +``` + +- **hb set** \(without argument\): starts the default setting process. +- **hb set -root** _dir_: sets the root directory of the code. +- **hb set -p**: sets the product to build. + +**hb env** + +Displays the current configuration. + +``` +hb env +[OHOS INFO] root path: xxx +[OHOS INFO] board: hispark_taurus +[OHOS INFO] kernel: liteos +[OHOS INFO] product: ipcamera +[OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera +[OHOS INFO] device path: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19 +``` + +**hb build** + +``` +hb build -h +usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]] + [--dmverity] [--tee] [-p PRODUCT] [-f] [-n] + [-T [TARGET [TARGET ...]]] [-v] [-shs] [--patch] + [component [component ...]] + +positional arguments: + component name of the component + +optional arguments: + -h, --help show this help message and exit + -b BUILD_TYPE, --build_type BUILD_TYPE + release or debug version + -c COMPILER, --compiler COMPILER + specify compiler + -t [TEST [TEST ...]], --test [TEST [TEST ...]] + compile test suit + --dmverity Enable dmverity + --tee Enable tee + -p PRODUCT, --product PRODUCT + build a specified product with + {product_name}@{company}, eg: camera@huawei + -f, --full full code compilation + -n, --ndk compile ndk + -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]] + Compile single target + -v, --verbose show all command lines while building + -shs, --sign_haps_by_server + sign haps by server + --patch apply product patch before compiling + + --dmverity Enable dmverity + -p PRODUCT, --product PRODUCT + build a specified product with + {product_name}@{company}, eg: ipcamera@hisilcon + -f, --full full code compilation + -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]] + Compile single target +``` + +- **hb build** \(without argument\): builds the code based on the configured code directory, product, and options. The **-f** option deletes all products to be built, which is equivalent to running **hb clean** and **hb build**. +- **hb build** _\{module\_name\}_: builds a product module separately based on the development board and kernel set for the product, for example, **hb build kv\_store**. +- **hb build -p ipcamera@hisilicon**: skips the **set** step and builds the product directly. +- You can run **hb build** in **device/device\_company/board** to select the kernel and start the build based on the current development board and the selected kernel to generate an image that contains the kernel and driver only. + +**hb clean** + +You can run **hb clean** to clear the build result of the product in the **out** directory and retain the **args.gn** and **build.log** files only. To clear files in a specified directory, add the directory parameter to the command, for example, **hb clean out/xxx/xxx**. + +``` +hb clean +usage: hb clean [-h] [out_path] + +positional arguments: + out_path clean a specified path. + +optional arguments: + -h, --help show this help message and exit +``` + +### Adding a Module + +To add a module, determine the subsystem to which the module belongs and the module name, and then perform the following steps: + +1. Add the module build script after the source code development is complete. + + The following example adds the **BUILD.gn** script \(stored in the **applications/sample/hello\_world** directory\) to build the **hello\_world** module \(as an executable file\). + + ``` + executable("hello_world") { + include_dirs = [ + "include", + ] + sources = [ + "src/hello_world.c" + ] + } + ``` + + The above script is used to build **hello\_world** that can run on OpenHarmony. + + To build the preceding module separately, select a product via the **hb set** command and run the **-T** command. + + ``` + hb build -f -T //applications/sample/hello_world + ``` + + After the module functions are verified on the development board, perform steps [2 to 4](#li11471037297) to configure the module to the product. + +2. Add module description. + + The module description is stored in the **build/lite/components** directory. New modules must be added to the JSON file of the corresponding subsystem. The module description must contain the following fields: + + - **module**: name of the module + - **description**: brief description of the module + - **optional**: whether the module is optional + - **dirs**: source code directory of the module + - **targets**: module build entry + + For example, to add the **hello\_world** module to the application subsystem, add the **hello\_world** object to the **applications.json** file. + + ``` + { + "components": [ + { + "component": "hello_world", + "description": "Hello world.", + "optional": "true", + "dirs": [ + "applications/sample/hello_world" + ], + "targets": [ + "//applications/sample/hello_world" + ] + }, + ... + ] + } + ``` + +3. Configure the module for the product. + + The **config.json** file is stored in the **vendor/company/product/** directory. The file must contain the product name, OpenHarmony version, device vendor, development board, kernel type, kernel version, and the subsystem and module to configure. The following example adds the **hello\_world** module to the **my\_product.json** configuration file: + + ``` + { + "product_name": "hello_world_test", + "ohos_version": "OpenHarmony 1.0", + "device_company": "hisilicon", + "board": "hispark_taurus", + "kernel_type": "liteos_a", + "kernel_version": "1.0.0", + "subsystems": [ + { + "subsystem": "applications", + "components": [ + { "component": "hello_world", "features":[] } + ] + }, + ... + ] + } + ``` + +4. Build the product. + + 1. Run the **hb set** command in the root code directory and select the product. + + 2. Run the **hb build** command. + + +### Adding a Chipset Solution + +The following uses the RTL8720 development board provided by Realtek as an example. To a chipset solution, perform the following steps: + +1. Create a directory for the chipset solution. + + To create a directory based on [1-Configuration Rules for Modules, Chipset Solutions, and Product Solutions](#section1625463413327), run the following command in the root code directory: + + ``` + mkdir -p device/realtek/rtl8720 + ``` + +2. Create a directory for kernel adaptation and build the **config.gni** file of the development board. + + For example, to adapt the LiteOS Cortex-M kernel to the RTL8720 development board, configure the **device/realtek/rtl8720/liteos\_a/config.gni** file as follows: + + ``` + # Kernel type, e.g. "linux", "liteos_a", "liteos_m". + kernel_type = "liteos_a" + + # Kernel version. + kernel_version = "3.0.0" + + # Board CPU type, e.g. "cortex-a7", "riscv32". + board_cpu = "real-m300" + + # Board arch, e.g. "armv7-a", "rv32imac". + board_arch = "" + + # Toolchain name used for system compiling. + # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. + # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. + board_toolchain = "gcc-arm-none-eabi" + + # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. + board_toolchain_path = + rebase_path("//prebuilts/gcc/linux-x86/arm/gcc-arm-none-eabi/bin", + root_build_dir) + + # Compiler prefix. + board_toolchain_prefix = "gcc-arm-none-eabi-" + + # Compiler type, "gcc" or "clang". + board_toolchain_type = "gcc" + + # Board related common compile flags. + board_cflags = [] + board_cxx_flags = [] + board_ld_flags = [] + ``` + +3. Build the script. + + Create the **BUILD.gn** file in the development board directory. The target name must be the same as that of the development board. The content in the **device/realtek/rtl8720/BUILD.gn** file is configured as follows: + + ``` + group("rtl8720") { # The target can be shared_library, static_library, or an executable file. + # Content + ...... + } + ``` + +4. Build the chipset solution. + + Run the **hb build** command in the development board directory to start the build. + + +### Adding a Product Solution + +You can use the Compilation and Building subsystem to customize product solutions by assembling chipset solutions and modules. The procedure is as follows: + +1. Create a product directory. + + The following uses the Wi-Fi IoT module on the RTL8720 development board as an example. Run the following command in the root code directory to create a product directory based on [1-Configuration Rules for Modules, Chipset Solutions, and Product Solutions](#section1625463413327): + + ``` + mkdir -p vendor/my_company/wifiiot + ``` + +2. Assemble the product. + + Create the **config.json** file in the product directory. The **vendor/my\_company/wifiiot/config.json** file is as follows: + + ``` + { + "product_name": "wifiiot", # Product name + "ohos_version": "OpenHarmony 1.0", # OS version + "device_company": "realtek", # Name of the chipset solution vendor + "board": "rtl8720", # Name of the development board + "kernel_type": "liteos_m", # Kernel type + "kernel_version": "3.0.0", # Kernel version + "subsystems": [ + { + "subsystem": "kernel", # Subsystem + "components": [ + { "component": "liteos_m", "features":[] } # Module and its features + ] + }, + ... + { + More subsystems and modules + } + ] + } + ``` + + Before the build, the Compilation and Building subsystem checks the validity of fields, including **device\_company**, **board**, **kernel\_type**, **kernel\_version**, **subsystem**, and **component**. The **device\_company**, **board**, **kernel\_type**, and **kernel\_version** fields must match the current chipset solution, and **subsystem** and **component** must match the module description in the **build/lite/components** file. + +3. Implement adaptation to OS APIs. + + Create the **hals** directory in the product directory and store the source code as well as the build script for OS adaptation in this directory. + +4. Configure the system service. + + Create the **init\_configs** directory in the product directory and then the **init.cfg** file in the newly created directory. Configure the system service to be started. + +5. \(Optional\) Configure the init process only for the Linux kernel. + + Create the **etc** directory in the **init\_configs** directory, and then the **init.d** folder and the **fstab** file in the newly created directory. Then, create the **rcS** and **S**_xxx_ files in the **init.d** file and edit them based on product requirements. + +6. \(Optional\) Configure the file system image only for the development board that supports the file system. + + Create the **fs.yml** file in the product directory and configure it as required. A typical **fs.yml** file is as follows: + + ``` + - + fs_dir_name: rootfs # Image name + fs_dirs: + - + # Copy the files in the out/my_board/my_product/bin directory to the rootfs/bin directory and ignore the .bin files related to testing. + source_dir: bin + target_dir: bin + ignore_files: + - Test.bin + - TestSuite.bin + - + # Copy the files in the out/my_board/my_product/libs directory to the rootfs/lib directory, ignore all .a files, and set the file permissions to 644 and folder permissions 755. + source_dir: libs + target_dir: lib + ignore_files: + - .a + dir_mode: 755 + file_mode: 644 + - + source_dir: usr/lib + target_dir: usr/lib + ignore_files: + - .a + dir_mode: 755 + file_mode: 644 + - + source_dir: config + target_dir: etc + - + source_dir: system + target_dir: system + - + source_dir: sbin + target_dir: sbin + - + source_dir: usr/bin + target_dir: usr/bin + - + source_dir: usr/sbin + target_dir: usr/sbin + - + # Create an empty proc directory. + target_dir: proc + - + target_dir: mnt + - + target_dir: opt + - + target_dir: tmp + - + target_dir: var + - + target_dir: sys + - + source_dir: etc + target_dir: etc + - + source_dir: vendor + target_dir: vendor + - + target_dir: storage + + fs_filemode: + - + file_dir: lib/ld-uClibc-0.9.33.2.so + file_mode: 555 + - + file_dir: lib/ld-2.24.so + file_mode: 555 + - + file_dir: etc/init.cfg + file_mode: 400 + fs_symlink: + - + # Create the soft link ld-musl-arm.so.1 -> libc.so in the rootfs/lib directory. + source: libc.so + link_name: ${fs_dir}/lib/ld-musl-arm.so.1 + - + source: mksh + link_name: ${fs_dir}/bin/sh + - + source: mksh + link_name: ${fs_dir}/bin/shell + fs_make_cmd: + # Create an ext4 image for the rootfs directory using the script. + - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 + - + fs_dir_name: userfs + fs_dirs: + - + source_dir: storage/etc + target_dir: etc + - + source_dir: data + target_dir: data + fs_make_cmd: + - ${root_path}/build/lite/make_rootfs/rootfsimg_linux.sh ${fs_dir} ext4 + + ``` + +7. \(Optional\) Configure patches if the product and modules need to be patched. + + Create the **patch.yml** file in the product directory and configure it as required. A typical **patch.yml** file is as follows: + + ``` + # Directory in which the patch is to be installed + foundation/communication/dsoftbus: + # Directory in which the patch is stored + - foundation/communication/dsoftbus/1.patch + - foundation/communication/dsoftbus/2.patch + third_party/wpa_supplicant: + - third_party/wpa_supplicant/1.patch + - third_party/wpa_supplicant/2.patch + - third_party/wpa_supplicant/3.patch + ... + ``` + + If you add **--patch** when running the **hb build** command, the patch file can be added to the specified directory before the build. + + ``` + hb build -f --patch + ``` + +8. Build the script. + + Create the **BUILD.gn** file in the product directory and write the script. The following **BUILD.gn** file uses the Wi-Fi IoT module in [1](#li1970321162111) as an example: + + ``` + group("wifiiot") { # The target name must be the same as the product name. + deps = [] + # Copy the init configuration. + deps += [ "init_configs" ] + # Build the hals directory. + deps += [ "hals" ] + # Others + ...... + } + ``` + +9. Build the product. + + Run the **hb set** command in the code root directory, select the new product as prompted, and run the **hb build** command. + + +## Troubleshooting + +### Invalid -- w Option + +- **Symptom** + + The build fails, and "usr/sbin/ninja: invalid option -- w" is displayed. + +- **Cause** + + The Ninja version in the build environment is outdated and does not support the **--w** option. + +- **Solution** + + Uninstall Ninja and GN and follow the instructions provided in [IDE](../get-code/gettools-ide.md) to install Ninja and GN of the required version. + + +### Library ncurses Not Found + +- **Symptom** + + The build fails, and "/usr/bin/ld: cannot find -lncurses" is displayed. + +- **Cause** + + The ncurses library is not installed. + +- **Solution** + + ``` + sudo apt-get install lib32ncurses5-dev + ``` + + +### mcopy not Found + +- **Symptom** + + The build fails, and "line 77: mcopy: command not found" is displayed. + +- **Cause** + + mcopy is not installed. + +- **Solution** + + ``` + ​sudo apt-get install dosfstools mtools + ``` + + +### No riscv File or Directory + +- **Symptom** + + The build fails, and the following information is displayed: + + riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory. + +- **Cause** + + Permission is required to access files in the **riscv** compiler directory. + +- **Solution** + + Run the following command to query the directory where **gcc\_riscv32** is located: + + ``` + which riscv32-unknown-elf-gcc + ``` + + Run the **chmod** command to change the directory permission to **755**. + + +### No Crypto + +- **Symptom** + + The build fails, and "No module named 'Crypto'" is displayed. + +- **Cause** + + Crypto is not installed in Python 3. + +- **Solution** + 1. Run the following command to query the Python version: + + ``` + python3 --version + ``` + + 2. Ensure that Python 3.7 or later is installed, and then run the following command to install pycryptodome: + + ``` + sudo pip3 install pycryptodome + ``` + + + +### Unexpected Operator + +- **Symptom** + + The build fails, and "xx.sh \[: xx unexpected operator" is displayed. + +- **Cause** + + The build environment is shell, not bash. + +- **Solution** + + ``` + sudo rm -rf /bin/sh + sudo ln -s /bin/bash /bin/sh + ``` + + diff --git a/en/device-dev/subsystems/compilation-and-building-guidelines-1.md b/en/device-dev/subsystems/subsys-build-standard-large.md similarity index 58% rename from en/device-dev/subsystems/compilation-and-building-guidelines-1.md rename to en/device-dev/subsystems/subsys-build-standard-large.md index eddc2c96aae..e1a47c1b132 100644 --- a/en/device-dev/subsystems/compilation-and-building-guidelines-1.md +++ b/en/device-dev/subsystems/subsys-build-standard-large.md @@ -1,18 +1,81 @@ -# Compilation and Building Guidelines +# Building Guidelines for Standard Systems -- [Directory Structure](#section56731811102915) -- [Building](#section1069873833818) - - [Build Command](#section2740182614395) +- [Overview](#section17466112012244) + - [Basic Concepts](#section445513507246) + - [Working Principles](#section12541217142510) + - [Limitations and Constraints](#section886933762513) -- [How to Develop](#section4207112818418) +- [Compilation and Building Guidelines](#section16901215262) + - [Directory Structure](#section109065332264) + - [Build Command](#section123265539266) + - [How to Develop](#section591084422719) -## Directory Structure + +## Overview + +The compilation and building subsystem provides a framework based on Generate Ninja \(GN\) and Ninja. This subsystem allows you to: + +- Build products based on different chipset platforms, for example, Hi3516D V300. + +- Package capabilities required by a product by assembling modules based on the product configuration. + +### Basic Concepts + +It is considered best practice to learn the following basic concepts before you start building: + +- **Platform** + + A platform is a combination of development boards and kernels. + + Supported subsystems and modules vary according to the platform. + +- **Subsystems** + + OpenHarmony is designed with a layered architecture, which from bottom to top consists of the kernel layer, system service layer, framework layer, and application layer. System functions are expanded by levels, from system to subsystem, and further to module. In a multi-device deployment scenario, unnecessary subsystems and modules can be excluded from the system as required. A subsystem is a logical concept and is a flexible combination of functions. + +- **Module** + + A module is a reusable software binary unit that contains source code, configuration files, resource files, and build scripts. A module can be built independently, integrated in binary mode, and then tested independently. + +- **GN** + + GN is short for Generate Ninja, which is used to generate Ninja files. + +- **Ninja** + + Ninja is a small high-speed build system. + + +### Working Principles + +The process to build OpenHarmony is as follows: + +- Parsing commands: Parse the name of the product to build and load related configurations. +- Running GN: Configure toolchains and global options based on the parsed product name and compilation type. +- Running Ninja: Start building and generate a product distribution. + +### Limitations and Constraints + +- You must download the source code using method 3 described in [Source Code Acquisition](../get-code/sourcecode-acquire.md). +- The build environment must be Ubuntu 18.04 or later. +- You must install the software package required for build. + + The installation command is as follows: + + ``` + sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 + ``` + + +## Compilation and Building Guidelines + +### Directory Structure ``` /build # Primary directory ├── config # Build configuration items ├── core -│ └── gn # Build entry configuration +│ └── gn # Build entry BUILD.gn configuration ├── loader # Loader of module configuration, which also generates a template for the module ├── ohos # Configuration of the process for building and packaging OpenHarmony │ ├── kits # Build and packaging templates and processing flow for kits @@ -27,9 +90,7 @@ └── toolchain # Toolchain configuration ``` -## Building - -### Build Command +### Build Command - Run the following command in the root directory of the source code to build the full distribution: @@ -51,13 +112,13 @@ ``` -## How to Develop +### How to Develop 1. Add a module. The following steps use a custom module as an example to describe how to build the module, including build a library, an executable file, and a configuration file. - The example module **partA** consists of **feature1**, **feature2**, and **feature3**. The target of **feature1** is a dynamic library, that of **feature2** is an executable file, and that of **feature3** is an etc configuration file. + The example module **partA** consists of **feature1**, **feature2**, and **feature3**. The target is a dynamic library for **feature1**, an executable file for **feature2**, and an etc configuration file for **feature3**. Add **partA** to a subsystem, for example, **subsystem\_examples** \(defined in the **test/examples/** directory\). @@ -127,7 +188,7 @@ } ``` - Example 4: Adding the module configuration file **test/examples/ohos.build** to the **ohos.build** file of this subsystem. Each subsystem has an **ohos.build** file in its root directory. + Example 4: Adding the module configuration file **test/examples/ohos.build** to the **ohos.build** file of this subsystem. Each subsystem has an **ohos.build** file in its root directory. Example: ``` "partA": { @@ -157,9 +218,11 @@ 2. Add the module to the product configuration file. - Add **"subsystem\_examples:partA"** to the configuration file **productdefine/common/products/\{product-name\}.json** to build and package **partA** into the distribution. + Add the module to the product configuration file **productdefine/common/products/\{product-name\}.json**. + + Add "subsystem\_examples:partA" to the product configuration file. **partA** will be built and packaged into the distribution. -3. Build the module, including the library, executable file, and etc configuration file. +3. Build the module. For example, run the following command to build Hi3516D V300: @@ -169,6 +232,6 @@ 4. Obtain the build result. - Files generated during the build are stored in the **out/ohos-arm-release/** directory, and the generated image is stored in the **out/ohos-arm-release/packages/phone/images/** directory. + Files generated during the build process are stored in the **out/ohos-arm-release/** directory, and the generated image is stored in the **out/ohos-arm-release/packages/phone/images/** directory. diff --git a/en/device-dev/subsystems/subsys-build.md b/en/device-dev/subsystems/subsys-build.md new file mode 100644 index 00000000000..8af635290fe --- /dev/null +++ b/en/device-dev/subsystems/subsys-build.md @@ -0,0 +1,7 @@ +# Compilation and Building + +- **[Building Guidelines for Mini and Small Systems](subsys-build-mini-lite.md)** + +- **[Building Guidelines for Standard Systems](subsys-build-standard-large.md)** + + diff --git a/en/device-dev/subsystems/sensors-usage-example.md b/en/device-dev/subsystems/subsys-densor-demo.md similarity index 100% rename from en/device-dev/subsystems/sensors-usage-example.md rename to en/device-dev/subsystems/subsys-densor-demo.md diff --git a/en/device-dev/subsystems/sensors-usage-guidelines.md b/en/device-dev/subsystems/subsys-densor-guide.md similarity index 92% rename from en/device-dev/subsystems/sensors-usage-guidelines.md rename to en/device-dev/subsystems/subsys-densor-guide.md index f3e692948c0..74a27dfd84c 100644 --- a/en/device-dev/subsystems/sensors-usage-guidelines.md +++ b/en/device-dev/subsystems/subsys-densor-guide.md @@ -25,7 +25,7 @@ void SensorDataCallbackImpl(SensorEvent *event) } ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >The callback must be of the RecordSensorCallback type. 1. Obtain the list of sensors supported by the device. @@ -55,7 +55,7 @@ int32_t ret = ActivateSensor(0, &sensorUser); int32_t ret = SubscribeSensor(0, &sensorUser); ``` ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Till now, you can obtain the sensor data via the callback. 1. Unsubscribe from the sensor data. diff --git a/en/device-dev/subsystems/sensors-overview.md b/en/device-dev/subsystems/subsys-densor-overview.md similarity index 99% rename from en/device-dev/subsystems/sensors-overview.md rename to en/device-dev/subsystems/subsys-densor-overview.md index df576eafc34..89b94333035 100644 --- a/en/device-dev/subsystems/sensors-overview.md +++ b/en/device-dev/subsystems/subsys-densor-overview.md @@ -9,7 +9,7 @@ The pan-sensor service subsystem provides a lightweight sensor service framework **Figure 1** Sensor service framework -![](figures/en-us_image_0000001077724150.png) +![](figure/en-us_image_0000001077724150.png) - Sensor API: provides APIs for performing basic operations on sensors, including querying the sensor list, subscribing to or unsubscribing from sensor data, and executing control commands. This module makes application development simpler. - Sensor Framework: manages sensor data subscription, creates and destroys data channels, and implements communication with the Sensor Service module. diff --git a/en/device-dev/subsystems/subsys-densor.md b/en/device-dev/subsystems/subsys-densor.md new file mode 100644 index 00000000000..590bc4c9665 --- /dev/null +++ b/en/device-dev/subsystems/subsys-densor.md @@ -0,0 +1,9 @@ +# Sensors + +- **[Sensors Overview](subsys-densor-overview.md)** + +- **[Sensors Usage Guidelines](subsys-densor-guide.md)** + +- **[Sensors Usage Example](subsys-densor-demo.md)** + + diff --git a/en/device-dev/subsystems/development-guidelines-on-hilog_lite.md b/en/device-dev/subsystems/subsys-dfx-hilog-lite.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-hilog_lite.md rename to en/device-dev/subsystems/subsys-dfx-hilog-lite.md diff --git a/en/device-dev/subsystems/development-guidelines-on-hilog.md b/en/device-dev/subsystems/subsys-dfx-hilog-rich.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-hilog.md rename to en/device-dev/subsystems/subsys-dfx-hilog-rich.md diff --git a/en/device-dev/subsystems/development-guidelines-on-hisysevent.md b/en/device-dev/subsystems/subsys-dfx-hisysevent.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-hisysevent.md rename to en/device-dev/subsystems/subsys-dfx-hisysevent.md diff --git a/en/device-dev/subsystems/subsys-dfx-hisyseventread.md b/en/device-dev/subsystems/subsys-dfx-hisyseventread.md new file mode 100644 index 00000000000..bd59a05b872 --- /dev/null +++ b/en/device-dev/subsystems/subsys-dfx-hisyseventread.md @@ -0,0 +1,103 @@ +# HiSysEvent订阅指导 + +- [概述](#section315316685112) +- [接口说明](#section0342191810519) +- [开发实例](#section123181432175110) + +## 概述 + +The HiSysEvent provides the cross-process subscription mechanism. You can register the subscription interface. + +## 接口说明 + +**Table 1** HiSysEvent订阅接口 + + + + + + + + + + + + + +

    接口名

    +

    描述

    +

    int ISysEventService::AddListener(in SysEventRule[] rules, in ISysEventCallback callback)

    +

    接口功能:订阅HiSysEvent事件。

    +

    输入参数:

    +
    • rules:事件订阅规则
    • callback:订阅回调对象
    +

    返回值:

    +
    • 0:订阅成功,重复订阅
    • 1:订阅成功,初次订阅
    • 其他返回值:订阅失败
    +

    void ISysEventCallback::Handle(in String domain, in String eventName, in int eventType, in String eventDetail)

    +

    接口功能:订阅事件的回调接口。

    +

    输入参数:

    +
    • domain:事件所属领域
    • eventName:事件的名称
    • eventType:事件类型
    • eventDetail:包含事件相关信息的字符串,以json的形式体现
    +

    返回值:无。

    +
    + +**Table 2** SysEventRule订阅规则对象 + + + + + + + + + + + + + + + + +

    属性名称

    +

    描述

    +

    uint32_t ruleType

    +

    规则类型(匹配范围包括domain以及eventName):

    +
    • 1:全字符匹配
    • 2:前缀匹配
    • 3:正则表达式匹配
    • 其他值:无效的匹配方式
    +

    std::string domain;

    +
    • domain:事件所属领域,如果传入的是空字符串,则默认事件领域字段匹配成功
    +

    std::string eventName

    +
    • eventName:事件的名称,如果传入的是空字符串,则默认事件名称字段匹配成功
    +
    + +## 开发实例 + +1. 源代码开发: + + 引入对应的aidl文件,包括:ISysEventService.aidl、SysEventRule.aidl、ISysEventCallback.aidl。 + + 在相应的业务逻辑里面调用ISysEventService::AddListener\(in SysEventRule\[\] rules, in ISysEventCallback callback\)接口。 + + 实现对应的回调对象: + + ISysEventCallback::Handle\(in String domain, in String eventName, in int eventType, in String eventDetail\) + + +1. 源代码开发: + + 引入对应的aidl文件,包括:ISysEventService.aidl、SysEventRule.aidl、ISysEventCallback.aidl。 + + 在相应的业务逻辑里面调用ISysEventService::AddListener\(in SysEventRule\[\] rules, in ISysEventCallback callback\)接口。 + + 实现对应的回调对象: + + ISysEventCallback::Handle\(in String domain, in String eventName, in int eventType, in String eventDetail\) + +2. 编译设置: + +在编译子系统里面,需要依赖libbinder模块 + +aosp\_deps = \[ "shared\_library:libbinder", \] + +- **[bytrace Usage Guidelines](subsys-toolchain-bytrace-guide.md)** + +- **[hdc\_std Usage Guidelines](oem_subsys_toolchain_hdc_guide.md)** + + diff --git a/en/device-dev/subsystems/dfx-11.md b/en/device-dev/subsystems/subsys-dfx-overview.md similarity index 92% rename from en/device-dev/subsystems/dfx-11.md rename to en/device-dev/subsystems/subsys-dfx-overview.md index faf8b0d8fa8..b7bfac023a5 100644 --- a/en/device-dev/subsystems/dfx-11.md +++ b/en/device-dev/subsystems/subsys-dfx-overview.md @@ -6,7 +6,7 @@ The DFX subsystem provides the following functions: -- HiLog: Implements the logging function. It is applicable to Mini-System Devices \(reference memory ≥ 128 KB\), Small-System Devices \(reference memory ≥ 1 MB\), and Standard-System Devices \(reference memory ≥ 128 MB\). +- HiLog: Implements the logging function. It is applicable to Mini-System Devices \(reference memory ≥ 128 KB\) and Small-System Devices \(reference memory ≥ 1 MB\) as well as Standard-System Devices \(reference memory ≥ 128 MB\). - HiSysEvent: Implements system event logging. It is applicable to Standard-System Devices \(reference memory ≥ 128 MB\). diff --git a/en/device-dev/subsystems/subsys-dfx.md b/en/device-dev/subsystems/subsys-dfx.md new file mode 100644 index 00000000000..88a1a79938c --- /dev/null +++ b/en/device-dev/subsystems/subsys-dfx.md @@ -0,0 +1,11 @@ +# DFX + +- **[DFX](subsys-dfx-overview.md)** + +- **[Development Guidelines on HiLog](subsys-dfx-hilog-rich.md)** + +- **[Development Guidelines on HiLog\_Lite](subsys-dfx-hilog-lite.md)** + +- **[Development Guidelines on HiSysEvent](subsys-dfx-hisysevent.md)** + + diff --git a/en/device-dev/subsystems/development-guidelines-on-animators.md b/en/device-dev/subsystems/subsys-graphics-animation-guide.md similarity index 99% rename from en/device-dev/subsystems/development-guidelines-on-animators.md rename to en/device-dev/subsystems/subsys-graphics-animation-guide.md index 0065d820ba5..4bb1a33190f 100644 --- a/en/device-dev/subsystems/development-guidelines-on-animators.md +++ b/en/device-dev/subsystems/subsys-graphics-animation-guide.md @@ -185,6 +185,6 @@ A UI animator is implemented by calling the callback function you set for each t 4. Click the buttons in the lower part of the following figure to verify that the animation effects are as expected. **Figure 1** Animator effect - ![](figures/animator-effect.gif "animator-effect") + ![](figure/animator-effect.gif "animator-effect") diff --git a/en/device-dev/subsystems/development-guidelines-on-container-components.md b/en/device-dev/subsystems/subsys-graphics-bundle-guide1.md similarity index 97% rename from en/device-dev/subsystems/development-guidelines-on-container-components.md rename to en/device-dev/subsystems/subsys-graphics-bundle-guide1.md index 7f4c52c933e..cc2f7518685 100644 --- a/en/device-dev/subsystems/development-guidelines-on-container-components.md +++ b/en/device-dev/subsystems/subsys-graphics-bundle-guide1.md @@ -12,7 +12,7 @@ Container components are capable of containing UI components and inherit from **UIViewGroup**. Components that are commonly used and need to contain child components are placed in the container class inheritance structure. For example, you need to call the **Add** function to add information such as time statistics and icons to **UIAnalogClock**. **Figure 1** Structure of common container components -![](figures/structure-of-common-container-components.png "structure-of-common-container-components") +![](figure/structure-of-common-container-components.png "structure-of-common-container-components") The **RootView**, **UIAbstractScroll**, and **UIPicker** components inherit from **UIViewGroup**, and the **UIList**, **UIScrollView**, and **UISwipeView** components inherit from **UIAbstractScroll**. @@ -23,7 +23,7 @@ The **RootView**, **UIAbstractScroll**, and **UIPicker** components inherit **UIViewGroup** is a base class for container components. For example, you can call the functions in this class to add, remove, and insert container components. Also, you can call the **Add** function to add child components for a container component. You need to set the position information for child components in a common container component. The position information is the coordinates relative to those of their parent component. The following figure shows the tree structure of components. **Figure 2** Component tree structure -![](figures/component-tree-structure.png "component-tree-structure") +![](figure/component-tree-structure.png "component-tree-structure") As shown in the figure, the container component **ViewGroup1** and the component **View1** are added to **RootView**, the component **View2** and the container component **ViewGroup2** are added to **ViewGroup1**, and then the component **View3** \(as a sibling of **View1**\) is also added to **ViewGroup1**. @@ -126,7 +126,7 @@ As shown in the figure, the container component **ViewGroup1** and the compone 4. The following figure shows the effect of adding view instances to a **ViewGroup**. **Figure 3** Effect of adding view instances to a ViewGroup - ![](figures/effect-of-adding-view-instances-to-a-viewgroup.png "effect-of-adding-view-instances-to-a-viewgroup") + ![](figure/effect-of-adding-view-instances-to-a-viewgroup.png "effect-of-adding-view-instances-to-a-viewgroup") ## UIScrollView @@ -240,5 +240,5 @@ scroll->Add(button2); ``` **Figure 4** Scrolling effect in both horizontal and vertical directions -![](figures/scrolling-effect-in-both-horizontal-and-vertical-directions.gif "scrolling-effect-in-both-horizontal-and-vertical-directions") +![](figure/scrolling-effect-in-both-horizontal-and-vertical-directions.gif "scrolling-effect-in-both-horizontal-and-vertical-directions") diff --git a/en/device-dev/subsystems/development-guidelines-on-layout-container-components.md b/en/device-dev/subsystems/subsys-graphics-bundle-guide2.md similarity index 97% rename from en/device-dev/subsystems/development-guidelines-on-layout-container-components.md rename to en/device-dev/subsystems/subsys-graphics-bundle-guide2.md index b90467d679c..95e8e154a98 100644 --- a/en/device-dev/subsystems/development-guidelines-on-layout-container-components.md +++ b/en/device-dev/subsystems/subsys-graphics-bundle-guide2.md @@ -97,7 +97,7 @@ Layout container components consist of basic view classes. You can set the view **Figure 1** Horizontal swiping effect of **UISwipeView** - ![](figures/en-us_image_0000001053247975.gif) + ![](figure/en-us_image_0000001053247975.gif) ## Development Procedure \(Cyclic Horizontal Swiping\) @@ -131,7 +131,7 @@ Layout container components consist of basic view classes. You can set the view **Figure 2** Cyclic horizontal swiping effect of **UISwipeView** - ![](figures/en-us_image_0000001053207924.gif) + ![](figure/en-us_image_0000001053207924.gif) ## GridLayout @@ -211,6 +211,6 @@ Layout container components consist of basic view classes. You can set the view 4. Verify the layout of buttons, as shown in the following figure. **Figure 3** Setting a 2x2 grid and adding four buttons in a layout - ![](figures/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png "setting-a-2x2-grid-and-adding-four-buttons-in-a-layout") + ![](figure/setting-a-2x2-grid-and-adding-four-buttons-in-a-layout.png "setting-a-2x2-grid-and-adding-four-buttons-in-a-layout") diff --git a/en/device-dev/subsystems/development-guidelines-on-common-components.md b/en/device-dev/subsystems/subsys-graphics-bundle-guide3.md similarity index 97% rename from en/device-dev/subsystems/development-guidelines-on-common-components.md rename to en/device-dev/subsystems/subsys-graphics-bundle-guide3.md index 556f8ee94d5..fc7c79ec29f 100644 --- a/en/device-dev/subsystems/development-guidelines-on-common-components.md +++ b/en/device-dev/subsystems/subsys-graphics-bundle-guide3.md @@ -22,7 +22,7 @@ Common components inherit from the base class **UIView**. Child components cannot be added to common components, such as buttons, images, and labels. **Figure 1** Tree structure of common components -![](figures/tree-structure-of-common-components.png "tree-structure-of-common-components") +![](figure/tree-structure-of-common-components.png "tree-structure-of-common-components") **UIView** is a base class of the following components: **UIAbstractProgress**, **UIArcLabel**, **UIButton**, **UICanvas**, **UILabel**, and **UIImageView**. **UIBoxProgress** and **UICircleProgress** inherit from **UIAbstractProgress**. **UILabelButton** and **UIRepeatButton** inherit from **UIButton**. **UIImageAnimatorView** and **UITextureMapper** inherit from **UIImageView**. @@ -126,7 +126,7 @@ Common components inherit from the base class **UIView**. Child components cann 4. Verify that the button is clicked and its size increases gradually, as shown in the following figure. **Figure 2** Effect of clicking a **UIButton** - ![](figures/effect-of-clicking-a-uibutton.gif "effect-of-clicking-a-uibutton") + ![](figure/effect-of-clicking-a-uibutton.gif "effect-of-clicking-a-uibutton") ## UIImageView @@ -212,7 +212,7 @@ Common components inherit from the base class **UIView**. Child components cann 3. Verify that the **UIImageView** component is adaptive to the image. **Figure 3** Image auto-adaption effect - ![](figures/image-auto-adaption-effect.png "image-auto-adaption-effect") + ![](figure/image-auto-adaption-effect.png "image-auto-adaption-effect") ## How to Develop \(Tile Mode\) @@ -240,7 +240,7 @@ Common components inherit from the base class **UIView**. Child components cann 4. Verify that the tile mode has been enabled for the **UIImageView**. **Figure 4** Image tile effect - ![](figures/image-tile-effect.png "image-tile-effect") + ![](figure/image-tile-effect.png "image-tile-effect") ## UILabel @@ -398,7 +398,7 @@ Common components inherit from the base class **UIView**. Child components cann 4. Verify the label size and display effect, as shown in the following figure. - ![](figures/en-us_image_0000001051782526.png) + ![](figure/en-us_image_0000001051782526.png) ## How to Develop \(Background Color and Opacity\) @@ -427,7 +427,7 @@ Common components inherit from the base class **UIView**. Child components cann 4. Verify that the background color of the label is **Gray**, as shown in the following figure. - ![](figures/en-us_image_0000001052582522.png) + ![](figure/en-us_image_0000001052582522.png) ## How to Develop \(Letter Spacing\) @@ -456,7 +456,7 @@ Common components inherit from the base class **UIView**. Child components cann 4. Verify that the letter spacing is **5** pixels on the label, as shown in the following figure. - ![](figures/en-us_image_0000001052942531.png) + ![](figure/en-us_image_0000001052942531.png) ## How to Develop \(Size-Adaptive Mode\) @@ -487,7 +487,7 @@ Regarding too long text, the size of a label can be automatically adjusted based 4. Verify that the label size adapts to the text, as shown in the following figure. - ![](figures/en-us_image_0000001052782555.png) + ![](figure/en-us_image_0000001052782555.png) ## How to Develop \(Ellipsis Mode\) @@ -518,7 +518,7 @@ In ellipsis mode, an ellipsis \(...\) is displayed at the end of the label if 4. Verify that the ellipsis mode has taken effect on the label, as shown in the following figure. - ![](figures/en-us_image_0000001052662559.png) + ![](figure/en-us_image_0000001052662559.png) ## How to Develop \(Scrolling Mode\) @@ -550,6 +550,6 @@ In scrolling mode, long text is kept scrolling on a screen to bring the entire t 4. Verify that the text is scrolling on the label, as shown in the following figure. - ![](figures/20200721-223604(espace).gif) + ![](figure/20200721-223604(espace).gif) diff --git a/en/device-dev/subsystems/graphics-2.md b/en/device-dev/subsystems/subsys-graphics-overview.md similarity index 100% rename from en/device-dev/subsystems/graphics-2.md rename to en/device-dev/subsystems/subsys-graphics-overview.md diff --git a/en/device-dev/subsystems/subsys-graphics.md b/en/device-dev/subsystems/subsys-graphics.md new file mode 100644 index 00000000000..bf960418374 --- /dev/null +++ b/en/device-dev/subsystems/subsys-graphics.md @@ -0,0 +1,13 @@ +# Graphics + +- **[Graphics](subsys-graphics-overview.md)** + +- **[Development Guidelines on Container Components](subsys-graphics-bundle-guide1.md)** + +- **[Development Guidelines on Layout Container Components](subsys-graphics-bundle-guide2.md)** + +- **[Development Guidelines on Common Components](subsys-graphics-bundle-guide3.md)** + +- **[Development Guidelines on Animators](subsys-graphics-animation-guide.md)** + + diff --git a/en/device-dev/subsystems/overview.md b/en/device-dev/subsystems/subsys-multimedia-camera-overview.md similarity index 98% rename from en/device-dev/subsystems/overview.md rename to en/device-dev/subsystems/subsys-multimedia-camera-overview.md index af871180f30..363f36457ac 100644 --- a/en/device-dev/subsystems/overview.md +++ b/en/device-dev/subsystems/subsys-multimedia-camera-overview.md @@ -90,7 +90,7 @@ It is considered good practice that you understand the following concepts before Similarly, you can create a surface, implement consumer logic for it, and transfer it to the **Camera** instance. For example, transmit video streams over the network or save captured frame data as an image file. - The graphics module also obtains stream resources from the camera module through surfaces. For details, see development guidelines on [Graphic](graphics-2.md). + The graphics module also obtains stream resources from the camera module through surfaces. For details, see development guidelines on [Graphic](subsys-graphics-overview.md). - Camera running process 1. Creating a camera @@ -100,7 +100,7 @@ It is considered good practice that you understand the following concepts before **Figure 1** Sequence diagram for creating a camera - ![](figures/en-us_image_0000001054101094.png) + ![](figure/en-us_image_0000001054101094.png) 1. Taking a video/Previewing @@ -110,7 +110,7 @@ It is considered good practice that you understand the following concepts before **Figure 2** Sequence diagram for recording/previewing - ![](figures/en-us_image_0000001054421113.png) + ![](figure/en-us_image_0000001054421113.png) diff --git a/en/device-dev/subsystems/development-guidelines-on-photographing.md b/en/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md similarity index 99% rename from en/device-dev/subsystems/development-guidelines-on-photographing.md rename to en/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md index 23f92734097..d35bed7457c 100644 --- a/en/device-dev/subsystems/development-guidelines-on-photographing.md +++ b/en/device-dev/subsystems/subsys-multimedia-camera-photo-guide.md @@ -385,6 +385,7 @@ None Surface *surface = Surface::CreateSurface(); if (surface == nullptr) { delete fc; + return; } surface->SetWidthAndHeight(1920, 1080); /* 1920:width,1080:height */ fc->AddSurface(*surface); diff --git a/en/device-dev/subsystems/development-guidelines-on-previewing.md b/en/device-dev/subsystems/subsys-multimedia-camera-preview-guide.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-previewing.md rename to en/device-dev/subsystems/subsys-multimedia-camera-preview-guide.md diff --git a/en/device-dev/subsystems/development-guidelines-on-video-recording.md b/en/device-dev/subsystems/subsys-multimedia-camera-record-guide.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-video-recording.md rename to en/device-dev/subsystems/subsys-multimedia-camera-record-guide.md diff --git a/en/device-dev/subsystems/subsys-multimedia-camera.md b/en/device-dev/subsystems/subsys-multimedia-camera.md new file mode 100644 index 00000000000..a4fac683ab1 --- /dev/null +++ b/en/device-dev/subsystems/subsys-multimedia-camera.md @@ -0,0 +1,11 @@ +# Camera + +- **[Overview](subsys-multimedia-camera-overview.md)** + +- **[Development Guidelines on Photographing](subsys-multimedia-camera-photo-guide.md)** + +- **[Development Guidelines on Video Recording](subsys-multimedia-camera-record-guide.md)** + +- **[Development Guidelines on Previewing](subsys-multimedia-camera-preview-guide.md)** + + diff --git a/en/device-dev/subsystems/overview-3.md b/en/device-dev/subsystems/subsys-multimedia-video-overview.md similarity index 100% rename from en/device-dev/subsystems/overview-3.md rename to en/device-dev/subsystems/subsys-multimedia-video-overview.md diff --git a/en/device-dev/subsystems/development-guidelines-on-media-playback.md b/en/device-dev/subsystems/subsys-multimedia-video-play-guide.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-media-playback.md rename to en/device-dev/subsystems/subsys-multimedia-video-play-guide.md diff --git a/en/device-dev/subsystems/development-guidelines-on-media-recording.md b/en/device-dev/subsystems/subsys-multimedia-video-record-guide.md similarity index 99% rename from en/device-dev/subsystems/development-guidelines-on-media-recording.md rename to en/device-dev/subsystems/subsys-multimedia-video-record-guide.md index 407bfa9e5ad..e4258a87ca4 100644 --- a/en/device-dev/subsystems/development-guidelines-on-media-recording.md +++ b/en/device-dev/subsystems/subsys-multimedia-video-record-guide.md @@ -13,7 +13,7 @@ To record audios and videos, use APIs described in this section to set the encod The following table describes APIs available for audio and video recording. -**Table 1** APIs available for media recording +**Table 1** APIs available for media recording

    API

    diff --git a/en/device-dev/subsystems/subsys-multimedia-video.md b/en/device-dev/subsystems/subsys-multimedia-video.md new file mode 100644 index 00000000000..9d075f20b5a --- /dev/null +++ b/en/device-dev/subsystems/subsys-multimedia-video.md @@ -0,0 +1,9 @@ +# Audio/Video + +- **[Overview](subsys-multimedia-video-overview.md)** + +- **[Development Guidelines on Media Playback](subsys-multimedia-video-play-guide.md)** + +- **[Development Guidelines on Media Recording](subsys-multimedia-video-record-guide.md)** + + diff --git a/en/device-dev/subsystems/multimedia.md b/en/device-dev/subsystems/subsys-multimedia.md similarity index 37% rename from en/device-dev/subsystems/multimedia.md rename to en/device-dev/subsystems/subsys-multimedia.md index 47ec966c82b..c4b8f72b08f 100644 --- a/en/device-dev/subsystems/multimedia.md +++ b/en/device-dev/subsystems/subsys-multimedia.md @@ -1,7 +1,7 @@ # Multimedia -- **[Camera](camera.md)** +- **[Camera](subsys-multimedia-camera.md)** -- **[Audio/Video](audio-video.md)** +- **[Audio/Video](subsys-multimedia-video.md)** diff --git a/en/device-dev/subsystems/ota-upgrade.md b/en/device-dev/subsystems/subsys-ota-guide.md similarity index 98% rename from en/device-dev/subsystems/ota-upgrade.md rename to en/device-dev/subsystems/subsys-ota-guide.md index 6e6a648ba8a..a249a319bae 100644 --- a/en/device-dev/subsystems/ota-upgrade.md +++ b/en/device-dev/subsystems/subsys-ota-guide.md @@ -35,7 +35,7 @@ Over the Air \(OTA\) is a technology that makes it easier for you to remotely up **Figure 1** Generating a Public/Private Key Pair - ![](figures/en-us_image_0000001060200050.png) + ![](figure/en-us_image_0000001060200050.png) 4. Use the array written in **public\_arr.txt** as a substitute for **g\_pubKeyBuf** in **base\\update\\ota\_lite\\frameworks\\source\\verify\\hota\_verify.c** of the OTA module. @@ -87,7 +87,7 @@ Over the Air \(OTA\) is a technology that makes it easier for you to remotely up **Figure 2** Location of original image files - ![](figures/en-us_image_0000001061889268.png) + ![](figure/en-us_image_0000001061889268.png) **Table 1** Files to be upgraded @@ -158,7 +158,7 @@ Over the Air \(OTA\) is a technology that makes it easier for you to remotely up set FILE_PRODUCT_NAME=Hisi @rem Set the software version number to a string of no more than 16 characters. - set SOFTWARE_VER=OHOS_1.1 + set SOFTWARE_VER=OpenHarmony 1.1 ``` 5. Run **Make\_Harmony\_PKG.bat** in the **ota\_tools** directory to generate the **Hisi\_OpenHarmony 1.1.bin** upgrade package. The upgrade package is signed using **SHA-256** and **RSA 2048** to ensure its integrity and validity. @@ -166,7 +166,7 @@ Over the Air \(OTA\) is a technology that makes it easier for you to remotely up **Figure 3** Upgrade package making tool - ![](figures/en-us_image_0000001059334449.png) + ![](figure/en-us_image_0000001059334449.png) ## Uploading the Upgrade Package diff --git a/en/device-dev/subsystems/distributed-remote-startup.md b/en/device-dev/subsystems/subsys-remote-start.md similarity index 100% rename from en/device-dev/subsystems/distributed-remote-startup.md rename to en/device-dev/subsystems/subsys-remote-start.md diff --git a/en/device-dev/subsystems/development-guidelines-on-ipc-authentication.md b/en/device-dev/subsystems/subsys-security-communicationverify.md similarity index 100% rename from en/device-dev/subsystems/development-guidelines-on-ipc-authentication.md rename to en/device-dev/subsystems/subsys-security-communicationverify.md diff --git a/en/device-dev/subsystems/overview-9.md b/en/device-dev/subsystems/subsys-security-overview.md similarity index 100% rename from en/device-dev/subsystems/overview-9.md rename to en/device-dev/subsystems/subsys-security-overview.md diff --git a/en/device-dev/subsystems/development-guidelines-on-application-permission-management.md b/en/device-dev/subsystems/subsys-security-rightmanagement.md similarity index 99% rename from en/device-dev/subsystems/development-guidelines-on-application-permission-management.md rename to en/device-dev/subsystems/subsys-security-rightmanagement.md index a72a6f88937..747ecce03eb 100644 --- a/en/device-dev/subsystems/development-guidelines-on-application-permission-management.md +++ b/en/device-dev/subsystems/subsys-security-rightmanagement.md @@ -93,7 +93,7 @@ OpenHarmony allows users to install third-party applications and controls calls
    ->![](public_sys-resources/icon-note.gif) **NOTE:** +>![](../public_sys-resources/icon-note.gif) **NOTE:** >Static permission: a permission granted by the system during application installation. The sensitivity level of this type of permission is **system\_grant**. >Dynamic permission: a permission granted by users during application running. The sensitivity level of this type of permission is **user\_grant**. diff --git a/en/device-dev/subsystems/development-guidelines-on-application-signature-verification.md b/en/device-dev/subsystems/subsys-security-sigverify.md similarity index 99% rename from en/device-dev/subsystems/development-guidelines-on-application-signature-verification.md rename to en/device-dev/subsystems/subsys-security-sigverify.md index 8c477a78d35..8436c859d8d 100644 --- a/en/device-dev/subsystems/development-guidelines-on-application-signature-verification.md +++ b/en/device-dev/subsystems/subsys-security-sigverify.md @@ -27,7 +27,7 @@ After the HAP is signed, a signature block is added between the file block and t **Figure 1** Structure of a signed HAP -![](figures/安全子系统.png) +![](figure/安全子系统.png) The signature verification process consists of three steps: HAP signature verification, signature verification for the profile signature block, and profile content verification. diff --git a/en/device-dev/subsystems/security.md b/en/device-dev/subsystems/subsys-security.md similarity index 30% rename from en/device-dev/subsystems/security.md rename to en/device-dev/subsystems/subsys-security.md index e69ec0072cf..b4ac9422314 100644 --- a/en/device-dev/subsystems/security.md +++ b/en/device-dev/subsystems/subsys-security.md @@ -1,13 +1,11 @@ # Security -- **[Overview](overview-9.md)** +- **[Overview](subsys-security-overview.md)** -- **[Development Guidelines on Application Signature Verification](development-guidelines-on-application-signature-verification.md)** +- **[Development Guidelines on Application Signature Verification](subsys-security-sigverify.md)** -- **[Development Guidelines on Application Permission Management](development-guidelines-on-application-permission-management.md)** +- **[Development Guidelines on Application Permission Management](subsys-security-rightmanagement.md)** -- **[Development Guidelines on IPC Authentication](development-guidelines-on-ipc-authentication.md)** - -- **[Development Guidelines on Trusted Device Group Management](development-guidelines-on-trusted-device-group-management.md)** +- **[Development Guidelines on IPC Authentication](subsys-security-communicationverify.md)** diff --git a/en/device-dev/subsystems/testing.md b/en/device-dev/subsystems/subsys-testguide-test.md similarity index 98% rename from en/device-dev/subsystems/testing.md rename to en/device-dev/subsystems/subsys-testguide-test.md index 6b84a0b1cd8..215b683bd1c 100644 --- a/en/device-dev/subsystems/testing.md +++ b/en/device-dev/subsystems/subsys-testguide-test.md @@ -61,12 +61,12 @@ Before development using the testing subsystem, you need to understand the follo - The following figure shows the architecture of the test platform. **Figure 1** Platform architecture -![](figures/platform-architecture.png "platform-architecture") +![](figure/platform-architecture.png "platform-architecture") - The following figure shows the running sequence diagram of the test platform. **Figure 2** Running sequence of the test platform -![](figures/running-sequence-of-the-test-platform.png "running-sequence-of-the-test-platform") +![](figure/running-sequence-of-the-test-platform.png "running-sequence-of-the-test-platform") - Working principle of the test platform @@ -303,7 +303,7 @@ The testing framework integrates the open-source unit testing framework and expa }; ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >You must write test cases by observing the following specifications: >- Naming > The source file name of a test case must be consistent with the test suite content. Each test suite has multiple test cases and a test source file that is globally unique and named in \[Feature\]\_\[Function\]\_\[Subfunction 1\]\_\[Subfunction 1.1\] format \(subfunctions can be further divided\). @@ -311,7 +311,7 @@ The testing framework integrates the open-source unit testing framework and expa >- Coding > The test cases must comply with the coding specifications for feature code. In addition, case descriptions are required for further clarification. For details, see [Test case template](#li2069415903917). >- Compilation and configuration - > The test cases must be compiled using GN, and the configurations must comply with the compilation guide of this open-source project. For details, see [Compilation and Building Guidelines](https://device.harmonyos.com/en/docs/develop/subsystems/oem_subsys_build_des-0000001060646620). + > The test cases must be compiled using GN, and the configurations must comply with the compilation guide of this open-source project. For details, see [Compilation and Building Subsystem - Lightweight and Small-Scale Systems](subsys-build-mini-lite.md). >- Test case template > For details, see the example test case **developertest/examples/lite/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp**. @@ -354,7 +354,7 @@ The testing framework integrates the open-source unit testing framework and expa } ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >- **@tc.name**: test case name, which briefly describes the test purpose >- **@tc.desc**: detailed description of the test case, including the test purpose, test procedure, and expected result >- **@tc.type**: test type, which can be **FUNC**, **PERF**, **SECU**, or **RELI**. @@ -486,13 +486,13 @@ The testing framework integrates the open-source unit testing framework and expa 5. Define **resource\_config\_file** in the compilation configuration file of the test case to specify the resource file **ohos\_test.xml**. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >The resource file is used to push the **test.txt** file in the **resource** directory to the **/data/test/resource** directory of the device to test. To do so, run the **hdc push** command. 7. Execute the test case after it is compiled \(the preceding steps are complete\). - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >- For devices that support connection to the hdc, test cases can be compiled separately. >- For devices that support serial ports only, to compile the test case, run the commands in the root directory for compiling the debug code. > For details about how to execute a test case, see [How to Use the Test Platform](#section76401945124810). @@ -567,7 +567,7 @@ The code repository of the testing subsystem provides complete demo cases, which ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >**example**: whether to build the test case example. The default value is **false**. >**version**: whether to build the test version. The default value is **false**. >**testcase**: whether to build the test case. The default value is **true**. @@ -597,7 +597,7 @@ The code repository of the testing subsystem provides complete demo cases, which ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >**board\_series**: development board series. The default value is **hispark**. >**board\_type**: development board type. The default value is **taurus**. >**board\_product**: target product. The default value is **ipcamera**. @@ -663,12 +663,12 @@ The code repository of the testing subsystem provides complete demo cases, which - Select a device type. - + Configure the device type based on the development board in the configuration file, for example, **developertest/config/framework\_config.xml**. - + - Run test commands. 1. To query the subsystems, modules, product form, and test types supported by test cases, run the **show** commands. - + ``` Usage: show productlist Query supported product forms @@ -676,15 +676,15 @@ The code repository of the testing subsystem provides complete demo cases, which show subsystemlist Query supported subsystems show modulelist Query supported modules ``` - + 2. Run test commands. **-t** is mandatory, and **-ss** and **-tm** are optional. The following is an example: - + ``` run -t ut -ss subsystem_examples -tm calculator ``` - + 3. Specify the arguments to execute the test suite for a specific feature or module. - + ``` usage: run [-h] [-p PRODUCTFORM] [-t [TESTTYPE [TESTTYPE ...]]] [-ss SUBSYSTEM] [-tm TESTMODULE] [-ts TESTSUIT] @@ -704,17 +704,17 @@ The code repository of the testing subsystem provides complete demo cases, which - View the test framework help if needed. - + Run the following command query test commands that are supported by the test platform: - + ``` help ``` - + - Exit the test platform. - + Run the following command to exit the test platform: - + ``` quit ``` @@ -753,7 +753,7 @@ The code repository of the testing subsystem provides complete demo cases, which - The log directory of the test platform is as follows: - + ``` reports/platform_log_xxxx-xx-xx-xx-xx-xx.log ``` diff --git a/en/device-dev/subsystems/bytrace-usage-guidelines.md b/en/device-dev/subsystems/subsys-toolchain-bytrace-guide.md similarity index 96% rename from en/device-dev/subsystems/bytrace-usage-guidelines.md rename to en/device-dev/subsystems/subsys-toolchain-bytrace-guide.md index 8219a014385..e6ddd00929d 100644 --- a/en/device-dev/subsystems/bytrace-usage-guidelines.md +++ b/en/device-dev/subsystems/subsys-toolchain-bytrace-guide.md @@ -1,18 +1,14 @@ # bytrace Usage Guidelines - [Overview](#section11388623181619) -- [Development Guidelines](#section1595564317164) - - [bytrace Commands](#section2344125731617) - - [Example Commands](#section5402591174) - +- [How to Develop](#section1595564317164) +- [Usage Example](#section667273201818) ## Overview bytrace is a tool for you to trace processes and analyze performance. It encapsulates and extends the kernel ftrace and supports event tracking in the user space. With bytrace, you can open a user-space or kernel-space label you want to view \(run the **bytrace -l** command to query all the supported labels\) and run the **--trace\_begin** and **-o filename** \(or **--output filename**\) commands to capture traces and dump them to a specified file. -## Development Guidelines - -### bytrace Commands +## How to Develop bytrace supports the following commands: @@ -83,7 +79,7 @@ bytrace supports the following commands:
    -### Example Commands +## Usage Example The following are some examples of bytrace commands: diff --git a/en/device-dev/subsystems/subsys-toolchain.md b/en/device-dev/subsystems/subsys-toolchain.md new file mode 100644 index 00000000000..29f4d588550 --- /dev/null +++ b/en/device-dev/subsystems/subsys-toolchain.md @@ -0,0 +1,6 @@ +# R&D Tools + +- [bytrace Usage Guidelines](subsys-toolchain-bytrace-guide.md) +- [hdc\_std Usage Guidelines](oem_subsys_toolchain_hdc_guide.md) + + diff --git a/en/device-dev/subsystems/subsys-utils.md b/en/device-dev/subsystems/subsys-utils.md new file mode 100644 index 00000000000..53ee39995f7 --- /dev/null +++ b/en/device-dev/subsystems/subsys-utils.md @@ -0,0 +1,9 @@ +# Utils + +- **[Utils Overview](oem_subsys_utils_des.md)** + +- **[Utils Development Guidelines](oem_subsys_utils_guide.md)** + +- **[Utils FAQ](oem_subsys_utils_faq.md)** + + diff --git a/en/device-dev/subsystems/xts.md b/en/device-dev/subsystems/subsys-xts-guide.md similarity index 93% rename from en/device-dev/subsystems/xts.md rename to en/device-dev/subsystems/subsys-xts-guide.md index 24396f880e0..8c39f59591f 100644 --- a/en/device-dev/subsystems/xts.md +++ b/en/device-dev/subsystems/subsys-xts-guide.md @@ -12,7 +12,10 @@ - [C++-based Test Case Execution \(for Standard and Small Systems\)](#section128222336544) - [JavaScript-based Test Case Development \(for the Standard System\)](#section159801435165220) - [JavaScript-based Test Case Packaging \(for the Standard System\)](#section445519106559) + - [\#EN-US\_TOPIC\_0000001126156429/section191521423950](#section191521423950) +- [Full Compilation Guide \(for the Standard System\)](#section1519992743415) +- [Full Test Case Execution Guide \(for Small and Standard Systems\)](#section118149111426) ## Introduction @@ -269,7 +272,7 @@ The HCTest framework is used to support test cases developed with the C language 2. Write the test case in the **src** directory. - 1 Import the test framework header file. + 1. Import the test framework header file. ``` #include "hctest.h" @@ -346,7 +349,7 @@ The HCTest framework is used to support test cases developed with the C language Test suites are built along with version build. The ACTS is built together with the debug version. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >The ACTS build middleware is a static library, which will be linked to the image. @@ -456,6 +459,7 @@ The HCPPTest framework is enhanced and adapted based on the open-source framewor ] cflags = [ "-Wno-error" ] } + ``` 4. Add build options to the **BUILD.gn** file in the **acts** directory. @@ -478,7 +482,7 @@ The HCPPTest framework is enhanced and adapted based on the open-source framewor Test suites are built along with the version build. The ACTS is built together with the debug version. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](../public_sys-resources/icon-note.gif) **NOTE:** >The ACTS for the small system is independently built to an executable file \(.bin\) and archived in the **suites\\acts** directory of the build result. @@ -646,3 +650,67 @@ Use the standard syntax of Jasmine to write test cases. The ES6 specification is For details about how to build a HAP, see the JS application development guide of the standard system [Building and Creating HAPs](https://developer.harmonyos.com/en/docs/documentation/doc-guides/build_overview-0000001055075201). +## Full Compilation Guide \(for the Standard System\) + +1. Perform full building. + + Command: + + ``` + ./build.sh suite=acts system_size=standard + ``` + + Test case output directory: **out/release/suites/acts/testcases** + + Test framework and case output directory: **out/release/suites/acts** \(The test suite execution framework is compiled during case compilation.\) + + +## Full Test Case Execution Guide \(for Small and Standard Systems\) + +**Setting up a test environment** + +Install Python 3.7 or a later version on a Windows environment and ensure that the Windows environment is properly connected to the test device. + +**Test execution directory** \(corresponding to the **out/release/suites/acts** directory generated during compilation\) + +``` +├── testcase # Directory for storing test suite files +│ └──xxx.hap # HAP file executed by the test suite +│ └──xxx.json # Execution configuration file of the test suite +├── tools # Test framework tool directory +├── run.bat # File for starting the test suite on the Windows platform +├── report # Directory for storing the test reports +``` + +**Executing test cases** + +1. On the Windows environment, locate the directory in which the test cases are stored \(**out/release/suites/acts**, copied from the Linux server\), go to the directory in the Windows command window, and run **acts\\run.bat**. + +1. Enter the command for executing the test case. + + - Execute all test cases. + + ``` + run acts + ``` + + ![](figure/en-us_image_0000001119924146.gif) + + + - Execute the test cases of a module \(view specific module information in **\\acts\\testcases\\**\). + + ``` + run –l ActsSamgrTest + ``` + + ![](figure/en-us_image_0000001166643927.jpg) + + + Wait until the test case is complete. + + +1. View test reports. + + Go to **acts\\reports\\**, obtain the current execution record, and open **summary\_report.html** to view the test report. + + diff --git a/en/device-dev/subsystems/subsys.md b/en/device-dev/subsystems/subsys.md new file mode 100644 index 00000000000..64d3b35c40b --- /dev/null +++ b/en/device-dev/subsystems/subsys.md @@ -0,0 +1,33 @@ +# Subsystem Development Guidelines + +- **[Compilation and Building](subsys-build.md)** + +- **[Distributed Remote Startup](subsys-remote-start.md)** + +- **[Graphics](subsys-graphics.md)** + +- **[Multimedia](subsys-multimedia.md)** + +- **[Utils](subsys-utils.md)** + +- **[AI Framework](subsys-aiframework.md)** + +- **[Sensors](subsys-densor.md)** + +- **[Application Framework](subsys-application-framework.md)** + +- **[OTA Upgrade](subsys-ota-guide.md)** + +- **[Security](subsys-security.md)** + +- **[Startup](subsys-boot.md)** + +- **[Testing](subsys-testguide-test.md)** + +- **[DFX](subsys-dfx.md)** + +- **[HiSysEvent订阅指导](subsys-dfx-hisyseventread.md)** + +- **[XTS](subsys-xts-guide.md)** + + diff --git a/en/device-dev/subsystems/utils.md b/en/device-dev/subsystems/utils.md deleted file mode 100644 index 3b50567c41f..00000000000 --- a/en/device-dev/subsystems/utils.md +++ /dev/null @@ -1,9 +0,0 @@ -# Utils - -- **[Utils Overview](utils-overview.md)** - -- **[Utils Development Guidelines](utils-development-guidelines.md)** - -- **[Utils FAQ](utils-faq.md)** - - diff --git a/en/readme.md b/en/readme.md index 6f5507767fb..c7f787adcd6 100644 --- a/en/readme.md +++ b/en/readme.md @@ -1,77 +1,82 @@ # WELCOME TO OPENHARMONY + This project stores OpenHarmony documentation, including the quick start guide, development guides, and API reference. We appreciate your contribution to the OpenHarmony documentation. -## Motivation -Traditional OSs are limited to a specific type of device, while OpenHarmony provides distributed features that are compatible with a wide range of different devices. The first version supports devices with 128 KB to 128 MB of memory. Join us as we keep updating OpenHarmony versions. -For device developers, OpenHarmony utilizes a component-based design to tailor its features to better suit specific devices, based on each device's capabilities and service characteristics. OpenHarmony can run on devices with limited resources and wearables with hundreds of KB of memory, as well as more powerful devices, such as smart home cameras and dashcams with hundreds of MB of memory. - -[中文版本](../zh-cn/readme.md) - -## Device Development - Documentation Directory Structure -- [Overview](device-dev/quick-start/overview.md) -- [Getting Started](device-dev/quick-start/Readme-EN.md) -- [Source Code Acquisition/Tool Acquisition](device-dev/get-code/Readme-EN.md) -- [Kernel Usage Guidelines](device-dev/kernel/Readme-EN.md) -- [Driver Usage Guidelines](device-dev/driver/Readme-EN.md) -- [Subsystem Development Guidelines](device-dev/subsystems/Readme-EN.md) - - [Compilation and Building](device-dev/subsystems/compilation-and-building.md) - - [Distributed Remote Startup](device-dev/subsystems/distributed-remote-startup.md) - - [Graphics](device-dev/subsystems/graphics.md) - - [Multimedia](device-dev/subsystems/multimedia.md) - - [Utils](device-dev/subsystems/utils.md) - - [AI Framework](device-dev/subsystems/ai-framework.md) - - [Sensors](device-dev/subsystems/sensors.md) - - [Application Framework](device-dev/subsystems/application-framework.md) - - [OTA Upgrade](device-dev/subsystems/ota-upgrade.md) - - [Security](device-dev/subsystems/security.md) - - [Startup](device-dev/subsystems/startup.md) - - [Testing](device-dev/subsystems/testing.md) - - [DFX](device-dev/subsystems/dfx.md) - - [R&D Tools](device-dev/subsystems/r-d-tools.md) - - [X Test Suite](device-dev/subsystems/xts.md) -- [Bundle Development Guidelines](device-dev/bundles/Readme-EN.md) -- [Third-Party Library Porting Guide](device-dev/porting/Readme-EN.md) -- [Device Development Guidelines](device-dev/guide/Readme-EN.md) - - [WLAN-connected Products](device-dev/guide/wlan-connected-products.md) - - [Cameras Without a Screen](device-dev/guide/cameras-without-a-screen.md) - - [Cameras with a Screen](device-dev/guide/cameras-with-a-screen.md) - - [Visual Application Development](device-dev/guide/visual-application-development.md) - - [Development Example for Clock Apps](device-dev/guide/development-example-for-clock-apps.md) - - [Development Example for Platform Drivers](device-dev/guide/development-example-for-platform-drivers.md) - - [Development Example for Peripheral Drivers](device-dev/guide/development-example-for-peripheral-drivers.md) -- [Privacy and Security](device-dev/security/Readme-EN.md) -- [Glossary](device-dev/glossary/glossary.md) - -# Application Development - Documentation Directory Structure - -- [Getting Started](application-dev/quick-start/getting-started.md) -- [UI](application-dev/ui/Readme-EN.md) -- [Media](application-dev/media/Readme-EN.md) -- [Connectivity](application-dev/connectivity/Readme-EN.md) -- [JS Reference](application-dev/js-reference/Readme-EN.md) - -## Start Contributing - -OpenHarmony is an open-source community and encourages everyone in the community to submit patches directly to the project. You can contribute either to the code or documentation. -- [Contributing to the Code](contribute/contributing-code.md) -- [Contributing to the Documentation](contribute/documentation-contribution.md) - -For more details on how to contribute, see [Contributing Documents](contribute). -## Get Source Code and Tools -To download the source code and tools required for the project, click the following links: -- [Source Code Acquisition](device-dev/get-code/source-code-acquisition.md) -- [Tool Acquisition](device-dev/get-code/tool-acquisition.md) - -## Where to Turn for Help -You can subscribe to the mailing list to get constant updates on new features, released road maps, and community activities. For how to subscribe to the mailing list or get any other support, see [Communication in Community](https://gitee.com/openharmony/docs/tree/master/contribute/communication-in-community.md). - -## Code of Conduct -OpenHarmony is committed to providing a welcoming and inspiring community for all. In order to maintain a collaborative environment, we recommend you read and follow the community [Code of Conduct](https://gitee.com/openharmony/docs/blob/master/contribute/code-of-conduct.md). - -## Contributors & Acknowledgements -A great open-source project wouldn't be possible without the hard work of many contributors. We'd like to invite anyone from around the world to participate in this exciting journey, and we're grateful for your time, passion, and efforts! - -## Release -In order to provide new features and bug fixes, the community constantly updates code and provides new releases. - -See [OpenHarmony Release Notes](release-notes/OpenHarmony-Release-Notes.md). \ No newline at end of file +## Contents + +- [OpenHarmony Overview](OpenHarmony-Overview.md) +- Mini and Small System Development Guidelines \(Reference Memory < 128 MB\) + - Device development + - **overview**: [device development overview](device-dev/overview.md) + - **quick-start**: [quick start guide](device-dev/quick-start/Readme-EN.md) \(covering environment setup, source code acquisition, build, and burning\) + - Basic development capabilities + - **Kernel**: [lite kernel](device-dev/kernel/kernel-lite.md) + - **Drivers**: [drivers](device-dev/driver/Readme-EN.md) + - **Subsystems**: [subsystems](device-dev/subsystems/Readme-EN.md) \(such as compilation and building, graphics, DFX, and XTS\) + - **Security**: [privacy and security](device-dev/security/Readme-EN.md) + + - **guide**: + - [WLAN-connected products](device-dev/guide/device-wifi.md) \(LED peripheral control and third-party SDK integration\) + - [Screenless cameras](device-dev/guide/device-camera.md) \(camera control\) + - [Cameras with a screen](device-dev/guide/device-camera.md) \(screen and camera control, visual application development\) + + - **porting**: + - [Mini System SoC Porting Guide](device-dev/porting/transplant-minichip.md) + - [Small System SoC Porting Guide](device-dev/porting/transplant-smallchip.md) + - [Third-Party Library Porting Guide](device-dev/porting/transplant-thirdparty.md) + + - **bundles**: + - [Development Specifications](device-dev/bundles/bundles-standard-rules.md) + - [Development Guidelines](device-dev/bundles/bundles-guide.md) + - [HPM User Guide](device-dev/bundles/bundles-demo.md) + +- Standard System Development Guidelines \(Reference Memory ≥ 128 MB\) + - Device development + - **overview**: [device development overview](device-dev/overview.md) + - **quick-start**: [quick start guide](device-dev/quick-start/quickstart-standard.md) \(covering environment setup, source code acquisition, build, and burning\) + - Basic development capabilities + - **Kernel**: [Linux kernel](device-dev/kernel/kernel-standard.md) + - **Drivers**: [drivers](device-dev/driver/Readme-EN.md) + - **Subsystems**: [subsystems](device-dev/subsystems/Readme-EN.md) \(such as compilation and building, graphics, DFX, and XTS\) + - **Security**: [privacy and security](device-dev/security/Readme-EN.md) + + - **guide**: + - [Clock apps](device-dev/guide/oem_device_clockapp_des.md) + - [Platform drivers](device-dev/guide/device-drive-demo.md) + - [Peripheral drivers](device-dev/guide/device-outerdrive-demo.md) + + - **porting**: + + [Third-Party Library Porting Guide](device-dev/porting/transplant-thirdparty.md) + + - **bundles**: + - [Development Specifications](device-dev/bundles/bundles-standard-rules.md) + - [Development Guidelines](device-dev/bundles/bundles-guide.md) + - [HPM User Guide](device-dev/bundles/bundles-demo.md) + + +- App development + - **Overview**: [app development overview](application-dev/application-dev-guide.md) + - **quick-start**: [quick start guide](application-dev/quick-start/Readme-EN.md) + - **ui**: [UI](application-dev/ui/Readme-EN.md) + - **media**: [media](application-dev/media/Readme-EN.md) + - **connectivity**: [networks and connectivity](application-dev/connectivity/Readme-EN.md) + - **js-reference**: [JS reference](application-dev/js-reference/Readme-EN.md) +- **glossary**: [glossary](device-dev/glossary/glossary.md) + +## Version Change History + +For details, see [Release Notes](release-notes/OpenHarmony-Release-Notes.md). + +## Third-Party Open-Source Software and License Notice + +None. + +## How to Contribute + +A great open-source project wouldn't be possible without the hard work of many contributors. We'd like to invite anyone from around the world to [participate](contribute/contribution.md) in this exciting journey, and we're grateful for your time, passion, and efforts! + +You can evaluate available documents, make simple modifications, provide feedback on document quality, and contribute your original content. For details, see [Documentation Contribution](contribute/documentation-contribution.md). + +Excellent contributors will be awarded and the contributions will be publicized in the developer community. + -- Gitee From a4a11ba7c3f9d45332cdbd7cf8bfe65e164816df Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Tue, 20 Jul 2021 22:20:46 +0800 Subject: [PATCH 03/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/get-code/sourcecode-acquire.md | 2 +- zh-cn/device-dev/get-code/sourcecode-acquire.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/device-dev/get-code/sourcecode-acquire.md b/en/device-dev/get-code/sourcecode-acquire.md index 5fc6a1f3a12..5c95dbd6a74 100644 --- a/en/device-dev/get-code/sourcecode-acquire.md +++ b/en/device-dev/get-code/sourcecode-acquire.md @@ -51,7 +51,7 @@ This document describes how to acquire OpenHarmony source code and provides its 1. Register your account with Gitee. 2. Register an SSH public key for access to Gitee. -3. Install the [git client](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)), and configure basic user information. +3. Install the [git client](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading), and configure basic user information. ``` git config --global user.name "yourname" diff --git a/zh-cn/device-dev/get-code/sourcecode-acquire.md b/zh-cn/device-dev/get-code/sourcecode-acquire.md index de62e5dd995..622d4cd83b1 100644 --- a/zh-cn/device-dev/get-code/sourcecode-acquire.md +++ b/zh-cn/device-dev/get-code/sourcecode-acquire.md @@ -51,7 +51,7 @@ OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及 1. 注册码云gitee账号。 2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)。 -3. 安装[git客户端](http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading))并配置用户信息。 +3. 安装[git客户端](http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。 ``` git config --global user.name "yourname" -- Gitee From d2b2422b6d92a6cfe570b7aaf48cf43702d9ab83 Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Tue, 20 Jul 2021 22:52:51 +0800 Subject: [PATCH 04/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/overview.md | 2 +- en/device-dev/quick-start/Readme-EN.md | 2 +- .../quickstart-standard-description.md | 54 +++++++++++++++++++ en/readme.md | 2 +- zh-cn/device-dev/quick-start/Readme-CN.md | 2 +- .../quickstart-standard-description.md | 54 +++++++++++++++++++ 6 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 en/device-dev/quick-start/quickstart-standard-description.md create mode 100644 zh-cn/device-dev/quick-start/quickstart-standard-description.md diff --git a/en/device-dev/overview.md b/en/device-dev/overview.md index 48d154e9b82..388d13e0009 100644 --- a/en/device-dev/overview.md +++ b/en/device-dev/overview.md @@ -76,7 +76,7 @@ In addition, OpenHarmony provides a series of optional system components that ca

    Developing smart devices based on system capabilities

    +

    Porting and adaptation

    diff --git a/en/device-dev/quick-start/Readme-EN.md b/en/device-dev/quick-start/Readme-EN.md index 2741990f652..5918e119962 100644 --- a/en/device-dev/quick-start/Readme-EN.md +++ b/en/device-dev/quick-start/Readme-EN.md @@ -32,7 +32,7 @@ - [FAQs](quickstart-lite-steps-board3518-faqs.md) - [Standard System](quickstart-standard.md) - - [FAQ](quickstart-lite-env-setup-faqs.md) + - [Introduction](quickstart-standard-description.md) - [Setting Up Windows Development Environment](quickstart-standard-windows-environment.md) - [Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](quickstart-standard-docker-environment.md) - [Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](quickstart-standard-package-environment.md) diff --git a/en/device-dev/quick-start/quickstart-standard-description.md b/en/device-dev/quick-start/quickstart-standard-description.md new file mode 100644 index 00000000000..75e796ec216 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-standard-description.md @@ -0,0 +1,54 @@ +# Introduction + +- [Quick Start Process](#section7825218111517) +- [Introduction to the Development Board](#en-us_topic_0000001053666242_section047719215429) +- [Development Board Specifications](#en-us_topic_0000001053666242_section15192203316533) + +This document helps you quickly understand how to set up a standard OpenHarmony system, and how to build, burn, and start the system. You can develop the standard system in Windows and build source code in Linux. + +This document uses the recommended Hi3516D V300 development board as an example. + +## Quick Start Process + +The following figure shows the process of getting started for the standard system, during which, you can set up the Ubuntu development environment in Docker mode or by using the installation package. + +**Figure 1** Getting started for the standard system +![](figure/getting-started-for-the-standard-system.png "getting-started-for-the-standard-system") + +## Introduction to the Development Board + +Hi3516D V300 is a next-generation system on chip \(SoC\) designed for the industry-dedicated smart HD IP camera. It introduces a next-generation image signal processor \(ISP\), the H.265 video compression encoder, and a high-performance NNIE engine, leading the industry in terms of low bit rate, high image quality, intelligent processing and analysis, and low power consumption. + +**Figure 2** Hi3516D V300 front view + + +![](figure/3516正面.png) + +## Development Board Specifications + +**Table 1** Specifications of the Hi3516 development board + + + + + + + + + + + + + +

    Item

    +

    Description

    +

    Processor and internal memory

    +
    • Hi3516D V300
    • 1 GB DDR3
    • 8 GB eMMC4.5
    +

    External components

    +
    • Ethernet port
    • Audio and video
      • One voice input
      • One mono (AC_L) output, connected to a 3 W power amplifier (LM4871)
      • Micro-HDMI (one HDMI 1.4)
      +
    • Cameras
      • Sensor IMX335
      • M12 lens with a focal length of 4 mm and an aperture of 1.8
      +
    • Display
      • 2.35-inch LCD connector
      • 5.5-inch LCD connector
      +
    • External components and interfaces
      • microSD card interface
      • JTAG/I2S interface
      • ADC interface
      • Steer gear interface
      • Grove connector
      • USB 2.0 (Type C)
      • Three function keys: two custom keys and one update key
      • LED indicator (including green and red)
      +
    +
    + diff --git a/en/readme.md b/en/readme.md index c7f787adcd6..8325d965b21 100644 --- a/en/readme.md +++ b/en/readme.md @@ -17,7 +17,7 @@ This project stores OpenHarmony documentation, including the quick start guide, - **guide**: - [WLAN-connected products](device-dev/guide/device-wifi.md) \(LED peripheral control and third-party SDK integration\) - - [Screenless cameras](device-dev/guide/device-camera.md) \(camera control\) + - [Screenless cameras](device-dev/guide/device-iotcamera.md) \(camera control\) - [Cameras with a screen](device-dev/guide/device-camera.md) \(screen and camera control, visual application development\) - **porting**: diff --git a/zh-cn/device-dev/quick-start/Readme-CN.md b/zh-cn/device-dev/quick-start/Readme-CN.md index f7f7e0d9315..f85dd9b4ea1 100644 --- a/zh-cn/device-dev/quick-start/Readme-CN.md +++ b/zh-cn/device-dev/quick-start/Readme-CN.md @@ -32,7 +32,7 @@ - [常见问题](quickstart-lite-steps-board3518-faqs.md) - [标准系统入门](quickstart-standard.md) - - [常见问题](quickstart-lite-env-setup-faqs.md) + - [入门介绍](quickstart-standard-description.md) - [Windows开发环境准备](quickstart-standard-windows-environment.md) - [搭建Ubuntu环境及编译(Docker方式)](quickstart-standard-docker-environment.md) - [搭建Ubuntu环境及编译(安装包方式)](quickstart-standard-package-environment.md) diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-description.md b/zh-cn/device-dev/quick-start/quickstart-standard-description.md new file mode 100644 index 00000000000..20f133bca4f --- /dev/null +++ b/zh-cn/device-dev/quick-start/quickstart-standard-description.md @@ -0,0 +1,54 @@ +# 入门介绍 + +- [快速入门流程](#section7825218111517) +- [开发板简介](#zh-cn_topic_0000001053666242_section047719215429) +- [开发板规格](#zh-cn_topic_0000001053666242_section15192203316533) + +开发者可通过本文快速掌握OpenHarmony标准系统的环境搭建、编译、烧录、启动等操作。标准系统可以使用Windows环境进行开发、烧录,使用Linux环境进行编译。 + +本文将以当前推荐的Hi3516DV300开发板为例对上述操作进行说明。 + +## 快速入门流程 + +标准系统快速入门流程如下图所示,其中“搭建Ubuntu环境及编译”环节可根据实际情况选择docker方式或工具包方式其中一种即可。 + +**图 1** 标准环境快速入门流程 +![](figure/标准环境快速入门流程.png "标准环境快速入门流程") + +## 开发板简介 + +Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代ISP\(Image Signal Processor\)、H.265视频压缩编码器,同时集成高性能NNIE引擎,使得Hi3516DV300在低码率、高画质、智能处理和分析、低功耗等方面引领行业水平。 + +**图 2** Hi3516单板正面外观图 + + +![](figure/3516正面.png) + +## 开发板规格 + +**表 1** Hi3516开发板规格清单 + + + + + + + + + + + + + +

    规格类型

    +

    规格清单

    +

    处理器及内部存储

    +
    • Hi3516DV300芯片
    • DDR3 1GB
    • eMMC4.5,8GB容量
    +

    外部器件

    +
    • 以太网口
    • 音频视频
      • 1路语音输入
      • 1路单声道(AC_L)输出,接3W功放(LM4871)
      • MicroHDMI(1路HDMI 1.4)
      +
    • 摄像头
      • 传感器IMX335
      • 镜头M12,焦距4mm,光圈1.8
      +
    • 显示屏
      • LCD连接器(2.35寸)
      • LCD连接器(5.5寸)
      +
    • 外部器件及接口
      • SD卡接口
      • JTAG/I2S 接口
      • ADC接口
      • 舵机接口
      • Grove连接器
      • USB2.0(Type C)
      • 功能按键3个,2个用户自定义按键,1个升级按键
      • LED指示灯,绿灯,红灯
      +
    +
    + -- Gitee From 70a9d20ef4b6e0fa6b3d63979bac12b83277ceb1 Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Wed, 21 Jul 2021 10:35:56 +0800 Subject: [PATCH 05/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/get-code/Readme-EN.md | 2 +- en/device-dev/kernel/Readme-EN.md | 1 - .../getting-started-for-the-standard-system.png | Bin 0 -> 32197 bytes .../quick-start/quickstart-standard.md | 2 +- ...245\351\227\250\346\265\201\347\250\213.png" | Bin 0 -> 19686 bytes .../quick-start/quickstart-standard.md | 2 +- 6 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 en/device-dev/quick-start/figure/getting-started-for-the-standard-system.png create mode 100644 "zh-cn/device-dev/quick-start/figure/\346\240\207\345\207\206\347\216\257\345\242\203\345\277\253\351\200\237\345\205\245\351\227\250\346\265\201\347\250\213.png" diff --git a/en/device-dev/get-code/Readme-EN.md b/en/device-dev/get-code/Readme-EN.md index c3df0fde610..5f5dacc4a6c 100644 --- a/en/device-dev/get-code/Readme-EN.md +++ b/en/device-dev/get-code/Readme-EN.md @@ -1,6 +1,6 @@ # Source Code Acquisition -- [Source Code Acquisition](sourcecode.md) +- [Source Code Acquisition](sourcecode-acquire.md) - [Tool Acquisition](gettools.md) - [Docker Environment](gettools-acquire.md) - [IDE](gettools-ide.md) diff --git a/en/device-dev/kernel/Readme-EN.md b/en/device-dev/kernel/Readme-EN.md index b00926f092b..b8a0bb66040 100644 --- a/en/device-dev/kernel/Readme-EN.md +++ b/en/device-dev/kernel/Readme-EN.md @@ -1,7 +1,6 @@ # Kernel - [Kernel for Mini and Small Systems](kernel-lite.md) - - [Kernel for Mini Systems](kernel-lite-mini.md) - [Kernel for Small Systems](kernel-lite-small.md) - [Basic Kernel](kernel-lite-small-basic.md) - [Process](kernel-lite-small-process.md) diff --git a/en/device-dev/quick-start/figure/getting-started-for-the-standard-system.png b/en/device-dev/quick-start/figure/getting-started-for-the-standard-system.png new file mode 100644 index 0000000000000000000000000000000000000000..216265660cd0364189cd438da8b7e2600a7a5099 GIT binary patch literal 32197 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 -- **[FAQ](quickstart-lite-env-setup-faqs.md)** +- **[Introduction](quickstart-standard-description.md)** - **[Setting Up Windows Development Environment](quickstart-standard-windows-environment.md)** diff --git "a/zh-cn/device-dev/quick-start/figure/\346\240\207\345\207\206\347\216\257\345\242\203\345\277\253\351\200\237\345\205\245\351\227\250\346\265\201\347\250\213.png" "b/zh-cn/device-dev/quick-start/figure/\346\240\207\345\207\206\347\216\257\345\242\203\345\277\253\351\200\237\345\205\245\351\227\250\346\265\201\347\250\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..587b414d787f36de3494760e14313e0ff18f896b GIT binary patch literal 19686 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 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/quick-start/quickstart-standard.md b/zh-cn/device-dev/quick-start/quickstart-standard.md index 3931c326436..8d2bc8cb313 100644 --- a/zh-cn/device-dev/quick-start/quickstart-standard.md +++ b/zh-cn/device-dev/quick-start/quickstart-standard.md @@ -1,6 +1,6 @@ # 标准系统入门 -- **[常见问题](quickstart-lite-env-setup-faqs.md)** +- **[入门介绍](quickstart-standard-description.md)** - **[Windows开发环境准备](quickstart-standard-windows-environment.md)** -- Gitee From 3bc3443de9c05965040e06e5b399a83fef53fa17 Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Wed, 21 Jul 2021 10:53:03 +0800 Subject: [PATCH 06/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/kernel/kernel-lite.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/en/device-dev/kernel/kernel-lite.md b/en/device-dev/kernel/kernel-lite.md index 78ab3657511..523555a5f4e 100644 --- a/en/device-dev/kernel/kernel-lite.md +++ b/en/device-dev/kernel/kernel-lite.md @@ -1,7 +1,5 @@ # Kernel for Mini and Small Systems -- **[Kernel for Mini Systems](kernel-lite-mini.md)** - - **[Kernel for Small Systems](kernel-lite-small.md)** -- Gitee From 56fe036c7ab2f674bc7ad5892aebbbeb1ec0795b Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Wed, 21 Jul 2021 11:35:54 +0800 Subject: [PATCH 07/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/porting/Readme-EN.md | 2 +- .../figure/kernel-startup-framework.jpg | Bin 912006 -> 917400 bytes .../porting/transplant-chip-board-bundle.md | 40 +++++++++--------- .../porting/transplant-chip-board.md | 2 +- .../porting/transplant-smallchip-drive-des.md | 2 +- .../porting/transplant-smallchip-drive-oom.md | 14 +++--- .../transplant-smallchip-drive-plat.md | 12 +++--- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/en/device-dev/porting/Readme-EN.md b/en/device-dev/porting/Readme-EN.md index aa4e507c095..abfe82c4f40 100644 --- a/en/device-dev/porting/Readme-EN.md +++ b/en/device-dev/porting/Readme-EN.md @@ -17,7 +17,7 @@ - [Board-Level Driver Adaptation](transplant-chip-board-drive.md) - [Implementation of APIs at the HAL](transplant-chip-board-hal.md) - [System Modules](transplant-chip-board-component.md) - - [三方组件适配](transplant-chip-board-bundle.md) + - [Third-party Module Adaptation](transplant-chip-board-bundle.md) - [XTS](transplant-chip-board-xts.md) - [FAQ](transplant-chip-faqs.md) - [Small System SoC Porting Guide](transplant-smallchip.md) diff --git a/en/device-dev/porting/figure/kernel-startup-framework.jpg b/en/device-dev/porting/figure/kernel-startup-framework.jpg index 8e99fdaa50fdcc1cd5eaf3023ba62cce2f6a8981..ac1271b5dcd4fc06199df236a4741a71d8040eb4 100644 GIT binary patch literal 917400 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�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 literal 912006 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

    V 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%0AX2O-t<@Pf2Gv7eU0dxS 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

    #H4utArGNPRVW4h&!sjQq6=;|~z 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�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
    mY91-NVFhu!+;euWz@Hkq^RK%yd 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 z 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 diff --git a/en/device-dev/porting/transplant-chip-board-bundle.md b/en/device-dev/porting/transplant-chip-board-bundle.md index d6c185df8b3..1f0a46c450c 100644 --- a/en/device-dev/porting/transplant-chip-board-bundle.md +++ b/en/device-dev/porting/transplant-chip-board-bundle.md @@ -1,15 +1,15 @@ -# 三方组件适配 +# Third-party Module Adaptation -如果需要使用third\_party目录下与产品相关的三方组件,可能需要对三方组件进行适配,下面以比较常用的mbedtls为例,介绍下适配步骤,注意本小节中仅介绍如何将适配的代码与OpenHarmony的编译框架融合,不会详细介绍mbedtls本身的原理和适配代码的具体逻辑,这些内容请参考mbedtls官方网站上的适配指南。 +To use third-party modules in the **third\_party** directory, you may need to adapt the modules. This section uses mbedTLS as an example to describe how to integrate the adaptation code with the OpenHarmony compilation framework. For the principles of mbedTLS and the specific logic of the adaptation code, see the adaptation guide on the mbedTLS official website. -1. 编写适配层代码 +1. Write the adaptation layer code. - 根据mbedtls官网的适配指南,编写需要的适配层代码,以适配硬件随机数举例,下面的路径都是相对third\_party/mbedtls的路径: + Write the required adaptation layer code based on the mbedTLS adaptation guide. In this example, adaptation of the hardware random number is used for illustration, and the paths are relative to **third\_party/mbedtls**: - 1. 拷贝include/mbedtls/config.h到ports目录下,并修改打开MBEDTLS\_ENTROPY\_HARDWARE\_ALT开关。 - 2. 在ports目录下创建entropy\_poll\_alt.c文件include并实现entropy\_poll.h中的硬件随机数接口 - 3. 在BUILD.gn中的mbedtls\_sources中增加刚才适配的entropy\_poll\_alt.c的路径 - 4. 在BIULD.gn中的lite\_library\("mbedtls\_static"\)中增加一行MBEDTLS\_CONFIG\_FILE指定新配置文件的位置 + 1. Copy the **include/mbedtls/config.h** file to the **ports** directory, and enable **MBEDTLS\_ENTROPY\_HARDWARE\_ALT** in the file. + 2. In the **ports** directory, create the **entropy\_poll\_alt.c** file under **include** and implement the hardware random number API in **entropy\_poll.h**. + 3. Add the path of the adapted **entropy\_poll\_alt.c** file to **mbedtls\_sources** in the **BUILD.gn** file. + 4. Add the line **MBEDTLS\_CONFIG\_FILE** to **lite\_library\("mbedtls\_static"\)** in the **BUILD.gn** file to specify the path of the new configuration file. ``` lite_library("mbedtks_static") { @@ -20,38 +20,38 @@ ``` - 注意,上面的修改最好都新建一个config或者新建一个xxx\_alt.c文件来修改,不要直接在原先的代码中修改,侵入式的修改会导致后续版本升级出现大量零散冲突,增加升级维护成本。 + You are advised to make the preceding modifications in a new **config.h** file or **_xxx_\_alt.c** file. Do not directly edit the code in the original file. Intrusive modifications may cause a large number of scattered conflicts during subsequent version updates, increasing the update maintenance costs. -2. 制作patch +2. Create a patch. - 由于上面的适配是硬件相关的,上库代码时,不能直接放到通用的third\_party/mbedtls目录中,因此需要将上面的修改制作成patch,在编译之前通过打patch的方式注入到代码中。 + The preceding adaptation is hardware-specific. Therefore, when uploading code to the library, you cannot directly store the code in the **third\_party/mbedtls** directory. Instead, you need to integrate the preceding modifications into a patch and inject the patch into the code for a build. - 1. 首先增加设备的patch配置文件device///patch.yml - 2. 编辑device///patch.yml,增加要打的patch的信息: + 1. Add the patch configuration file **device/<_company_\>/<_board_\>/patch.yml**. + 2. In the **device/<_company_\>/<_board_\>/patch.yml** file, add the information about the patch to apply. ``` - # 需要打patch的路径,路径均为相对代码根目录的路径 + # Path of the patch to apply. This path is relative to the code root directory. third_party/mbedtls: - # 该路径下需要打的patch存放路径 + # Directory in which the patch is stored. - device///third_party/mbedtls/adapter.patch third_party/wpa_supplicant: - # 当一个路径下有多个patch的时候会依次执行patch + # When there are multiple patches in a path, the patches are executed in sequence. - device///third_party/wpa_supplicant/xxxxx.patch - device///third_party/wpa_supplicant/yyyyy.patch ... ``` - 3. 制作上述**步骤1**修改的patch并放到对应的目录即可 + 3. Create a patch file as described in step [1](#li12446195633211) and save it to the corresponding directory. -3. 使用带patch的编译 +3. Start a build with the patch. - 想要在编译的时候带上patch,其他步骤不变,仅需要在触发编译的时候加上 --patch,例如全编译的命令编程 + Add **--patch** when triggering a build. The following is the command for executing a full build with a patch: ``` hb build -f --patch ``` >![](../public_sys-resources/icon-caution.gif) **CAUTION:** - >最后一次打patch的产品信息会被记录,在进行下一次编译操作时,会对上一次的patch进行回退(即执行\`patch -p1 -R < xxx\`),回退patch失败或新增patch失败均会终止编译过程,请解决patch冲突后再次尝试编译。 + >The information about the product to which the patch is most recently applied will be recorded. Next time the build is performed, the previous patch is rolled back \(that is, **\`patch -p1 -R < xxx\`** is executed\). If the patch fails to be rolled back or a patch fails to be added, the build process is terminated. In this case, resolve the patch conflict and try again. diff --git a/en/device-dev/porting/transplant-chip-board.md b/en/device-dev/porting/transplant-chip-board.md index c674dd27e2d..4800ddd71c3 100644 --- a/en/device-dev/porting/transplant-chip-board.md +++ b/en/device-dev/porting/transplant-chip-board.md @@ -8,7 +8,7 @@ - **[System Modules](transplant-chip-board-component.md)** -- **[三方组件适配](transplant-chip-board-bundle.md)** +- **[Third-party Module Adaptation](transplant-chip-board-bundle.md)** - **[XTS](transplant-chip-board-xts.md)** diff --git a/en/device-dev/porting/transplant-smallchip-drive-des.md b/en/device-dev/porting/transplant-smallchip-drive-des.md index 8608a1fff83..f0d29c99304 100644 --- a/en/device-dev/porting/transplant-smallchip-drive-des.md +++ b/en/device-dev/porting/transplant-smallchip-drive-des.md @@ -7,5 +7,5 @@ Drivers can be classified as platform drivers or device drivers. The platform dr ![](figure/分类.png) -The HDF driver is designed to be used across OSs. The HDF driver framework provides strong support for the driver to achieve this goal. During HDF driver development, you are advised to use only the APIs provided by the HDF driver framework. Otherwise, the driver cannot be used across OSs. Before driver development, familiarize yourself with the [HDF](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/hdf.md). +The Hardware Driver Foundation \(HDF\) is designed to work across OSs. The HDF driver framework provides strong support for drivers to achieve this goal. During HDF driver development, you are advised to use only the APIs provided by the HDF driver framework. Otherwise, the driver cannot be used across OSs. Before driver development, familiarize yourself with the [HDF](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/hdf.md). diff --git a/en/device-dev/porting/transplant-smallchip-drive-oom.md b/en/device-dev/porting/transplant-smallchip-drive-oom.md index 6ca81d10be2..76c1b0741c2 100644 --- a/en/device-dev/porting/transplant-smallchip-drive-oom.md +++ b/en/device-dev/porting/transplant-smallchip-drive-oom.md @@ -163,7 +163,7 @@ The WLAN driver is divided into two parts. One of the parts manages WLAN devices ![](figure/hdf_wifi.png) -As shown in [Figure 1](#fig155920160203), the left part manages Wi-Fi devices, and the right part manages WLAN traffic. The HDF WLAN framework abstracts these two parts. The porting process of the driver can be considered as the implementation of the APIs required by the two parts. These APIs are described as follows: +As shown in [Figure 1](#fig155920160203), the part on the left manages WLAN devices, and the part on the right manages WLAN traffic. The HDF WLAN framework abstracts these two parts. The porting process of the driver can be considered as the implementation of the APIs required by the two parts. These APIs are described as follows: - - - @@ -312,11 +312,11 @@ The porting procedure is as follows:

    API

    @@ -178,21 +178,21 @@ As shown in [Figure 1](#fig155920160203), the left part manages Wi-Fi devices,

    drivers\framework\include\wifi\hdf_wlan_chipdriver_manager.h

    Factory of the ChipDriver, which is used to support multiple WLAN ports of a chip.

    +

    Factory of the ChipDriver, which is used to support multiple WLAN interfaces of a chip.

    HdfChipDriver

    drivers\framework\include\wifi\wifi_module.h

    Manages a specific WLAN port.

    +

    Manages a specific WLAN interface.

    NetDeviceInterFace

    drivers\framework\include\wifi\net_device.h

    Communicates with the protocol stack, such as sending data and setting the status of network ports.

    +

    Communicates with the protocol stack, such as sending data and setting the status of network interfaces.

    -2. Compile a configuration file to describe the chips supported by the driver. +2. Create a configuration file to describe the chips supported by the driver. Create a chip configuration file in the product configuration directory and save it to the source code path **//vendor/vendor\_name/product\_name/config/wifi/wlan\_chip\_chip\_name.hcs**. - The following is the file template: + The sample code is as follows: ``` root { @@ -339,7 +339,7 @@ The porting procedure is as follows: >Replace the values of **vendor\_name**, **product\_name**, and **chip\_name** in the path and file with the actual names. >Set **vendorId** and **deviceId** to the actual vendor ID and chip ID, respectively. -3. Compile the configuration file and load the driver. +3. Edit the configuration file and load the driver. All device information of the product is defined in the source code file **//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs**. Modify the file and add configurations to the **device** named **device\_wlan\_chips** in the **host** of the **network** command. The sample code is as follows: diff --git a/en/device-dev/porting/transplant-smallchip-drive-plat.md b/en/device-dev/porting/transplant-smallchip-drive-plat.md index e09e0856c25..b6fd4a386b6 100644 --- a/en/device-dev/porting/transplant-smallchip-drive-plat.md +++ b/en/device-dev/porting/transplant-smallchip-drive-plat.md @@ -1,6 +1,6 @@ # Platform Driver Porting -Create a platform driver in the source code directory **//device/vendor\_name/soc\_name/drivers**. If there is no repository for the vendor of your SoC, contact [sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard.md) to create one. +Create a platform driver in the source code directory **//device/vendor\_name/soc\_name/drivers**. If there is no repository for the vendor of your SoC, contact the [device SIG](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard.md) to create one. The recommended directory structure is as follows: @@ -31,9 +31,9 @@ device The HDF creates driver models for all platform drivers. The main task of porting platform drivers is to inject instances into the models. You can find the definitions of these models in the source code directory **//drivers/framework/support/platform/include**. -This section uses the GPIO as an example to describe how to port the platform driver. The porting procedure is as follows: +The following uses the GPIO as an example to describe how to port the platform driver: -1. Creating a GPIO driver. +1. Create a GPIO driver. Create the **soc\_name\_gpio.c** file in the source code directory **//device/vendor\_name/soc\_name/drivers/gpio**. The sample code is as follows: @@ -70,7 +70,7 @@ This section uses the GPIO as an example to describe how to port the platform dr { // The GpioCntlrFromDevice method obtains the model instance registered in the init method from the abstract device object. struct GpioCntlr *cntlr = GpioCntlrFromDevice(device); - // Destroy allocations. + // Release resources. } struct HdfDriverEntry g_gpioDriverEntry = { @@ -85,7 +85,7 @@ This section uses the GPIO as an example to describe how to port the platform dr 2. Create a build entry for the vendor driver. - As described above, **device/vendor\_name/drivers/lite.mk** is the entry for building vendor drivers. We need to start from this entry to build. + As described above, **device/vendor\_name/drivers/lite.mk** is the entry for building vendor drivers. We need to start building from this entry. ``` # File: device/vendor_name/drivers/lite.mk @@ -98,7 +98,7 @@ This section uses the GPIO as an example to describe how to port the platform dr LIB_SUBDIRS += $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ ``` -3. Create a build Entry for the SoC driver. +3. Create a build entry for the SoC driver. ``` # File: device/vendor_name/soc_name/drivers/lite.mk -- Gitee From 1137f9f82e53b2c06179c9bca4b5d757488049ab Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Wed, 21 Jul 2021 19:26:55 +0800 Subject: [PATCH 08/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- en/device-dev/driver/Readme-EN.md | 44 +-- en/device-dev/driver/drive-hdf.md | 15 - en/device-dev/driver/drive-peripherals.md | 11 - en/device-dev/driver/drive-platform.md | 19 - ...velopment.md => driver-hdf-development.md} | 2 +- ...ive-hdf-manage.md => driver-hdf-manage.md} | 0 .../{drive-hdf-news.md => driver-hdf-news.md} | 0 ...hdf-overview.md => driver-hdf-overview.md} | 0 ...ive-hdf-sample.md => driver-hdf-sample.md} | 0 ...emanage.md => driver-hdf-servicemanage.md} | 0 en/device-dev/driver/driver-hdf.md | 15 + ....md => driver-peripherals-external-des.md} | 0 ...d-des.md => driver-peripherals-lcd-des.md} | 0 ...es.md => driver-peripherals-sensor-des.md} | 4 +- ...des.md => driver-peripherals-touch-des.md} | 6 +- en/device-dev/driver/driver-peripherals.md | 11 + ...pio-des.md => driver-platform-gpio-des.md} | 0 ...-i2c-des.md => driver-platform-i2c-des.md} | 0 ...-des.md => driver-platform-mipidsi-des.md} | 0 ...-rtc-des.md => driver-platform-rtc-des.md} | 0 ...dio-des.md => driver-platform-sdio-des.md} | 0 ...-spi-des.md => driver-platform-spi-des.md} | 0 ...art-des.md => driver-platform-uart-des.md} | 0 ...des.md => driver-platform-watchdog-des.md} | 0 en/device-dev/driver/driver-platform.md | 19 + en/device-dev/driver/{drive.md => driver.md} | 6 +- en/device-dev/guide/Readme-EN.md | 4 +- ...ce-drive-demo.md => device-driver-demo.md} | 2 +- ...ive-demo.md => device-outerdriver-demo.md} | 2 +- en/device-dev/guide/device.md | 4 +- en/device-dev/overview.md | 2 +- en/device-dev/subsystems/Readme-EN.md | 8 +- en/device-dev/subsystems/subsys-densor.md | 9 - ...s-densor-demo.md => subsys-sensor-demo.md} | 0 ...densor-guide.md => subsys-sensor-guide.md} | 0 ...-overview.md => subsys-sensor-overview.md} | 0 en/device-dev/subsystems/subsys-sensor.md | 9 + en/device-dev/subsystems/subsys.md | 2 +- en/readme.md | 4 +- zh-cn/device-dev/driver/Readme-CN.md | 42 +- zh-cn/device-dev/driver/drive-peripherals.md | 11 - zh-cn/device-dev/driver/drive-platform.md | 19 - zh-cn/device-dev/driver/drive.md | 19 - ...velopment.md => driver-hdf-development.md} | 4 +- ...ive-hdf-manage.md => driver-hdf-manage.md} | 0 .../{drive-hdf-news.md => driver-hdf-news.md} | 2 +- ...hdf-overview.md => driver-hdf-overview.md} | 0 ...ive-hdf-sample.md => driver-hdf-sample.md} | 0 ...emanage.md => driver-hdf-servicemanage.md} | 0 ....md => driver-peripherals-external-des.md} | 0 ...d-des.md => driver-peripherals-lcd-des.md} | 2 +- ...es.md => driver-peripherals-sensor-des.md} | 4 +- ...des.md => driver-peripherals-touch-des.md} | 6 +- zh-cn/device-dev/driver/driver-peripherals.md | 11 + ...pio-des.md => driver-platform-gpio-des.md} | 0 ...-i2c-des.md => driver-platform-i2c-des.md} | 0 ...-des.md => driver-platform-mipidsi-des.md} | 0 ...-rtc-des.md => driver-platform-rtc-des.md} | 0 ...dio-des.md => driver-platform-sdio-des.md} | 0 ...-spi-des.md => driver-platform-spi-des.md} | 0 ...art-des.md => driver-platform-uart-des.md} | 0 ...des.md => driver-platform-watchdog-des.md} | 0 zh-cn/device-dev/driver/driver-platform.md | 19 + zh-cn/device-dev/driver/driver.md | 19 + zh-cn/device-dev/guide/Readme-CN.md | 4 +- ...ce-drive-demo.md => device-driver-demo.md} | 2 +- ...ive-demo.md => device-outerdriver-demo.md} | 4 +- zh-cn/device-dev/guide/device.md | 4 +- zh-cn/device-dev/porting/Readme-CN.md | 61 ++- .../porting/standard_system_porting_guide.md | 374 ++++++++++++++++++ zh-cn/device-dev/subsystems/Readme-CN.md | 8 +- zh-cn/device-dev/subsystems/subsys-densor.md | 9 - ...s-densor-demo.md => subsys-sensor-demo.md} | 0 ...densor-guide.md => subsys-sensor-guide.md} | 0 ...-overview.md => subsys-sensor-overview.md} | 0 zh-cn/device-dev/subsystems/subsys-sensor.md | 9 + zh-cn/device-dev/subsystems/subsys.md | 2 +- .../device-dev/\345\257\274\350\257\273.md" | 2 +- zh-cn/readme.md | 4 +- 79 files changed, 604 insertions(+), 235 deletions(-) delete mode 100644 en/device-dev/driver/drive-hdf.md delete mode 100644 en/device-dev/driver/drive-peripherals.md delete mode 100644 en/device-dev/driver/drive-platform.md rename en/device-dev/driver/{drive-hdf-development.md => driver-hdf-development.md} (99%) rename en/device-dev/driver/{drive-hdf-manage.md => driver-hdf-manage.md} (100%) rename en/device-dev/driver/{drive-hdf-news.md => driver-hdf-news.md} (100%) rename en/device-dev/driver/{drive-hdf-overview.md => driver-hdf-overview.md} (100%) rename en/device-dev/driver/{drive-hdf-sample.md => driver-hdf-sample.md} (100%) rename en/device-dev/driver/{drive-hdf-servicemanage.md => driver-hdf-servicemanage.md} (100%) create mode 100644 en/device-dev/driver/driver-hdf.md rename en/device-dev/driver/{drive-peripherals-external-des.md => driver-peripherals-external-des.md} (100%) rename en/device-dev/driver/{drive-peripherals-lcd-des.md => driver-peripherals-lcd-des.md} (100%) rename en/device-dev/driver/{drive-peripherals-sensor-des.md => driver-peripherals-sensor-des.md} (99%) rename en/device-dev/driver/{drive-peripherals-touch-des.md => driver-peripherals-touch-des.md} (97%) create mode 100644 en/device-dev/driver/driver-peripherals.md rename en/device-dev/driver/{drive-platform-gpio-des.md => driver-platform-gpio-des.md} (100%) rename en/device-dev/driver/{drive-platform-i2c-des.md => driver-platform-i2c-des.md} (100%) rename en/device-dev/driver/{drive-platform-mipidsi-des.md => driver-platform-mipidsi-des.md} (100%) rename en/device-dev/driver/{drive-platform-rtc-des.md => driver-platform-rtc-des.md} (100%) rename en/device-dev/driver/{drive-platform-sdio-des.md => driver-platform-sdio-des.md} (100%) rename en/device-dev/driver/{drive-platform-spi-des.md => driver-platform-spi-des.md} (100%) rename en/device-dev/driver/{drive-platform-uart-des.md => driver-platform-uart-des.md} (100%) rename en/device-dev/driver/{drive-platform-watchdog-des.md => driver-platform-watchdog-des.md} (100%) create mode 100644 en/device-dev/driver/driver-platform.md rename en/device-dev/driver/{drive.md => driver.md} (36%) rename en/device-dev/guide/{device-drive-demo.md => device-driver-demo.md} (98%) rename en/device-dev/guide/{device-outerdrive-demo.md => device-outerdriver-demo.md} (99%) delete mode 100644 en/device-dev/subsystems/subsys-densor.md rename en/device-dev/subsystems/{subsys-densor-demo.md => subsys-sensor-demo.md} (100%) rename en/device-dev/subsystems/{subsys-densor-guide.md => subsys-sensor-guide.md} (100%) rename en/device-dev/subsystems/{subsys-densor-overview.md => subsys-sensor-overview.md} (100%) create mode 100644 en/device-dev/subsystems/subsys-sensor.md delete mode 100644 zh-cn/device-dev/driver/drive-peripherals.md delete mode 100644 zh-cn/device-dev/driver/drive-platform.md delete mode 100644 zh-cn/device-dev/driver/drive.md rename zh-cn/device-dev/driver/{drive-hdf-development.md => driver-hdf-development.md} (98%) rename zh-cn/device-dev/driver/{drive-hdf-manage.md => driver-hdf-manage.md} (100%) rename zh-cn/device-dev/driver/{drive-hdf-news.md => driver-hdf-news.md} (98%) rename zh-cn/device-dev/driver/{drive-hdf-overview.md => driver-hdf-overview.md} (100%) rename zh-cn/device-dev/driver/{drive-hdf-sample.md => driver-hdf-sample.md} (100%) rename zh-cn/device-dev/driver/{drive-hdf-servicemanage.md => driver-hdf-servicemanage.md} (100%) rename zh-cn/device-dev/driver/{drive-peripherals-external-des.md => driver-peripherals-external-des.md} (100%) rename zh-cn/device-dev/driver/{drive-peripherals-lcd-des.md => driver-peripherals-lcd-des.md} (97%) rename zh-cn/device-dev/driver/{drive-peripherals-sensor-des.md => driver-peripherals-sensor-des.md} (99%) rename zh-cn/device-dev/driver/{drive-peripherals-touch-des.md => driver-peripherals-touch-des.md} (96%) create mode 100644 zh-cn/device-dev/driver/driver-peripherals.md rename zh-cn/device-dev/driver/{drive-platform-gpio-des.md => driver-platform-gpio-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-i2c-des.md => driver-platform-i2c-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-mipidsi-des.md => driver-platform-mipidsi-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-rtc-des.md => driver-platform-rtc-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-sdio-des.md => driver-platform-sdio-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-spi-des.md => driver-platform-spi-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-uart-des.md => driver-platform-uart-des.md} (100%) rename zh-cn/device-dev/driver/{drive-platform-watchdog-des.md => driver-platform-watchdog-des.md} (100%) create mode 100644 zh-cn/device-dev/driver/driver-platform.md create mode 100644 zh-cn/device-dev/driver/driver.md rename zh-cn/device-dev/guide/{device-drive-demo.md => device-driver-demo.md} (98%) rename zh-cn/device-dev/guide/{device-outerdrive-demo.md => device-outerdriver-demo.md} (99%) create mode 100644 zh-cn/device-dev/porting/standard_system_porting_guide.md delete mode 100644 zh-cn/device-dev/subsystems/subsys-densor.md rename zh-cn/device-dev/subsystems/{subsys-densor-demo.md => subsys-sensor-demo.md} (100%) rename zh-cn/device-dev/subsystems/{subsys-densor-guide.md => subsys-sensor-guide.md} (100%) rename zh-cn/device-dev/subsystems/{subsys-densor-overview.md => subsys-sensor-overview.md} (100%) create mode 100644 zh-cn/device-dev/subsystems/subsys-sensor.md diff --git a/en/device-dev/driver/Readme-EN.md b/en/device-dev/driver/Readme-EN.md index bbcc73ae3c7..c82515419fe 100644 --- a/en/device-dev/driver/Readme-EN.md +++ b/en/device-dev/driver/Readme-EN.md @@ -1,23 +1,23 @@ -# Drivers +# drivers -- [HDF](drive-hdf.md) - - [HDF Overview](drive-hdf-overview.md) - - [Driver Development](drive-hdf-development.md) - - [Driver Service Management](drive-hdf-servicemanage.md) - - [Driver Message Mechanism Management](drive-hdf-news.md) - - [Driver Configuration Management](drive-hdf-manage.md) - - [HDF Development Example](drive-hdf-sample.md) -- [Platform Drivers](drive-platform.md) - - [GPIO](drive-platform-gpio-des.md) - - [I2C](drive-platform-i2c-des.md) - - [RTC](drive-platform-rtc-des.md) - - [SDIO](drive-platform-sdio-des.md) - - [SPI](drive-platform-spi-des.md) - - [UART](drive-platform-uart-des.md) - - [Watchdog](drive-platform-watchdog-des.md) - - [MIPI DSI](drive-platform-mipidsi-des.md) -- [Peripherals](drive-peripherals.md) - - [LCD](drive-peripherals-lcd-des.md) - - [TOUCHSCREEN](drive-peripherals-touch-des.md) - - [Sensor](drive-peripherals-sensor-des.md) - - [WLAN](drive-peripherals-external-des.md) \ No newline at end of file +- [HDF](driver-hdf.md) + - [HDF Overview](driver-hdf-overview.md) + - [driverr Development](driver-hdf-development.md) + - [driverr Service Management](driver-hdf-servicemanage.md) + - [driverr Message Mechanism Management](driver-hdf-news.md) + - [driverr Configuration Management](driver-hdf-manage.md) + - [HDF Development Example](driver-hdf-sample.md) +- [Platform driverrs](driver-platform.md) + - [GPIO](driver-platform-gpio-des.md) + - [I2C](driver-platform-i2c-des.md) + - [RTC](driver-platform-rtc-des.md) + - [SDIO](driver-platform-sdio-des.md) + - [SPI](driver-platform-spi-des.md) + - [UART](driver-platform-uart-des.md) + - [Watchdog](driver-platform-watchdog-des.md) + - [MIPI DSI](driver-platform-mipidsi-des.md) +- [Peripherals](driver-peripherals.md) + - [LCD](driver-peripherals-lcd-des.md) + - [TOUCHSCREEN](driver-peripherals-touch-des.md) + - [Sensor](driver-peripherals-sensor-des.md) + - [WLAN](driver-peripherals-external-des.md) \ No newline at end of file diff --git a/en/device-dev/driver/drive-hdf.md b/en/device-dev/driver/drive-hdf.md deleted file mode 100644 index 488b6c17607..00000000000 --- a/en/device-dev/driver/drive-hdf.md +++ /dev/null @@ -1,15 +0,0 @@ -# HDF - -- **[HDF Overview](drive-hdf-overview.md)** - -- **[Driver Development](drive-hdf-development.md)** - -- **[Driver Service Management](drive-hdf-servicemanage.md)** - -- **[Driver Message Mechanism Management](drive-hdf-news.md)** - -- **[Driver Configuration Management](drive-hdf-manage.md)** - -- **[HDF Development Example](drive-hdf-sample.md)** - - diff --git a/en/device-dev/driver/drive-peripherals.md b/en/device-dev/driver/drive-peripherals.md deleted file mode 100644 index 074c08226b9..00000000000 --- a/en/device-dev/driver/drive-peripherals.md +++ /dev/null @@ -1,11 +0,0 @@ -# Peripherals - -- **[LCD](drive-peripherals-lcd-des.md)** - -- **[TOUCHSCREEN](drive-peripherals-touch-des.md)** - -- **[Sensor](drive-peripherals-sensor-des.md)** - -- **[WLAN](drive-peripherals-external-des.md)** - - diff --git a/en/device-dev/driver/drive-platform.md b/en/device-dev/driver/drive-platform.md deleted file mode 100644 index 98ac4fa1908..00000000000 --- a/en/device-dev/driver/drive-platform.md +++ /dev/null @@ -1,19 +0,0 @@ -# Platform Drivers - -- **[GPIO](drive-platform-gpio-des.md)** - -- **[I2C](drive-platform-i2c-des.md)** - -- **[RTC](drive-platform-rtc-des.md)** - -- **[SDIO](drive-platform-sdio-des.md)** - -- **[SPI](drive-platform-spi-des.md)** - -- **[UART](drive-platform-uart-des.md)** - -- **[Watchdog](drive-platform-watchdog-des.md)** - -- **[MIPI DSI](drive-platform-mipidsi-des.md)** - - diff --git a/en/device-dev/driver/drive-hdf-development.md b/en/device-dev/driver/driver-hdf-development.md similarity index 99% rename from en/device-dev/driver/drive-hdf-development.md rename to en/device-dev/driver/driver-hdf-development.md index 3bff3b0910e..7d9e91390c0 100644 --- a/en/device-dev/driver/drive-hdf-development.md +++ b/en/device-dev/driver/driver-hdf-development.md @@ -89,7 +89,7 @@ Driver development based on the HDF consists of two parts: driver implementation 3. Configure the driver. - HDF Configuration Source \(HCS\) is the source code that describes the configuration of the HDF. For details about the HCS, see [Driver Configuration Management](drive-hdf-manage.md). + HDF Configuration Source \(HCS\) is the source code that describes the configuration of the HDF. For details about the HCS, see [Driver Configuration Management](driver-hdf-manage.md). The driver configuration consists of the driver device description defined by the HDF and private driver configuration information. diff --git a/en/device-dev/driver/drive-hdf-manage.md b/en/device-dev/driver/driver-hdf-manage.md similarity index 100% rename from en/device-dev/driver/drive-hdf-manage.md rename to en/device-dev/driver/driver-hdf-manage.md diff --git a/en/device-dev/driver/drive-hdf-news.md b/en/device-dev/driver/driver-hdf-news.md similarity index 100% rename from en/device-dev/driver/drive-hdf-news.md rename to en/device-dev/driver/driver-hdf-news.md diff --git a/en/device-dev/driver/drive-hdf-overview.md b/en/device-dev/driver/driver-hdf-overview.md similarity index 100% rename from en/device-dev/driver/drive-hdf-overview.md rename to en/device-dev/driver/driver-hdf-overview.md diff --git a/en/device-dev/driver/drive-hdf-sample.md b/en/device-dev/driver/driver-hdf-sample.md similarity index 100% rename from en/device-dev/driver/drive-hdf-sample.md rename to en/device-dev/driver/driver-hdf-sample.md diff --git a/en/device-dev/driver/drive-hdf-servicemanage.md b/en/device-dev/driver/driver-hdf-servicemanage.md similarity index 100% rename from en/device-dev/driver/drive-hdf-servicemanage.md rename to en/device-dev/driver/driver-hdf-servicemanage.md diff --git a/en/device-dev/driver/driver-hdf.md b/en/device-dev/driver/driver-hdf.md new file mode 100644 index 00000000000..cc7e51c2b54 --- /dev/null +++ b/en/device-dev/driver/driver-hdf.md @@ -0,0 +1,15 @@ +# HDF + +- **[HDF Overview](driver-hdf-overview.md)** + +- **[driverr Development](driver-hdf-development.md)** + +- **[driverr Service Management](driver-hdf-servicemanage.md)** + +- **[driverr Message Mechanism Management](driver-hdf-news.md)** + +- **[driverr Configuration Management](driver-hdf-manage.md)** + +- **[HDF Development Example](driver-hdf-sample.md)** + + diff --git a/en/device-dev/driver/drive-peripherals-external-des.md b/en/device-dev/driver/driver-peripherals-external-des.md similarity index 100% rename from en/device-dev/driver/drive-peripherals-external-des.md rename to en/device-dev/driver/driver-peripherals-external-des.md diff --git a/en/device-dev/driver/drive-peripherals-lcd-des.md b/en/device-dev/driver/driver-peripherals-lcd-des.md similarity index 100% rename from en/device-dev/driver/drive-peripherals-lcd-des.md rename to en/device-dev/driver/driver-peripherals-lcd-des.md diff --git a/en/device-dev/driver/drive-peripherals-sensor-des.md b/en/device-dev/driver/driver-peripherals-sensor-des.md similarity index 99% rename from en/device-dev/driver/drive-peripherals-sensor-des.md rename to en/device-dev/driver/driver-peripherals-sensor-des.md index a787e632d8c..5ad5682a943 100644 --- a/en/device-dev/driver/drive-peripherals-sensor-des.md +++ b/en/device-dev/driver/driver-peripherals-sensor-des.md @@ -264,7 +264,7 @@ Regardless of the OS and system on a chip \(SoC\), the sensor driver is develope ## Development Example -This section uses a code example to demonstrate how to load and start the acceleration sensor driver based on the HDF driver model. For details about the mechanism, see [Driver Development](drive-hdf-development.md). This example uses the Bosch BMI160 acceleration sensor that communicates over I2C. +This section uses a code example to demonstrate how to load and start the acceleration sensor driver based on the HDF driver model. For details about the mechanism, see [Driver Development](driver-hdf-development.md). This example uses the Bosch BMI160 acceleration sensor that communicates over I2C. 1. Register the driver entry of the acceleration sensor. @@ -286,7 +286,7 @@ HDF_INIT(g_sensorAccelDevEntry); - Acceleration sensor configuration -The acceleration sensor model uses the HCS as the configuration source code. For details about the HCS configuration fields, see [Driver Configuration Management](drive-hdf-manage.md). +The acceleration sensor model uses the HCS as the configuration source code. For details about the HCS configuration fields, see [Driver Configuration Management](driver-hdf-manage.md). ``` /* HCS configuration of the acceleration sensor device */ diff --git a/en/device-dev/driver/drive-peripherals-touch-des.md b/en/device-dev/driver/driver-peripherals-touch-des.md similarity index 97% rename from en/device-dev/driver/drive-peripherals-touch-des.md rename to en/device-dev/driver/driver-peripherals-touch-des.md index 274355990ed..f4bfd35be3c 100644 --- a/en/device-dev/driver/drive-peripherals-touch-des.md +++ b/en/device-dev/driver/driver-peripherals-touch-des.md @@ -46,7 +46,7 @@ - **Advantages of developing drivers based on the HDF** - The touchscreen driver is developed based on the [HDF](drive-hdf-development.md) and is implemented via calls to the OSAL and platform APIs, including bus APIs and OS native APIs \(such as memory, lock, thread, and timer\). The OSAL and platform APIs hide the differences of underlying hardware, so that the touchscreen driver can be migrated across platforms and OSs. In this regard, you can develop the touchscreen driver only once but deploy it on multiple devices. + The touchscreen driver is developed based on the [HDF](driver-hdf-development.md) and is implemented via calls to the OSAL and platform APIs, including bus APIs and OS native APIs \(such as memory, lock, thread, and timer\). The OSAL and platform APIs hide the differences of underlying hardware, so that the touchscreen driver can be migrated across platforms and OSs. In this regard, you can develop the touchscreen driver only once but deploy it on multiple devices. ### Available APIs @@ -101,7 +101,7 @@ Regardless of the OS and system on a chip \(SoC\), the input driver is developed 1. Add the touchscreen driver-related descriptions. - Currently, the input driver is developed based on the HDF and is loaded and started by the HDF. Register the driver information, such as whether to load the driver and the loading priority in the configuration file. Then, the HDF starts the registered driver modules one by one. For details about the driver configuration, see [Driver Development](drive-hdf-development.md#section1969312275533). + Currently, the input driver is developed based on the HDF and is loaded and started by the HDF. Register the driver information, such as whether to load the driver and the loading priority in the configuration file. Then, the HDF starts the registered driver modules one by one. For details about the driver configuration, see [Driver Development](driver-hdf-development.md#section1969312275533). 2. Complete the board-level configuration and private data configuration of the touchscreen. @@ -118,7 +118,7 @@ This example describes how to develop the touchscreen driver. ### Add the touchscreen driver-related descriptions. -The information about modules of the input driver model is shown as follows and enables the HDF to load the modules in sequence. For details, see [Driver Development](drive-hdf-development.md). +The information about modules of the input driver model is shown as follows and enables the HDF to load the modules in sequence. For details, see [Driver Development](driver-hdf-development.md). ``` input :: host { diff --git a/en/device-dev/driver/driver-peripherals.md b/en/device-dev/driver/driver-peripherals.md new file mode 100644 index 00000000000..02e7a9e357a --- /dev/null +++ b/en/device-dev/driver/driver-peripherals.md @@ -0,0 +1,11 @@ +# Peripherals + +- **[LCD](driver-peripherals-lcd-des.md)** + +- **[TOUCHSCREEN](driver-peripherals-touch-des.md)** + +- **[Sensor](driver-peripherals-sensor-des.md)** + +- **[WLAN](driver-peripherals-external-des.md)** + + diff --git a/en/device-dev/driver/drive-platform-gpio-des.md b/en/device-dev/driver/driver-platform-gpio-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-gpio-des.md rename to en/device-dev/driver/driver-platform-gpio-des.md diff --git a/en/device-dev/driver/drive-platform-i2c-des.md b/en/device-dev/driver/driver-platform-i2c-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-i2c-des.md rename to en/device-dev/driver/driver-platform-i2c-des.md diff --git a/en/device-dev/driver/drive-platform-mipidsi-des.md b/en/device-dev/driver/driver-platform-mipidsi-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-mipidsi-des.md rename to en/device-dev/driver/driver-platform-mipidsi-des.md diff --git a/en/device-dev/driver/drive-platform-rtc-des.md b/en/device-dev/driver/driver-platform-rtc-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-rtc-des.md rename to en/device-dev/driver/driver-platform-rtc-des.md diff --git a/en/device-dev/driver/drive-platform-sdio-des.md b/en/device-dev/driver/driver-platform-sdio-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-sdio-des.md rename to en/device-dev/driver/driver-platform-sdio-des.md diff --git a/en/device-dev/driver/drive-platform-spi-des.md b/en/device-dev/driver/driver-platform-spi-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-spi-des.md rename to en/device-dev/driver/driver-platform-spi-des.md diff --git a/en/device-dev/driver/drive-platform-uart-des.md b/en/device-dev/driver/driver-platform-uart-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-uart-des.md rename to en/device-dev/driver/driver-platform-uart-des.md diff --git a/en/device-dev/driver/drive-platform-watchdog-des.md b/en/device-dev/driver/driver-platform-watchdog-des.md similarity index 100% rename from en/device-dev/driver/drive-platform-watchdog-des.md rename to en/device-dev/driver/driver-platform-watchdog-des.md diff --git a/en/device-dev/driver/driver-platform.md b/en/device-dev/driver/driver-platform.md new file mode 100644 index 00000000000..c15f954770c --- /dev/null +++ b/en/device-dev/driver/driver-platform.md @@ -0,0 +1,19 @@ +# Platform drivers + +- **[GPIO](driver-platform-gpio-des.md)** + +- **[I2C](driver-platform-i2c-des.md)** + +- **[RTC](driver-platform-rtc-des.md)** + +- **[SDIO](driver-platform-sdio-des.md)** + +- **[SPI](driver-platform-spi-des.md)** + +- **[UART](driver-platform-uart-des.md)** + +- **[Watchdog](driver-platform-watchdog-des.md)** + +- **[MIPI DSI](driver-platform-mipidsi-des.md)** + + diff --git a/en/device-dev/driver/drive.md b/en/device-dev/driver/driver.md similarity index 36% rename from en/device-dev/driver/drive.md rename to en/device-dev/driver/driver.md index b448704264a..a046ce6e68b 100644 --- a/en/device-dev/driver/drive.md +++ b/en/device-dev/driver/driver.md @@ -1,9 +1,9 @@ # Driver Usage Guidelines -- **[HDF](drive-hdf.md)** +- **[HDF](driver-hdf.md)** -- **[Platform Drivers](drive-platform.md)** +- **[Platform Drivers](driver-platform.md)** -- **[Peripherals](drive-peripherals.md)** +- **[Peripherals](driver-peripherals.md)** diff --git a/en/device-dev/guide/Readme-EN.md b/en/device-dev/guide/Readme-EN.md index f5cbdaea83a..ca124ea327c 100644 --- a/en/device-dev/guide/Readme-EN.md +++ b/en/device-dev/guide/Readme-EN.md @@ -28,5 +28,5 @@ - [Running on the Device](device-camera-visual-run.md) - [FAQs](device-camera-visual-faqs.md) - [Development Guidelines on Clock Apps](oem_device_clockapp_des.md) -- [Development Example for Platform Drivers](device-drive-demo.md) -- [Development Example for Peripheral Drivers](device-outerdrive-demo.md) \ No newline at end of file +- [Development Example for Platform Drivers](device-driver-demo.md) +- [Development Example for Peripheral Drivers](device-outerdriver-demo.md) \ No newline at end of file diff --git a/en/device-dev/guide/device-drive-demo.md b/en/device-dev/guide/device-driver-demo.md similarity index 98% rename from en/device-dev/guide/device-drive-demo.md rename to en/device-dev/guide/device-driver-demo.md index 7abded8c938..9415d532308 100644 --- a/en/device-dev/guide/device-drive-demo.md +++ b/en/device-dev/guide/device-driver-demo.md @@ -161,7 +161,7 @@ Configure the **device\_info.hcs** file and obtain and parse device configurat 2. \(Optional\) Add configuration parameters. - The driver may require private configuration information to ensure that the register configuration meets the requirements of different products. If private configuration data is required, you can add a driver configuration file to store some default configuration information about the driver. When loading the driver, the HDF obtains the specified configuration information, saves it in the **property** attribute of **HdfDeviceObject**, and passes it to the driver via **Bind** and **Init**. For details about how to use **Bind** and **Init**, see [Driver Development](../driver/drive-hdf-development.md). You can create a configuration file and reference it in the **hdf.hcs** file of the board-level driver. In this example, configuration parameters are directly added to the existing configuration file **i2c\_config.hcs**. + The driver may require private configuration information to ensure that the register configuration meets the requirements of different products. If private configuration data is required, you can add a driver configuration file to store some default configuration information about the driver. When loading the driver, the HDF obtains the specified configuration information, saves it in the **property** attribute of **HdfDeviceObject**, and passes it to the driver via **Bind** and **Init**. For details about how to use **Bind** and **Init**, see [Driver Development](../driver/driver-hdf-development.md). You can create a configuration file and reference it in the **hdf.hcs** file of the board-level driver. In this example, configuration parameters are directly added to the existing configuration file **i2c\_config.hcs**. The following configuration parameters are added to the **i2c\_config.hcs** file: diff --git a/en/device-dev/guide/device-outerdrive-demo.md b/en/device-dev/guide/device-outerdriver-demo.md similarity index 99% rename from en/device-dev/guide/device-outerdrive-demo.md rename to en/device-dev/guide/device-outerdriver-demo.md index 06e6ef8f479..6ac02acd647 100644 --- a/en/device-dev/guide/device-outerdrive-demo.md +++ b/en/device-dev/guide/device-outerdriver-demo.md @@ -61,7 +61,7 @@ You can configure the device driver description in the configuration file at ** The **device\_info.hcs** file contains all necessary information for registering drivers in the input driver model with the HDF. You do not need to make any modification for the information unless otherwise required in special scenarios. The private configuration data of each driver uses the **deviceMatchAttr** field to match the **match\_attr** field in the **input\_config.hcs** file. -The input-related fields in the configuration file are as follows. For details about these fields, see [Driver Development](../driver/drive-hdf-development.md). +The input-related fields in the configuration file are as follows. For details about these fields, see [Driver Development](../driver/driver-hdf-development.md). ``` input :: host { diff --git a/en/device-dev/guide/device.md b/en/device-dev/guide/device.md index 80fbb7796e3..bbce9d52a9d 100644 --- a/en/device-dev/guide/device.md +++ b/en/device-dev/guide/device.md @@ -8,8 +8,8 @@ - **[Development Guidelines on Clock Apps](oem_device_clockapp_des.md)** -- **[Development Example for Platform Drivers](device-drive-demo.md)** +- **[Development Example for Platform Drivers](device-driver-demo.md)** -- **[Development Example for Peripheral Drivers](device-outerdrive-demo.md)** +- **[Development Example for Peripheral Drivers](device-outerdriver-demo.md)** diff --git a/en/device-dev/overview.md b/en/device-dev/overview.md index 388d13e0009..d8e511406ec 100644 --- a/en/device-dev/overview.md +++ b/en/device-dev/overview.md @@ -146,7 +146,7 @@ In addition, OpenHarmony provides a series of optional system components that ca

    Developing smart devices based on system capabilities

    +

    Porting and adaptation

    diff --git a/en/device-dev/subsystems/Readme-EN.md b/en/device-dev/subsystems/Readme-EN.md index e25ab80a3cc..0b5b089be53 100644 --- a/en/device-dev/subsystems/Readme-EN.md +++ b/en/device-dev/subsystems/Readme-EN.md @@ -39,10 +39,10 @@ - [KWS SDK](subsys-aiframework-demo-sdk.md) - [KWS Plug-in](subsys-aiframework-demo-plugin.md) - [KWS Configuration File](subsys-aiframework-demo-conf.md) -- [Sensors](subsys-densor.md) - - [Sensors Overview](subsys-densor-overview.md) - - [Sensors Usage Guidelines](subsys-densor-guide.md) - - [Sensors Usage Example](subsys-densor-demo.md) +- [Sensors](subsys-sensor.md) + - [Sensors Overview](subsys-sensor-overview.md) + - [Sensors Usage Guidelines](subsys-sensor-guide.md) + - [Sensors Usage Example](subsys-sensor-demo.md) - [Application Framework](subsys-application-framework.md) - [Overview](subsys-application-framework-overview.md) - [Setting Up a Development Environment](subsys-application-framework-builden.md) diff --git a/en/device-dev/subsystems/subsys-densor.md b/en/device-dev/subsystems/subsys-densor.md deleted file mode 100644 index 590bc4c9665..00000000000 --- a/en/device-dev/subsystems/subsys-densor.md +++ /dev/null @@ -1,9 +0,0 @@ -# Sensors - -- **[Sensors Overview](subsys-densor-overview.md)** - -- **[Sensors Usage Guidelines](subsys-densor-guide.md)** - -- **[Sensors Usage Example](subsys-densor-demo.md)** - - diff --git a/en/device-dev/subsystems/subsys-densor-demo.md b/en/device-dev/subsystems/subsys-sensor-demo.md similarity index 100% rename from en/device-dev/subsystems/subsys-densor-demo.md rename to en/device-dev/subsystems/subsys-sensor-demo.md diff --git a/en/device-dev/subsystems/subsys-densor-guide.md b/en/device-dev/subsystems/subsys-sensor-guide.md similarity index 100% rename from en/device-dev/subsystems/subsys-densor-guide.md rename to en/device-dev/subsystems/subsys-sensor-guide.md diff --git a/en/device-dev/subsystems/subsys-densor-overview.md b/en/device-dev/subsystems/subsys-sensor-overview.md similarity index 100% rename from en/device-dev/subsystems/subsys-densor-overview.md rename to en/device-dev/subsystems/subsys-sensor-overview.md diff --git a/en/device-dev/subsystems/subsys-sensor.md b/en/device-dev/subsystems/subsys-sensor.md new file mode 100644 index 00000000000..937d03221f5 --- /dev/null +++ b/en/device-dev/subsystems/subsys-sensor.md @@ -0,0 +1,9 @@ +# Sensors + +- **[Sensors Overview](subsys-sensor-overview.md)** + +- **[Sensors Usage Guidelines](subsys-sensor-guide.md)** + +- **[Sensors Usage Example](subsys-sensor-demo.md)** + + diff --git a/en/device-dev/subsystems/subsys.md b/en/device-dev/subsystems/subsys.md index 64d3b35c40b..9d1d0bdfb4c 100644 --- a/en/device-dev/subsystems/subsys.md +++ b/en/device-dev/subsystems/subsys.md @@ -12,7 +12,7 @@ - **[AI Framework](subsys-aiframework.md)** -- **[Sensors](subsys-densor.md)** +- **[Sensors](subsys-sensor.md)** - **[Application Framework](subsys-application-framework.md)** diff --git a/en/readme.md b/en/readme.md index 8325d965b21..4931059a15b 100644 --- a/en/readme.md +++ b/en/readme.md @@ -42,8 +42,8 @@ This project stores OpenHarmony documentation, including the quick start guide, - **guide**: - [Clock apps](device-dev/guide/oem_device_clockapp_des.md) - - [Platform drivers](device-dev/guide/device-drive-demo.md) - - [Peripheral drivers](device-dev/guide/device-outerdrive-demo.md) + - [Platform drivers](device-dev/guide/device-driver-demo.md) + - [Peripheral drivers](device-dev/guide/device-outerdriver-demo.md) - **porting**: diff --git a/zh-cn/device-dev/driver/Readme-CN.md b/zh-cn/device-dev/driver/Readme-CN.md index 39991f33cab..6651085f351 100755 --- a/zh-cn/device-dev/driver/Readme-CN.md +++ b/zh-cn/device-dev/driver/Readme-CN.md @@ -1,24 +1,24 @@ # 驱动使用指南 -- [HDF驱动框架](drive.md) - - [HDF开发概述](drive-hdf-overview.md) - - [驱动开发](drive-hdf-development.md) - - [驱动服务管理](drive-hdf-servicemanage.md) - - [驱动消息机制管理](drive-hdf-news.md) - - [配置管理](drive-hdf-manage.md) - - [HDF开发实例](drive-hdf-sample.md) -- [平台驱动](drive-platform.md) - - [GPIO](drive-platform-gpio-des.md) - - [I2C](drive-platform-i2c-des.md) - - [RTC](drive-platform-rtc-des.md) - - [SDIO](drive-platform-sdio-des.md) - - [SPI](drive-platform-spi-des.md) - - [UART](drive-platform-uart-des.md) - - [WATCHDOG](drive-platform-watchdog-des.md) - - [MIPI DSI](drive-platform-mipidsi-des.md) -- [外设](drive-peripherals.md) - - [LCD](drive-peripherals-lcd-des.md) - - [TOUCHSCREEN](drive-peripherals-touch-des.md) - - [SENSOR](drive-peripherals-sensor-des.md) - - [WLAN](drive-peripherals-external-des.md) +- [HDF驱动框架](driver.md) + - [HDF开发概述](driver-hdf-overview.md) + - [驱动开发](driver-hdf-development.md) + - [驱动服务管理](driver-hdf-servicemanage.md) + - [驱动消息机制管理](driver-hdf-news.md) + - [配置管理](driver-hdf-manage.md) + - [HDF开发实例](driver-hdf-sample.md) +- [平台驱动](driver-platform.md) + - [GPIO](driver-platform-gpio-des.md) + - [I2C](driver-platform-i2c-des.md) + - [RTC](driver-platform-rtc-des.md) + - [SDIO](driver-platform-sdio-des.md) + - [SPI](driver-platform-spi-des.md) + - [UART](driver-platform-uart-des.md) + - [WATCHDOG](driver-platform-watchdog-des.md) + - [MIPI DSI](driver-platform-mipidsi-des.md) +- [外设](driver-peripherals.md) + - [LCD](driver-peripherals-lcd-des.md) + - [TOUCHSCREEN](driver-peripherals-touch-des.md) + - [SENSOR](driver-peripherals-sensor-des.md) + - [WLAN](driver-peripherals-external-des.md) diff --git a/zh-cn/device-dev/driver/drive-peripherals.md b/zh-cn/device-dev/driver/drive-peripherals.md deleted file mode 100644 index 176fb421cd8..00000000000 --- a/zh-cn/device-dev/driver/drive-peripherals.md +++ /dev/null @@ -1,11 +0,0 @@ -# 外设 - -- **[LCD](drive-peripherals-lcd-des.md)** - -- **[TOUCHSCREEN](drive-peripherals-touch-des.md)** - -- **[SENSOR](drive-peripherals-sensor-des.md)** - -- **[WLAN](drive-peripherals-external-des.md)** - - diff --git a/zh-cn/device-dev/driver/drive-platform.md b/zh-cn/device-dev/driver/drive-platform.md deleted file mode 100644 index 6fd91defa4e..00000000000 --- a/zh-cn/device-dev/driver/drive-platform.md +++ /dev/null @@ -1,19 +0,0 @@ -# 平台驱动 - -- **[GPIO](drive-platform-gpio-des.md)** - -- **[I2C](drive-platform-i2c-des.md)** - -- **[RTC](drive-platform-rtc-des.md)** - -- **[SDIO](drive-platform-sdio-des.md)** - -- **[SPI](drive-platform-spi-des.md)** - -- **[UART](drive-platform-uart-des.md)** - -- **[WATCHDOG](drive-platform-watchdog-des.md)** - -- **[MIPI DSI](drive-platform-mipidsi-des.md)** - - diff --git a/zh-cn/device-dev/driver/drive.md b/zh-cn/device-dev/driver/drive.md deleted file mode 100644 index 0e8e677c95d..00000000000 --- a/zh-cn/device-dev/driver/drive.md +++ /dev/null @@ -1,19 +0,0 @@ -# 驱动使用指南 - -- **[HDF开发概述](drive-hdf-overview.md)** - -- **[驱动开发](drive-hdf-development.md)** - -- **[驱动服务管理](drive-hdf-servicemanage.md)** - -- **[驱动消息机制管理](drive-hdf-news.md)** - -- **[配置管理](drive-hdf-manage.md)** - -- **[HDF开发实例](drive-hdf-sample.md)** - -- **[平台驱动](drive-platform.md)** - -- **[外设](drive-peripherals.md)** - - diff --git a/zh-cn/device-dev/driver/drive-hdf-development.md b/zh-cn/device-dev/driver/driver-hdf-development.md similarity index 98% rename from zh-cn/device-dev/driver/drive-hdf-development.md rename to zh-cn/device-dev/driver/driver-hdf-development.md index b01173490a9..492abc6c66f 100644 --- a/zh-cn/device-dev/driver/drive-hdf-development.md +++ b/zh-cn/device-dev/driver/driver-hdf-development.md @@ -89,7 +89,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提 3. 驱动配置 - HDF使用HCS作为配置描述源码,HCS详细介绍参考[配置管理](drive-hdf-manage.md)介绍。 + HDF使用HCS作为配置描述源码,HCS详细介绍参考[配置管理](driver-hdf-manage.md)介绍。 驱动配置包含两部分,HDF框架定义的驱动设备描述和驱动的私有配置信息,具体写法如下: @@ -169,7 +169,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提 > DEVICE_PRELOAD_INVALID > } DevicePreload; > ``` -> 配置文件中preload 字段配成 0 (DEVICE\_PRELOAD\_ENABLE ),则系统启动过程中默认加载;配成1(DEVICE\_PRELOAD\_ENABLE\_STEP2),当系统支持快启的时候,则在系统系统完成之后再加载这一类驱动,否则和DEVICE\_PRELOAD\_ENABLE 含义相同;配成2(DEVICE\_PRELOAD\_DISABLE),则系统启动过程中默认不加载,支持后续动态加载,当用户态获取驱动服务(参考[消息机制](drive-hdf-news.md))时,如果驱动服务不存在时,HDF框架会尝试动态加载该驱动。 +> 配置文件中preload 字段配成 0 (DEVICE\_PRELOAD\_ENABLE ),则系统启动过程中默认加载;配成1(DEVICE\_PRELOAD\_ENABLE\_STEP2),当系统支持快启的时候,则在系统系统完成之后再加载这一类驱动,否则和DEVICE\_PRELOAD\_ENABLE 含义相同;配成2(DEVICE\_PRELOAD\_DISABLE),则系统启动过程中默认不加载,支持后续动态加载,当用户态获取驱动服务(参考[消息机制](driver-hdf-news.md))时,如果驱动服务不存在时,HDF框架会尝试动态加载该驱动。 >- 按序加载(需要驱动为默认加载) > 配置文件中的priority(取值范围为整数0到200)是用来表示host和驱动的优先级,不同的host内的驱动,host的priority值越小,驱动加载优先级越高;同一个host内驱动的priority值越小,加载优先级越高。 diff --git a/zh-cn/device-dev/driver/drive-hdf-manage.md b/zh-cn/device-dev/driver/driver-hdf-manage.md similarity index 100% rename from zh-cn/device-dev/driver/drive-hdf-manage.md rename to zh-cn/device-dev/driver/driver-hdf-manage.md diff --git a/zh-cn/device-dev/driver/drive-hdf-news.md b/zh-cn/device-dev/driver/driver-hdf-news.md similarity index 98% rename from zh-cn/device-dev/driver/drive-hdf-news.md rename to zh-cn/device-dev/driver/driver-hdf-news.md index d57a99d58b3..a956303a57c 100644 --- a/zh-cn/device-dev/driver/drive-hdf-news.md +++ b/zh-cn/device-dev/driver/driver-hdf-news.md @@ -49,7 +49,7 @@ ## 开发步骤 -1. 将驱动配置信息中服务策略policy字段设置为2(SERVICE\_POLICY\_CAPACITY,参考[policy定义](drive-hdf-servicemanage.md))。 +1. 将驱动配置信息中服务策略policy字段设置为2(SERVICE\_POLICY\_CAPACITY,参考[policy定义](driver-hdf-servicemanage.md))。 ``` device_sample :: Device { diff --git a/zh-cn/device-dev/driver/drive-hdf-overview.md b/zh-cn/device-dev/driver/driver-hdf-overview.md similarity index 100% rename from zh-cn/device-dev/driver/drive-hdf-overview.md rename to zh-cn/device-dev/driver/driver-hdf-overview.md diff --git a/zh-cn/device-dev/driver/drive-hdf-sample.md b/zh-cn/device-dev/driver/driver-hdf-sample.md similarity index 100% rename from zh-cn/device-dev/driver/drive-hdf-sample.md rename to zh-cn/device-dev/driver/driver-hdf-sample.md diff --git a/zh-cn/device-dev/driver/drive-hdf-servicemanage.md b/zh-cn/device-dev/driver/driver-hdf-servicemanage.md similarity index 100% rename from zh-cn/device-dev/driver/drive-hdf-servicemanage.md rename to zh-cn/device-dev/driver/driver-hdf-servicemanage.md diff --git a/zh-cn/device-dev/driver/drive-peripherals-external-des.md b/zh-cn/device-dev/driver/driver-peripherals-external-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-peripherals-external-des.md rename to zh-cn/device-dev/driver/driver-peripherals-external-des.md diff --git a/zh-cn/device-dev/driver/drive-peripherals-lcd-des.md b/zh-cn/device-dev/driver/driver-peripherals-lcd-des.md similarity index 97% rename from zh-cn/device-dev/driver/drive-peripherals-lcd-des.md rename to zh-cn/device-dev/driver/driver-peripherals-lcd-des.md index 1e195e52dba..90f54e12fba 100644 --- a/zh-cn/device-dev/driver/drive-peripherals-lcd-des.md +++ b/zh-cn/device-dev/driver/driver-peripherals-lcd-des.md @@ -10,7 +10,7 @@ ## 概述 -LCD(Liquid Crystal Display)液晶显示驱动,对LCD进行上电,并通过接口初始化LCD内部寄存器,使LCD正常工作。Display驱动模型基于HDF( Hardware Driver Foundation)[驱动框架](drive-hdf-overview.md)开发,实现跨OS、跨平台,为LCD硬件提供上下电功能、发送初始化序列功能,使LCD进入正常的工作模式,显示芯片平台侧的图像数据,基于HDF驱动框架的Display驱动模型如[图1](#fig69138814229)。 +LCD(Liquid Crystal Display)液晶显示驱动,对LCD进行上电,并通过接口初始化LCD内部寄存器,使LCD正常工作。Display驱动模型基于HDF( Hardware Driver Foundation)[驱动框架](driver-hdf-overview.md)开发,实现跨OS、跨平台,为LCD硬件提供上下电功能、发送初始化序列功能,使LCD进入正常的工作模式,显示芯片平台侧的图像数据,基于HDF驱动框架的Display驱动模型如[图1](#fig69138814229)。 **图 1** 基于HDF驱动框架的Display驱动模型 ![](figure/基于HDF驱动框架的Display驱动模型.png "基于HDF驱动框架的Display驱动模型") diff --git a/zh-cn/device-dev/driver/drive-peripherals-sensor-des.md b/zh-cn/device-dev/driver/driver-peripherals-sensor-des.md similarity index 99% rename from zh-cn/device-dev/driver/drive-peripherals-sensor-des.md rename to zh-cn/device-dev/driver/driver-peripherals-sensor-des.md index b471e331241..a548abe552a 100644 --- a/zh-cn/device-dev/driver/drive-peripherals-sensor-des.md +++ b/zh-cn/device-dev/driver/driver-peripherals-sensor-des.md @@ -264,7 +264,7 @@ Sensor驱动是基于HDF框架、PLATFORM和OSAL基础接口进行开发,不 ## 开发实例 -基于HDF驱动模型,加载启动加速度计传感器驱动,代码形式如下,具体原理可参考[HDF驱动开发指南](drive-hdf-development.md)。加速度传感器选择通讯接口方式为I2C,厂家选择博世BMI160加速度传感器。 +基于HDF驱动模型,加载启动加速度计传感器驱动,代码形式如下,具体原理可参考[HDF驱动开发指南](driver-hdf-development.md)。加速度传感器选择通讯接口方式为I2C,厂家选择博世BMI160加速度传感器。 1. 加速度计传感器驱动入口注册 @@ -286,7 +286,7 @@ HDF_INIT(g_sensorAccelDevEntry); - 加速度计传感器设备配置描述 -加速度传感器模型使用HCS作为配置描述源码,HCS配置字段详细介绍参考[配置管理](drive-hdf-manage.md)介绍。 +加速度传感器模型使用HCS作为配置描述源码,HCS配置字段详细介绍参考[配置管理](driver-hdf-manage.md)介绍。 ``` /* 加速度计传感器设备HCS配置 */ diff --git a/zh-cn/device-dev/driver/drive-peripherals-touch-des.md b/zh-cn/device-dev/driver/driver-peripherals-touch-des.md similarity index 96% rename from zh-cn/device-dev/driver/drive-peripherals-touch-des.md rename to zh-cn/device-dev/driver/driver-peripherals-touch-des.md index 107b2ce618e..5f4c46ba8ba 100644 --- a/zh-cn/device-dev/driver/drive-peripherals-touch-des.md +++ b/zh-cn/device-dev/driver/driver-peripherals-touch-des.md @@ -46,7 +46,7 @@ - **基于HDF驱动框架开发器件驱动的优势** - 在HDF(Hardware Driver Foundation)[驱动管理框架](drive-hdf-development.md)的基础上,input驱动模型调用OSAL接口层和Platfom接口层提供的基础接口进行开发,包括bus通信接口、操作系统原生接口(memory、lock、thread、timer等)。由于OSAL接口和Platform接口屏蔽了芯片平台差异,所以基于input驱动模型实现的touchscreen驱动可以进行跨平台、跨OS迁移,以便逐步实现驱动的一次开发,多端部署。 + 在HDF(Hardware Driver Foundation)[驱动管理框架](driver-hdf-development.md)的基础上,input驱动模型调用OSAL接口层和Platfom接口层提供的基础接口进行开发,包括bus通信接口、操作系统原生接口(memory、lock、thread、timer等)。由于OSAL接口和Platform接口屏蔽了芯片平台差异,所以基于input驱动模型实现的touchscreen驱动可以进行跨平台、跨OS迁移,以便逐步实现驱动的一次开发,多端部署。 ### 接口说明 @@ -101,7 +101,7 @@ Input驱动模型是基于HDF框架、Platform接口和OSAL接口开发,不区 1. 设备描述配置 - 目前Input驱动基于HDF驱动框架编写,驱动的加载启动由HDF驱动管理框架统一处理。首先需要在对应的配置文件中,将驱动信息注册进去,如是否加载、加载优先级,此后HDF驱动框架会逐一启动注册过的驱动模块。驱动的相关配置请参考[HDF驱动框架配置指导](drive-hdf-development.md#section1969312275533)。 + 目前Input驱动基于HDF驱动框架编写,驱动的加载启动由HDF驱动管理框架统一处理。首先需要在对应的配置文件中,将驱动信息注册进去,如是否加载、加载优先级,此后HDF驱动框架会逐一启动注册过的驱动模块。驱动的相关配置请参考[HDF驱动框架配置指导](driver-hdf-development.md#section1969312275533)。 2. 板级配置及Touchscreen器件私有配置 @@ -118,7 +118,7 @@ Input驱动模型是基于HDF框架、Platform接口和OSAL接口开发,不区 ### 设备描述配置 -如下配置主要包含input驱动模型各模块层级信息,具体原理可参考[HDF驱动开发指南](drive-hdf-development.md),HDF框架依据该配置信息实现对Input模型各模块的依次加载等。 +如下配置主要包含input驱动模型各模块层级信息,具体原理可参考[HDF驱动开发指南](driver-hdf-development.md),HDF框架依据该配置信息实现对Input模型各模块的依次加载等。 ``` input :: host { diff --git a/zh-cn/device-dev/driver/driver-peripherals.md b/zh-cn/device-dev/driver/driver-peripherals.md new file mode 100644 index 00000000000..12db978ab60 --- /dev/null +++ b/zh-cn/device-dev/driver/driver-peripherals.md @@ -0,0 +1,11 @@ +# 外设 + +- **[LCD](driver-peripherals-lcd-des.md)** + +- **[TOUCHSCREEN](driver-peripherals-touch-des.md)** + +- **[SENSOR](driver-peripherals-sensor-des.md)** + +- **[WLAN](driver-peripherals-external-des.md)** + + diff --git a/zh-cn/device-dev/driver/drive-platform-gpio-des.md b/zh-cn/device-dev/driver/driver-platform-gpio-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-gpio-des.md rename to zh-cn/device-dev/driver/driver-platform-gpio-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-i2c-des.md b/zh-cn/device-dev/driver/driver-platform-i2c-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-i2c-des.md rename to zh-cn/device-dev/driver/driver-platform-i2c-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-mipidsi-des.md b/zh-cn/device-dev/driver/driver-platform-mipidsi-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-mipidsi-des.md rename to zh-cn/device-dev/driver/driver-platform-mipidsi-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-rtc-des.md b/zh-cn/device-dev/driver/driver-platform-rtc-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-rtc-des.md rename to zh-cn/device-dev/driver/driver-platform-rtc-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-sdio-des.md b/zh-cn/device-dev/driver/driver-platform-sdio-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-sdio-des.md rename to zh-cn/device-dev/driver/driver-platform-sdio-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-spi-des.md b/zh-cn/device-dev/driver/driver-platform-spi-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-spi-des.md rename to zh-cn/device-dev/driver/driver-platform-spi-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-uart-des.md b/zh-cn/device-dev/driver/driver-platform-uart-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-uart-des.md rename to zh-cn/device-dev/driver/driver-platform-uart-des.md diff --git a/zh-cn/device-dev/driver/drive-platform-watchdog-des.md b/zh-cn/device-dev/driver/driver-platform-watchdog-des.md similarity index 100% rename from zh-cn/device-dev/driver/drive-platform-watchdog-des.md rename to zh-cn/device-dev/driver/driver-platform-watchdog-des.md diff --git a/zh-cn/device-dev/driver/driver-platform.md b/zh-cn/device-dev/driver/driver-platform.md new file mode 100644 index 00000000000..a05dec17675 --- /dev/null +++ b/zh-cn/device-dev/driver/driver-platform.md @@ -0,0 +1,19 @@ +# 平台驱动 + +- **[GPIO](driver-platform-gpio-des.md)** + +- **[I2C](driver-platform-i2c-des.md)** + +- **[RTC](driver-platform-rtc-des.md)** + +- **[SDIO](driver-platform-sdio-des.md)** + +- **[SPI](driver-platform-spi-des.md)** + +- **[UART](driver-platform-uart-des.md)** + +- **[WATCHDOG](driver-platform-watchdog-des.md)** + +- **[MIPI DSI](driver-platform-mipidsi-des.md)** + + diff --git a/zh-cn/device-dev/driver/driver.md b/zh-cn/device-dev/driver/driver.md new file mode 100644 index 00000000000..a0825c12d1e --- /dev/null +++ b/zh-cn/device-dev/driver/driver.md @@ -0,0 +1,19 @@ +# 驱动使用指南 + +- **[HDF开发概述](driver-hdf-overview.md)** + +- **[驱动开发](driver-hdf-development.md)** + +- **[驱动服务管理](driver-hdf-servicemanage.md)** + +- **[驱动消息机制管理](driver-hdf-news.md)** + +- **[配置管理](driver-hdf-manage.md)** + +- **[HDF开发实例](driver-hdf-sample.md)** + +- **[平台驱动](driver-platform.md)** + +- **[外设](driver-peripherals.md)** + + diff --git a/zh-cn/device-dev/guide/Readme-CN.md b/zh-cn/device-dev/guide/Readme-CN.md index b447b4990ae..aa2470b29a0 100755 --- a/zh-cn/device-dev/guide/Readme-CN.md +++ b/zh-cn/device-dev/guide/Readme-CN.md @@ -33,7 +33,7 @@ - [常见问题](device-camera-visual-faqs.md) - [时钟应用开发指导](device-clock-guide.md) -- [平台驱动开发示例](device-drive-demo.md) -- [外设驱动开发示例](device-outerdrive-demo.md) +- [平台驱动开发示例](device-driver-demo.md) +- [外设驱动开发示例](device-outerdriver-demo.md) diff --git a/zh-cn/device-dev/guide/device-drive-demo.md b/zh-cn/device-dev/guide/device-driver-demo.md similarity index 98% rename from zh-cn/device-dev/guide/device-drive-demo.md rename to zh-cn/device-dev/guide/device-driver-demo.md index bb103f846c1..73e75ffda88 100644 --- a/zh-cn/device-dev/guide/device-drive-demo.md +++ b/zh-cn/device-dev/guide/device-driver-demo.md @@ -161,7 +161,7 @@ HDF_INIT(g_sampleI2cDriverEntry); 2. 添加配置参数(可选)。 - 有时驱动可能会需要私有配置信息,以确保寄存器的配置可以满足不同产品的需求。如需要私有配置信息,则可以添加一个驱动的配置文件,用来存放一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考[驱动开发](../driver/drive-hdf-development.md))传递给驱动。驱动开发者可新建配置文件,并在板级驱动hdf.hcs中引用新建的配置文件,本例中直接在原有的配置文件i2c\_config.hcs内添加配置参数。 + 有时驱动可能会需要私有配置信息,以确保寄存器的配置可以满足不同产品的需求。如需要私有配置信息,则可以添加一个驱动的配置文件,用来存放一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考[驱动开发](../driver/driver-hdf-development.md))传递给驱动。驱动开发者可新建配置文件,并在板级驱动hdf.hcs中引用新建的配置文件,本例中直接在原有的配置文件i2c\_config.hcs内添加配置参数。 本例中编辑i2c\_config.hcs,添加配置参数: diff --git a/zh-cn/device-dev/guide/device-outerdrive-demo.md b/zh-cn/device-dev/guide/device-outerdriver-demo.md similarity index 99% rename from zh-cn/device-dev/guide/device-outerdrive-demo.md rename to zh-cn/device-dev/guide/device-outerdriver-demo.md index afeffb7863a..9526546a58e 100644 --- a/zh-cn/device-dev/guide/device-outerdrive-demo.md +++ b/zh-cn/device-dev/guide/device-outerdriver-demo.md @@ -40,7 +40,7 @@ Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动 此外,Input模型预先实现了数据通道以及设备配置信息解析等函数。 -关于Input模型的详细介绍请参考《[Touchscreen开发概述](../driver/drive-peripherals-touch-des.md#section175431838101617)》。 +关于Input模型的详细介绍请参考《[Touchscreen开发概述](../driver/driver-peripherals-touch-des.md#section175431838101617)》。 ## 环境搭建 @@ -61,7 +61,7 @@ Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动 device\_info.hcs中的信息主要提供给HDF框架使用,包含了Input模型各层驱动注册到HDF框架所必需的信息,开发者无特殊场景需求无需改动。各驱动层私有配置信息通过“deviceMatchAttr”字段与input\_config.hcs中的“match\_attr”相关内容进行匹配。 -配置文件中与input模块相关的内容如下所示,相关字段的详细含义可以参考《[驱动配置](../driver/drive-hdf-development.md)》: +配置文件中与input模块相关的内容如下所示,相关字段的详细含义可以参考《[驱动配置](../driver/driver-hdf-development.md)》: ``` input :: host { diff --git a/zh-cn/device-dev/guide/device.md b/zh-cn/device-dev/guide/device.md index 2c7d789c202..1cb2d60315d 100644 --- a/zh-cn/device-dev/guide/device.md +++ b/zh-cn/device-dev/guide/device.md @@ -8,8 +8,8 @@ - **[时钟应用开发指导](device-clock-guide.md)** -- **[平台驱动开发示例](device-drive-demo.md)** +- **[平台驱动开发示例](device-driver-demo.md)** -- **[外设驱动开发示例](device-outerdrive-demo.md)** +- **[外设驱动开发示例](device-outerdriver-demo.md)** diff --git a/zh-cn/device-dev/porting/Readme-CN.md b/zh-cn/device-dev/porting/Readme-CN.md index 6e960a48da3..dd73e8cbbfa 100755 --- a/zh-cn/device-dev/porting/Readme-CN.md +++ b/zh-cn/device-dev/porting/Readme-CN.md @@ -1,33 +1,28 @@ -# 移植指南 - -- [三方库移植指导](transplant-thirdparty.md) - - [概述](transplant-thirdparty-overview.md) - - [CMake方式组织编译的库移植](transplant-thirdparty-cmake.md) - - [Makefile方式组织编译的库移植](transplant-thirdparty-makefile.md) -- [轻量系统芯片移植指导](transplant-minichip.md) - - [移植准备](transplant-chip-prepare.md) - - [移植须知](transplant-chip-prepare-knows.md) - - [编译构建适配流程](transplant-chip-prepare-process.md) - - [内核移植](transplant-chip-kernel.md) - - [移植概述](transplant-chip-kernel-overview.md) - - [内核基础适配](transplant-chip-kernel-adjustment.md) - - [内核移植验证](transplant-chip-kernel-verify.md) - - [板级系统移植](transplant-chip-board.md) - - [移植概述](transplant-chip-board-overview.md) - - [板级驱动适配](transplant-chip-board-drive.md) - - [HAL层实现](transplant-chip-board-hal.md) - - [系统组件调用](transplant-chip-board-component.md) - - [三方组件适配](transplant-chip-board-bundle.md) - - [XTS认证](transplant-chip-board-xts.md) - - [常见问题](transplant-chip-faqs.md) -- [小型系统芯片移植指导](transplant-smallchip.md) - - [移植准备](transplant-smallchip-prepare.md) - - [移植须知](transplant-smallchip-prepare-needs.md) - - [编译构建](transplant-smallchip-prepare-building.md) - - [移植内核](transplant-smallchip-kernel.md) - - [LiteOS-A内核](transplant-smallchip-kernel-a.md) - - [Linux内核](transplant-smallchip-kernel-linux.md) - - [驱动移植](transplant-smallchip-drive.md) - - [移植概述](transplant-smallchip-drive-des.md) - - [平台驱动移植](transplant-smallchip-drive-plat.md) - - [器件驱动移植](transplant-smallchip-drive-oom.md) \ No newline at end of file + +# 开发板移植 +目前OpenHarmony已经成立了SIG组[sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)。该SIG组以支持更多第三方开发板为目标,提供开发板移植的支撑。 + +在了解开发板移植前,需要先了解一下OpenHarmony对设备的分类。不同设备类型的移植方法会有较大差异。 + +| 设备类型 | 硬件要求 | 支持的内核 | +|---------|-------------|----------------| +| 轻量系统类设备 | 内存>128KB | LiteOS-M | +| 小型系统类设备 | 内存>1MB、有MMU | LiteOS-A、Linux | +| 标准系统类设备 | 内存>128MB | Linux | + +# 1. 代码准备 + +目前OpenHarmony已经为各厂家创建了仓库并在openharmony-sig中进行孵化。参与孵化仓开发,需要使用如下方法初始化和下载代码。 + +```shell +repo init -u https://gitee.com/openharmony-sig/manifest.git -b master -m devboard.xml --no-repo-verify +``` + +其他下载步骤与主线相同。 + +# 2. 开始移植你的开发板 + +- [轻量级系统](transplant-minichip.md) +- [小型系统](transplant-smallchip.md) +- [标准系统](standard_system_porting_guide.md) + diff --git a/zh-cn/device-dev/porting/standard_system_porting_guide.md b/zh-cn/device-dev/porting/standard_system_porting_guide.md new file mode 100644 index 00000000000..f0676596ab2 --- /dev/null +++ b/zh-cn/device-dev/porting/standard_system_porting_guide.md @@ -0,0 +1,374 @@ +# 标准系统移植指南 + + + + + +- [定义开发板](#定义开发板) + - [1. 定义SOC](#1-定义soc) + - [2. 定义产品](#2-定义产品) + - [3. 移植验证](#3-移植验证) +- [内核移植](#内核移植) + - [1. 为SOC添加内核构建的子系统](#1-为soc添加内核构建的子系统) + - [2. 编译内核](#2-编译内核) + - [3. 移植验证](#3-移植验证-1) +- [HDF驱动移植](#hdf驱动移植) + - [1. LCD](#1-lcd) + - [2. 触摸屏](#2-触摸屏) + - [3. WLAN](#3-wlan) + + + + + +## 定义开发板 + +本文以移植名为MyProduct的开发板为例讲解移植过程,假定MyProduct是MyProductVendor公司的开发板,使用MySoCVendor公司生产的MySOC芯片作为处理器。 + +### 1. 定义SOC + +在`//productdefine/common/device`目录下创建以SOC名字命名的json文件,并指定CPU的架构。 + +如要移植一个叫MySOC的SOC,这个SOC采用32位ARM内核。配置如下: + +`//productdefine/common/device/MySOC.json` +```json +{ + "target_os": "ohos", + "target_cpu": "arm" +} +``` +根据实际情况,这里的target_cpu也可能是arm64 、riscv、 x86等。当前仅支持arm作为target_cpu。 + +### 2. 定义产品 + +在`//productdefine/common/products`目录下创建以产品名命名的json文件。该文件用于描述产品所使用的SOC 以及 所需的子系统。 +配置如下 +`//productdefine/common/products/MyProduct.json` +```json +{ + "product_name": "MyProduct", + "product_company" : "MyProductVendor", + "product_device": "MySOC", + "version": "2.0", + "type": "standard", + "parts":{ + "ace:ace_engine_standard":{}, + "ace:napi":{}, + ... + "xts:phone_tests":{} + } +} + +``` +主要的配置内容包括: + +1. `product_device`:配置所使用的SOC +2. `type`: 配置系统的级别, 这里直接standard即可 +3. `parts`: 系统需要启用的子系统。子系统可以简单理解位一块独立构建的功能块。 + +已定义的子系统可以在`//build/subsystem_config.json`中找到。当然你也可以定制子系统。 + +这里建议先拷贝Hi3516DV300 开发板的配置文件,删除掉 hisilicon_products 这个子系统。这个子系统为Hi3516DV300 SOC编译内核,显然不适合MySOC。 + +### 3. 移植验证 + +至此,你可以使用如下命令,启动你产品的构建了: + +`./build.sh --product-name MyProduct ` + +构建完成后,可以在如下目录看到构建出来的OpenHarmony镜像文件 + +`//out/ohos-arm-release/packages/phone/images` + +## 内核移植 + +这一步需要移植Linux内核,让Linux内核可以成功运行起来。 + +### 1. 为SOC添加内核构建的子系统 + +修改文件 `//build/subsystem_config.json` 增加一个子系统. 配置如下: + +```json + "MySOCVendor_products": { + "project": "hmf/MySOCVendor_products", + "path": "device/MySOCVendor/MySOC/build", + "name": "MySOCVendor_products", + "dir": "device/MySOCVendor" + }, +``` + +接着需要修改定义产品的配置文件`//productdefine/common/products/MyProduct.json`。将刚刚定义的子系统加入到产品中 + +### 2. 编译内核 + +在上一节定义subsystem的时候,定义了构建的路径path,即`//device/MySOCVendor/MySOC/build`。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。 + +目前OpenHarmony源码中提供了Linux 4.19的内核,归档在`//kernel/linux-4.19`。请尽可能使用这个内核。 +每个SOC必然需要对内核做一些修改或扩展,建议采用补丁的方式。 + +建议的目录结构 +``` +├── build +│   ├── kernel +│   │ ├── linux +│   │ ├──standard_patch_for_4_19.patch +│   ├── BUILD.gn +│   ├── ohos.build +``` +BUILD.gn是subsystem构建的唯一入口。 + +期望的构建结果 + +| 文件 | 文件说明| +|------|------| +|$root_build_dir/packages/phone/images/uImage| 内核镜像| +|$root_build_dir/packages/phone/images/uboot | bootloader镜像| + +### 3. 移植验证 + +启动编译,验证预期的kernel镜像是否成功生成。 + +## HDF驱动移植 + +### 1. LCD +HDF为LCD设计了驱动模型。支持一块新的LCD,需要编写一个驱动,在驱动中生成模型的实例,并完成注册。 + +这些LCD的驱动被放置在`//drivers/framework/model/display/driver/panel`目录中。 + +- 创建Panel驱动 + +在驱动的Init方法中,需要调用RegisterPanel接口注册模型实例。如: +```C +int32_t XXXInit(struct HdfDeviceObject *object) +{ + struct PanelData *panel = CreateYourPanel(); + + // 注册 + if (RegisterPanel(panel) != HDF_SUCCESS) { + HDF_LOGE("%s: RegisterPanel failed", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; +} + +struct HdfDriverEntry g_xxxxDevEntry = { + .moduleVersion = 1, + .moduleName = "LCD_XXXX", + .Init = XXXInit, +}; + +HDF_INIT(g_xxxxDevEntry); +``` + +- 配置加载panel驱动 +产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在display的host中,名为device_lcd的device中增加配置。 +注意:moduleName 要与panel驱动中的moduleName相同。 + +```hcs +root { + ... + display :: host { + device_lcd :: device { + deviceN :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LCD_XXXX"; + } + } + } +} +``` + +更详细的驱动开发指导,请参考 [LCD](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/LCD.md) + +### 2. 触摸屏 +本节描述如何移植触摸屏驱动。触摸屏的驱动被放置在`//drivers/framework/model/input/driver/touchscreen`目录中。移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。 + +- 创建触摸屏器件驱动 + +在目录中创建名为`touch_ic_name.c`的文件。代码模板如下: +注意:请替换ic_name为你所适配芯片的名称 + +```C +#include "hdf_touch.h" + +static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) +{ + ChipDevice *tpImpl = CreateXXXXTpImpl(); + if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) { + ReleaseXXXXTpImpl(tpImpl); + return HDF_FAILURE; + } + return HDF_SUCCESS; +} + +struct HdfDriverEntry g_touchXXXXChipEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH_XXXX", + .Init = HdfXXXXChipInit, +}; + +HDF_INIT(g_touchXXXXChipEntry); +``` + +其中ChipDevice中要提供若干方法 +| 方法| 实现说明| +|------|------| +|int32_t (*Init)(ChipDevice *device)| 器件初始化| +|int32_t (*Detect)(ChipDevice *device)| 器件探测| +|int32_t (*Suspend)(ChipDevice *device)| 器件休眠| +|int32_t (*Resume)(ChipDevice *device)| 器件唤醒| +|int32_t (*DataHandle)(ChipDevice *device)| 从器件读取数据,将触摸点数据填写入device->driver->frameData中| +|int32_t (*UpdateFirmware)(ChipDevice *device)| 固件升级| + +- 配置产品,加载器件驱动 + +产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在名为input的host中,名为device_touch_chip的device中增加配置。 +注意:moduleName 要与触摸屏驱动中的moduleName相同。 + +```hcs + deviceN :: deviceNode { + policy = 0; + priority = 130; + preload = 0; + permission = 0660; + moduleName = "HDF_TOUCH_XXXX"; + deviceMatchAttr = "touch_XXXX_configs"; + } +``` + +更详细的驱动开发指导,请参考 [TOUCHSCREEN](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/TOUCHSCREEN.md) + + +### 3. WLAN + +![tu](./figures/HDF_WIFI.png) + +Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。`HDF WLAN`分别为这两部分做了抽象。目前支持SDIO接口的WLAN芯片 + +主要需要实现的接口有: + +| 接口| 定义头文件| 说明| +|------|------|------| +| HdfChipDriverFactory| `//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h`| ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口| +| HdfChipDriver | `//drivers/framework/include/wifi/wifi_module.h`| 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口| +|NetDeviceInterFace| `//drivers/framework/include/wifi/net_device.h`| 与协议栈之间的接口,如发送数据、设置网络接口状态等| + +建议适配按如下步骤操作: + +1. 创建HDF驱动 +建议将代码放置在`//device/MySoCVendor/peripheral/wifi/chip_name/` + +```C +static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { + static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); + struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) { + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; +} + +struct HdfDriverEntry g_hdfXXXChipEntry = { + .moduleVersion = 1, + .Init = HdfWlanXXXChipDriverInit, + .Release = HdfWlanXXXChipRelease, + .moduleName = "HDF_WIFI_CHIP_XXX" +}; + +HDF_INIT(g_hdfXXXChipEntry); +``` + +在CreateChipDriverFactory中,需要创建一个HdfChipDriverFactory +| 接口| 说明| +|------|------| +|const char *driverName| 当前driverName | +|int32_t (*InitChip)(struct HdfWlanDevice *device)| 初始化芯片| +|int32_t (*DeinitChip)(struct HdfWlanDevice *device)| 去初始化芯片| +|void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)| 释放HdfChipDriverFactory对象| +|struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)|创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号| +|void (*Release)(struct HdfChipDriver *chipDriver)| 释放chipDriver +|uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)| 获取当前芯片支持的最大接口数| + +HdfChipDriver需要实现的接口有 + +|接口| 说明| +|------|------| +|int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| 初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace| +|int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| 去初始化当前网络接口| +|struct HdfMac80211BaseOps *ops| WLAN基础能力接口集| +|struct HdfMac80211STAOps *staOps| 支持STA模式所需的接口集| +|struct HdfMac80211APOps *apOps| 支持AP模式所需要的接口集| + + + +2. 编写配置文件,描述驱动支持的设备 +在产品配置目录下创建芯片的配置文件`//vendor/MyProductVendor/MyProduct/config/wifi/wlan_chip_chip_name.hcs` + +注意: 路径中的vendor_name、product_name、chip_name请替换成实际名称 +```hcs +root { + wlan_config { + chip_name :& chipList { + chip_name :: chipInst { + match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */ + driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/ + sdio { + vendorId = 0x0296; + deviceId = [0x5347]; + } + } + } + } +} +``` + +3. 编写配置文件,加载驱动 + +产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在名为network的host中,名为device_wlan_chips的device中增加配置。 +注意:moduleName 要与触摸屏驱动中的moduleName相同。 + +```hcs + deviceN :: deviceNode { + policy = 0; + preload = 2; + moduleName = "HDF_WLAN_CHIPS"; + deviceMatchAttr = "hdf_wlan_chips_chip_name"; + serviceName = "driverName"; + } +``` + +4. 构建驱动 + +- 创建内核菜单 +在 `//device/MySoCVendor/peripheral` 目录中创建Kconfig文件,内容模板如下: +``` +config DRIVERS_WLAN_XXX + bool "Enable XXX WLAN Host driver" + default n + depends on DRIVERS_HDF_WIFI + help + Answer Y to enable XXX Host driver. Support chip xxx +``` + +接着修改文件 `//drivers/adapter/khdf/linux/model/network/wifi/Kconfig`,在文件末尾加入如下代码将配置菜单加入内核中 +``` +source "../../../../../device/MySoCVendor/peripheral/Kconfig" +``` + +- 创建构建脚本 + +在`//drivers/adapter/khdf/linux/model/network/wifi/Makefile` 文件末尾增加配置,模板如下 + +``` +HDF_DEVICE_ROOT := $(HDF_DIR_PREFIX)/../device +obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/build/standard/ +``` + +当在内核中开启`DRIVERS_WLAN_XXX`开关时,会调用`//device/MySoCVendor/peripheral/build/standard/`中的makefile + + +更多详细的开发手册,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md) diff --git a/zh-cn/device-dev/subsystems/Readme-CN.md b/zh-cn/device-dev/subsystems/Readme-CN.md index 7dc0b03cfae..843563ec81e 100755 --- a/zh-cn/device-dev/subsystems/Readme-CN.md +++ b/zh-cn/device-dev/subsystems/Readme-CN.md @@ -42,10 +42,10 @@ - [唤醒词识别SDK的开发示例](subsys-aiframework-demo-sdk.md) - [唤醒词识别插件的开发示例](subsys-aiframework-demo-plugin.md) - [唤醒词识别配置文件的开发示例](subsys-aiframework-demo-conf.md) -- [Sensor服务](subsys-densor.md) - - [Sensor服务子系概述](subsys-densor-overview.md) - - [Sensor服务子系使用指导](subsys-densor-guide.md) - - [Sensor服务子系使用实例](subsys-densor-demo.md) +- [Sensor服务](subsys-sensor.md) + - [Sensor服务子系概述](subsys-sensor-overview.md) + - [Sensor服务子系使用指导](subsys-sensor-guide.md) + - [Sensor服务子系使用实例](subsys-sensor-demo.md) - [用户程序框架](subsys-application-framework.md) - [概述](subsys-application-framework-overview.md) - [搭建环境](subsys-application-framework-builden.md) diff --git a/zh-cn/device-dev/subsystems/subsys-densor.md b/zh-cn/device-dev/subsystems/subsys-densor.md deleted file mode 100644 index 2c5ea0dbbee..00000000000 --- a/zh-cn/device-dev/subsystems/subsys-densor.md +++ /dev/null @@ -1,9 +0,0 @@ -# Sensor服务 - -- **[Sensor服务子系概述](subsys-densor-overview.md)** - -- **[Sensor服务子系使用指导](subsys-densor-guide.md)** - -- **[Sensor服务子系使用实例](subsys-densor-demo.md)** - - diff --git a/zh-cn/device-dev/subsystems/subsys-densor-demo.md b/zh-cn/device-dev/subsystems/subsys-sensor-demo.md similarity index 100% rename from zh-cn/device-dev/subsystems/subsys-densor-demo.md rename to zh-cn/device-dev/subsystems/subsys-sensor-demo.md diff --git a/zh-cn/device-dev/subsystems/subsys-densor-guide.md b/zh-cn/device-dev/subsystems/subsys-sensor-guide.md similarity index 100% rename from zh-cn/device-dev/subsystems/subsys-densor-guide.md rename to zh-cn/device-dev/subsystems/subsys-sensor-guide.md diff --git a/zh-cn/device-dev/subsystems/subsys-densor-overview.md b/zh-cn/device-dev/subsystems/subsys-sensor-overview.md similarity index 100% rename from zh-cn/device-dev/subsystems/subsys-densor-overview.md rename to zh-cn/device-dev/subsystems/subsys-sensor-overview.md diff --git a/zh-cn/device-dev/subsystems/subsys-sensor.md b/zh-cn/device-dev/subsystems/subsys-sensor.md new file mode 100644 index 00000000000..415eec2bde7 --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-sensor.md @@ -0,0 +1,9 @@ +# Sensor服务 + +- **[Sensor服务子系概述](subsys-sensor-overview.md)** + +- **[Sensor服务子系使用指导](subsys-sensor-guide.md)** + +- **[Sensor服务子系使用实例](subsys-sensor-demo.md)** + + diff --git a/zh-cn/device-dev/subsystems/subsys.md b/zh-cn/device-dev/subsystems/subsys.md index d4d48224367..b301414e122 100644 --- a/zh-cn/device-dev/subsystems/subsys.md +++ b/zh-cn/device-dev/subsystems/subsys.md @@ -12,7 +12,7 @@ - **[AI框架](subsys-aiframework.md)** -- **[Sensor服务](subsys-densor.md)** +- **[Sensor服务](subsys-sensor.md)** - **[用户程序框架](subsys-application-framework.md)** diff --git "a/zh-cn/device-dev/\345\257\274\350\257\273.md" "b/zh-cn/device-dev/\345\257\274\350\257\273.md" index 44b738359b4..99b56c52bd1 100644 --- "a/zh-cn/device-dev/\345\257\274\350\257\273.md" +++ "b/zh-cn/device-dev/\345\257\274\350\257\273.md" @@ -146,7 +146,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按

    结合系统能力开发智能设备

    +

    移植适配

    diff --git a/zh-cn/readme.md b/zh-cn/readme.md index 15528919ed0..a6b0a1ab30e 100644 --- a/zh-cn/readme.md +++ b/zh-cn/readme.md @@ -42,8 +42,8 @@ - guide:开发示例 - [时钟应用](device-dev/guide/device-clock-guide.md) - - [平台驱动](device-dev/guide/device-drive-demo.md) - - [外设驱动](device-dev/guide/device-outerdrive-demo.md) + - [平台驱动](device-dev/guide/device-driver-demo.md) + - [外设驱动](device-dev/guide/device-outerdriver-demo.md) - porting:移植适配 -- Gitee From 31a76a4e02ae3dc80d8301427601c362b278f08b Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Wed, 21 Jul 2021 19:30:43 +0800 Subject: [PATCH 09/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- ...04\345\272\223\347\247\273\346\244\215.md" | 6 +- ...AL\345\261\202\345\256\236\347\216\260.md" | 0 ...04\345\272\223\347\247\273\346\244\215.md" | 6 +- zh-cn/device-dev/porting/Readme-CN.md | 4 +- .../porting/XTS\350\256\244\350\257\201.md" | 4 +- zh-cn/device-dev/porting/figure/init.jpg | Bin 23299 -> 0 bytes zh-cn/device-dev/porting/figure/shell.jpg | Bin 13564 -> 0 bytes .../figure/zh-cn_image_0000001126198996.png | Bin 11830 -> 0 bytes .../figure/zh-cn_image_0000001126354076.png | Bin 89981 -> 0 bytes .../figure/zh-cn_image_0000001126358814.png | Bin 55221 -> 0 bytes ...7\345\212\250\346\241\206\346\236\266.jpg" | Bin 612762 -> 0 bytes .../figure/\345\210\206\347\261\273.png" | Bin 20230 -> 0 bytes .../porting/{figure => figures}/HDF_WIFI.png | Bin ...0\345\212\237\347\225\214\351\235\242.png" | Bin .../zh-cn_image_0000001072304191.png | Bin .../zh-cn_image_0000001073943511.png | Bin ...2\351\205\215\346\265\201\347\250\213.png" | Bin ...3\351\224\256\346\255\245\351\252\244.png" | Bin .../porting/lite_system_port_guide.md | 27 ++ .../public_sys-resources/icon-caution.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 406 bytes .../porting/public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes .../porting/transplant-chip-board.md | 15 - .../porting/transplant-chip-kernel.md | 9 - zh-cn/device-dev/porting/transplant-chip.md | 11 - .../device-dev/porting/transplant-minichip.md | 11 - .../porting/transplant-smallchip-drive-des.md | 11 - .../porting/transplant-smallchip-drive-oom.md | 390 ------------------ .../transplant-smallchip-drive-plat.md | 165 -------- .../porting/transplant-smallchip-drive.md | 9 - .../porting/transplant-smallchip-kernel-a.md | 265 ------------ .../transplant-smallchip-kernel-linux.md | 125 ------ .../porting/transplant-smallchip-kernel.md | 7 - .../transplant-smallchip-prepare-building.md | 142 ------- .../transplant-smallchip-prepare-needs.md | 98 ----- .../porting/transplant-smallchip-prepare.md | 7 - .../porting/transplant-smallchip.md | 9 - .../porting/transplant-thirdparty.md | 9 - zh-cn/device-dev/porting/transplant.md | 9 - ...73\346\244\215\346\214\207\345\257\274.md" | 9 + ...04\344\273\266\351\200\202\351\205\215.md" | 2 +- ...73\346\244\215\346\214\207\345\257\274.md" | 11 + ...72\347\241\200\351\200\202\351\205\215.md" | 2 +- ...05\346\240\270\347\247\273\346\244\215.md" | 9 + ...73\346\244\215\351\252\214\350\257\201.md" | 2 +- ...70\350\247\201\351\227\256\351\242\230.md" | 0 ...73\347\273\237\347\247\273\346\244\215.md" | 15 + ...61\345\212\250\351\200\202\351\205\215.md" | 0 .../porting/\346\246\202\350\277\260.md" | 0 ...73\346\244\215\345\207\206\345\244\207.md" | 4 +- ...\346\244\215\346\246\202\350\277\260-0.md" | 4 +- ...73\346\244\215\346\246\202\350\277\260.md" | 2 +- ...73\346\244\215\351\241\273\347\237\245.md" | 6 +- ...04\344\273\266\350\260\203\347\224\250.md" | 4 +- ...02\351\205\215\346\265\201\347\250\213.md" | 0 58 files changed, 94 insertions(+), 1315 deletions(-) rename zh-cn/device-dev/porting/transplant-thirdparty-cmake.md => "zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" (98%) rename zh-cn/device-dev/porting/transplant-chip-board-hal.md => "zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" (100%) rename zh-cn/device-dev/porting/transplant-thirdparty-makefile.md => "zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" (97%) rename zh-cn/device-dev/porting/transplant-chip-board-xts.md => "zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" (94%) delete mode 100644 zh-cn/device-dev/porting/figure/init.jpg delete mode 100644 zh-cn/device-dev/porting/figure/shell.jpg delete mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126198996.png delete mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png delete mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png delete mode 100644 "zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" delete mode 100644 "zh-cn/device-dev/porting/figure/\345\210\206\347\261\273.png" rename zh-cn/device-dev/porting/{figure => figures}/HDF_WIFI.png (100%) rename "zh-cn/device-dev/porting/figure/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" => "zh-cn/device-dev/porting/figures/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" (100%) rename zh-cn/device-dev/porting/{figure => figures}/zh-cn_image_0000001072304191.png (100%) rename zh-cn/device-dev/porting/{figure => figures}/zh-cn_image_0000001073943511.png (100%) rename "zh-cn/device-dev/porting/figure/\345\215\225\346\235\277\351\251\261\345\212\250\351\200\202\351\205\215\346\265\201\347\250\213.png" => "zh-cn/device-dev/porting/figures/\345\215\225\346\235\277\351\251\261\345\212\250\351\200\202\351\205\215\346\265\201\347\250\213.png" (100%) rename "zh-cn/device-dev/porting/figure/\350\212\257\347\211\207\347\247\273\346\244\215\345\205\263\351\224\256\346\255\245\351\252\244.png" => "zh-cn/device-dev/porting/figures/\350\212\257\347\211\207\347\247\273\346\244\215\345\205\263\351\224\256\346\255\245\351\252\244.png" (100%) create mode 100644 zh-cn/device-dev/porting/lite_system_port_guide.md create mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-caution.gif create mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif create mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-note.gif create mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif create mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-tip.gif create mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-warning.gif delete mode 100644 zh-cn/device-dev/porting/transplant-chip-board.md delete mode 100644 zh-cn/device-dev/porting/transplant-chip-kernel.md delete mode 100644 zh-cn/device-dev/porting/transplant-chip.md delete mode 100644 zh-cn/device-dev/porting/transplant-minichip.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-des.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare.md delete mode 100644 zh-cn/device-dev/porting/transplant-smallchip.md delete mode 100644 zh-cn/device-dev/porting/transplant-thirdparty.md delete mode 100644 zh-cn/device-dev/porting/transplant.md create mode 100644 "zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" rename zh-cn/device-dev/porting/transplant-chip-board-bundle.md => "zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" (97%) create mode 100644 "zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" rename zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md => "zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" (99%) create mode 100644 "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" rename zh-cn/device-dev/porting/transplant-chip-kernel-verify.md => "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" (95%) rename zh-cn/device-dev/porting/transplant-chip-faqs.md => "zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" (100%) create mode 100644 "zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" rename zh-cn/device-dev/porting/transplant-chip-board-drive.md => "zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" (100%) rename zh-cn/device-dev/porting/transplant-thirdparty-overview.md => "zh-cn/device-dev/porting/\346\246\202\350\277\260.md" (100%) rename zh-cn/device-dev/porting/transplant-chip-prepare.md => "zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" (31%) rename zh-cn/device-dev/porting/transplant-chip-board-overview.md => "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" (92%) rename zh-cn/device-dev/porting/transplant-chip-kernel-overview.md => "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" (98%) rename zh-cn/device-dev/porting/transplant-chip-prepare-knows.md => "zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" (93%) rename zh-cn/device-dev/porting/transplant-chip-board-component.md => "zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" (91%) rename zh-cn/device-dev/porting/transplant-chip-prepare-process.md => "zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" (100%) diff --git a/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md "b/zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" similarity index 98% rename from zh-cn/device-dev/porting/transplant-thirdparty-cmake.md rename to "zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" index fb23041d28a..bb7404eca3e 100644 --- a/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md +++ "b/zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" @@ -227,12 +227,12 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库, 1. 搭建OpenHarmony环境 - 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](../quick-start/quickstart-lite-steps-board3518-running.md)。 + 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](https://device.harmonyos.com/cn/docs/start/introduce/oem_camera_start_example-0000001051610926)。 进入系统如下所示: **图 1** OpenHarmony启动成功界面 - ![](figure/OpenHarmony启动成功界面.png "OpenHarmony启动成功界面") + ![](figures/OpenHarmony启动成功界面.png "OpenHarmony启动成功界面") 2. 挂载nfs目录,将[表2](#table1452412391911)中test目录下cctest可执行文件放入nfs目录 3. 执行用例 @@ -306,7 +306,7 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库,

    将三方库加入工程的gn适配文件

    openHarmony/third_party/double-conversion/build_thirdparty.py

    +

    openHarmony/third_party/double-conversion/build_thirdpaty.py

    GN调用shell命令脚本文件,由上面GN文件将相关命令传入,实现GN转CMake

    将三方库加入工程的gn适配文件

    openHarmony/third_party/yxml/build_thirdparty.py

    +

    openHarmony/third_party/yxml/build_thirdpaty.py

    GN调用shell命令脚本文件,由上面GN文件将相关命令传入,实现GN转Makefile

    - - - - - - - - - - - - - - - - - - - - - - -

    方法

    -

    实现说明

    -

    int32_t (*Init)(ChipDevice *device)

    -

    实现器件初始化

    -

    int32_t (*Detect)(ChipDevice *device)

    -

    实现器件探测

    -

    int32_t (*Suspend)(ChipDevice *device)

    -

    实现器件休眠

    -

    int32_t (*Resume)(ChipDevice *device)

    -

    实现器件唤醒

    -

    int32_t (*DataHandle)(ChipDevice *device)

    -

    需要实现从器件读取数据,将触摸点数据填写入device->driver->frameData中

    -

    int32_t (*UpdateFirmware)(ChipDevice *device)

    -

    实现固件升级

    -
    - -2. 配置产品,加载器件驱动 - - 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在名为input的host中,名为device\_touch\_chip的device中增加配置。 - - >![](../public_sys-resources/icon-note.gif) **说明:** - >moduleName 要与触摸屏驱动中的moduleName相同。 - - ``` - deviceN :: deviceNode { - policy = 0; - priority = 130; - preload = 0; - permission = 0660; - moduleName = "HDF_TOUCH_XXXX"; - deviceMatchAttr = "touch_XXXX_configs"; - } - ``` - - -## WLAN驱动移植 - -WLAN驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。 - -**图 1** OpenHarmony WLAN结构示意图 - - -![](figure/HDF_WIFI.png) - -如图1,左半部分负责管理WLAN设备,右半部分负责WLAN流量。HDF WLAN分别为这两部分做了抽象,驱动的移植过程可以看做分别实现这两部分所需接口。这些接口有: - - - - - - - - - - - - - - - - - - - - -

    接口

    -

    定义头文件

    -

    接口说明

    -

    HdfChipDriverFactory

    -

    drivers\framework\include\wifi\hdf_wlan_chipdriver_manager.h

    -

    ChipDriver的Factory,用于支持一个芯片多个WLAN端口

    -

    HdfChipDriver

    -

    drivers\framework\include\wifi\wifi_module.h

    -

    每个WLAN端口对应一个HdfChipDriver,用来管理一个特定端口

    -

    NetDeviceInterFace

    -

    drivers\framework\include\wifi\net_device.h

    -

    与协议栈之间的接口,如发送数据、设置网络接口状态等

    -
    - ->![](../public_sys-resources/icon-note.gif) **说明:** ->详细的接口开发指导,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md)。 - -具体的移植步骤如下: - -1. 创建HDF WLAN 芯片驱动 - - 在目录/device/vendor\_name/peripheral/wifi/chip\_name/ 创建文件 hdf\_wlan\_chip\_name.c。内容模板如下: - - ``` - static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { - static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); // 需要移植者实现的方法 - struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); - if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) { // 注册驱动工厂 - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - - struct HdfDriverEntry g_hdfXXXChipEntry = { - .moduleVersion = 1, - .Init = HdfWlanXXXChipDriverInit, - .Release = HdfWlanXXXChipRelease, - .moduleName = "HDF_WIFI_CHIP_XXX" // 注意:这个名字要与配置一致 - }; - - HDF_INIT(g_hdfXXXChipEntry); - ``` - - 在上述代码的CreateChipDriverFactory方法中,需要创建一个HdfChipDriverFactory类型的对象。该对象提供如下方法 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    接口

    -

    说明

    -

    const char *driverName

    -

    当前driverName

    -

    int32_t (*InitChip)(struct HdfWlanDevice *device)

    -

    初始化芯片

    -

    int32_t (*DeinitChip)(struct HdfWlanDevice *device)

    -

    去初始化芯片

    -

    void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)

    -

    释放HdfChipDriverFactory对象

    -

    struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)

    -

    创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号

    -

    void (*Release)(struct HdfChipDriver *chipDriver)

    -

    释放chipDriver

    -

    uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)

    -

    获取当前芯片支持的最大接口数

    -
    - - 其中Build方法负责创建一个管理指定网络接口的对象HdfChipDriver 。该对象需要提供方法: - - - - - - - - - - - - - - - - - - - - - - -

    接口

    -

    说明

    -

    int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    -

    初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace

    -

    int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    -

    去初始化当前网络接口

    -

    struct HdfMac80211BaseOps *ops

    -

    WLAN基础能力接口集

    -

    struct HdfMac80211STAOps *staOps

    -

    支持STA模式所需的接口集

    -

    struct HdfMac80211APOps *apOps

    -

    支持AP模式所需要的接口集

    -
    - -2. 编写配置文件描述驱动支持的芯片 - - 在产品配置目录下创建芯片的配置文件,保存至源码路径//vendor/vendor\_name/product\_name/config/wifi/wlan\_chip\_chip\_name.hcs - - 该文件模板如下: - - ``` - root { - wlan_config { - chip_name :& chipList { - chip_name :: chipInst { - match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */ - driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/ - sdio { - vendorId = 0xXXXX; /* your vendor id */ - deviceId = [0xXXXX]; /*your supported devices */ - } - } - } - } - } - ``` - - >![](../public_sys-resources/icon-note.gif) **说明:** - >路径和文件中的vendor\_name、product\_name、chip\_name请替换成实际名称 - >vendorId 和 deviceId需要根据实际芯片的识别码进行填写。 - -3. 编写配置文件,加载驱动 - - 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在名为network的host中,名为device\_wlan\_chips的device中增加配置。模板如下: - - ``` - deviceN :: deviceNode { - policy = 0; - preload = 2; - moduleName = "HDF_WLAN_CHIPS"; - deviceMatchAttr = "hdf_wlan_chips_chip_name"; - serviceName = "driverName"; - } - ``` - - >![](../public_sys-resources/icon-note.gif) **说明:** - >moduleName 要与HDF WLAN 芯片驱动中的moduleName相同。 - -4. 修改Kconfig文件,让移植的WLAN模组出现再内核配置中 - - 在device/vendor\_name/drivers/Kconfig中增加配置菜单,模板如下 - - ``` - config DRIVERS_HDF_WIFI_chip_name - bool "Enable chip_name Host driver" - default n - depends on DRIVERS_HDF_WLAN help - Answer Y to enable chip_name Host driver. - ``` - - >![](../public_sys-resources/icon-note.gif) **说明:** - >请替换模板中的chip\_name为实际的芯片名称 - -5. 修改构建脚本,让驱动参与内核构建 - - 在源码文件//device/vendor\_name/drivers/lite.mk末尾追加如下内容 - - ``` - ifeq ($(LOSCFG_DRIVERS_HDF_WIFI_chip_name), y) - # 构建完成要链接一个叫hdf_wlan_chipdriver_chip_name的对象,建议按这个命名,防止冲突 - LITEOS_BASELIB += -lhdf_wlan_chipdriver_chip_name - # 增加构建目录gpio - LIB_SUBDIRS += ../peripheral/wifi/chip_name - endif - ``` - - >![](../public_sys-resources/icon-note.gif) **说明:** - >请替换模板中的chip\_name为实际的芯片名称 - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md deleted file mode 100644 index a28bc2faf3f..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md +++ /dev/null @@ -1,165 +0,0 @@ -# 平台驱动移植 - -在这一步,我们会在源码目录//device/vendor\_name/soc\_name/drivers 目录下创建平台驱动,如果你要移植的SOC的厂商还没有创建仓库的话,请联系[sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)创建。 - -建议的目录结构: - -``` -device -├── vendor_name -│ ├── drivers -│ │ │ ├── common -│ │ │ ├── Kconfig # 厂商驱动内核菜单入口 -│ │ │ └── lite.mk # 构建的入口 -│ ├── soc_name -│ │ ├── drivers -│ │ │ ├── dmac -│ │ │ ├── gpio -│ │ │ ├── i2c -│ │ │ ├── LICENSE -│ │ │ ├── mipi_dsi -│ │ │ ├── mmc -│ │ │ ├── pwm -│ │ │ ├── README.md # docs 如果需要的话 -│ │ │ ├── README_zh.md -│ │ │ ├── rtc -│ │ │ ├── spi -│ │ │ ├── uart -│ │ │ └── watchdog -│ ├── board_name -``` - -HDF为所有的平台驱动都创建了驱动模型,移植平台驱动的主要工作是向模型注入实例。 这些模型你可以在源码目录//drivers/framework/support/platform/include中找到定义。 - -本节我们会以GPIO为例,讲解如何移植平台驱动,移植过程包含以下步骤: - -1. 创建GPIO驱动 - - 在源码目录//device/vendor\_name/soc\_name/drivers/gpio中创建文件soc\_name\_gpio.c 内容模板如下: - - ``` - #include "gpio_core.h" - - // 定义GPIO结构体,如果需要的话 - struct SocNameGpioCntlr { - struct GpioCntlr cntlr; // 这是HDF GPIO驱动框架需要的结构体 - int myData; // 以下是当前驱动自身需要的 - }; - - // Bind 方法在HDF驱动中主要用户对外发布服务,这里我们不需要,直接返回成功即可 - static int32_t GpioBind(struct HdfDeviceObject *device) - { - (void)device; - return HDF_SUCCESS; - } - - // Init方法时驱动初始化的入口,我们需要在Init方法中完成模型实例的注册 - static int32_t GpioInit(struct HdfDeviceObject *device) - { - SocNameGpioCntlr *impl = CreateGpio(); // 你的创建代码 - ret = GpioCntlrAdd(&impl->cntlr); // 注册GPIO模型实例 - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: err add controller:%d", __func__, ret); - return ret; - } - return HDF_SUCCESS; - } - - // Release方法会在驱动卸载时被调用,这里主要完成资源回收 - static void GpioRelease(struct HdfDeviceObject *device) - { - // GpioCntlrFromDevice 方法能从抽象的设备对象中获得init方法注册进去的模型实例。 - struct GpioCntlr *cntlr = GpioCntlrFromDevice(device); - //资源释放... - } - - struct HdfDriverEntry g_gpioDriverEntry = { - .moduleVersion = 1, - .Bind = GpioBind, - .Init = GpioInit, - .Release = GpioRelease, - .moduleName = "SOC_NAME_gpio_driver", // 这个名字我们稍后会在配置文件中用到,用来加载驱动。 - }; - HDF_INIT(g_gpioDriverEntry); // 注册一个GPIO的驱动入口 - ``` - -2. 创建厂商驱动构建入口 - - 如前所述device/vendor\_name/drivers/lite.mk是厂商驱动的构建的入口。我们需要从这个入口开始,进行构建 - - ``` - #文件device/vendor_name/drivers/lite.mk - - SOC_VENDOR_NAME := $(subst $/",,$(LOSCFG_DEVICE_COMPANY)) - SOC_NAME := $(subst $/",,$(LOSCFG_PLATFORM)) - BOARD_NAME := $(subst $/",,$(LOSCFG_PRODUCT_NAME)) - - # 指定SOC进行构建 - LIB_SUBDIRS += $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ - ``` - -3. 创建SOC驱动构建入口 - - ``` - #文件device/vendor_name/soc_name/drivers/lite.mk - - SOC_DRIVER_ROOT := $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ - - # 判断如果打开了GPIO的内核编译开关 - ifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_GPIO), y) - # 构建完成要链接一个叫hdf_gpio的对象 - LITEOS_BASELIB += -lhdf_gpio - # 增加构建目录gpio - LIB_SUBDIRS += $(SOC_DRIVER_ROOT)/gpio - endif - - # 后续其他驱动在此基础上追加 - ``` - -4. 创建GPIO构建入口 - - ``` - include $(LITEOSTOPDIR)/config.mk - include $(LITEOSTOPDIR)/../../drivers/adapter/khdf/liteos/lite.mk - - # 指定输出对象的名称,注意要与SOC驱动构建入口里的LITEOS_BASELIB 保持一致 - MODULE_NAME := hdf_gpio - - # 增加HDF框架的INCLUDE - LOCAL_CFLAGS += $(HDF_INCLUDE) - - # 要编译的文件 - LOCAL_SRCS += soc_name_gpio.c - - # 编译参数 - LOCAL_CFLAGS += -fstack-protector-strong -Wextra -Wall -Werror -fsigned-char -fno-strict-aliasing -fno-common - - include $(HDF_DRIVER) - ``` - -5. 配置产品加载驱动 - - 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。 - - 平台驱动请添加到platform的host中。 - - >![](../public_sys-resources/icon-note.gif) **说明:** - >moduleName要与驱动定义中的相同。 - - ``` - root { - ... - platform :: host { - device_gpio :: device { - device0 :: deviceNode { - policy = 0; - priority = 10; - permission = 0644; - moduleName = "SOC_NAME_gpio_driver"; - } - } - } - } - ``` - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive.md b/zh-cn/device-dev/porting/transplant-smallchip-drive.md deleted file mode 100644 index 8d265ae4d08..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-drive.md +++ /dev/null @@ -1,9 +0,0 @@ -# 驱动移植 - -- **[移植概述](transplant-smallchip-drive-des.md)** - -- **[平台驱动移植](transplant-smallchip-drive-plat.md)** - -- **[器件驱动移植](transplant-smallchip-drive-oom.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md deleted file mode 100644 index f4de2f397db..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md +++ /dev/null @@ -1,265 +0,0 @@ -# LiteOS-A内核 - -- [移植概述](#section14876256185510) - - [移植场景](#section1986014410569) - - [目录规范](#section10916181716564) - -- [基础适配](#section814974018565) - - [编程样例](#section10854481825) - -- [验证](#section646410453212) - -## 移植概述 - -### 移植场景 - -LiteOS-A当前支持ARMv7-a指令集架构,如果三方芯片为ARMv7-a架构,可以进行内核基础适配;否则还需要先根据芯片的架构来新增内核对该芯片架构的支持,这个工作较为复杂,不在这篇文章范围内。 - -### 目录规范 - -LiteOS-A目录规范参考[LiteOS-A 简介](https://gitee.com/openharmony/kernel_liteos_a)。 - -## 基础适配 - -LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项。移植过程中,需要关注初始化流程中跟硬件配置相关的函数。 - -如下图所示,LiteOS-A的初始化流程主要包含以下五步: - -1. 新增target\_config.h文件,并且编写单板内存相关的配置宏DDR\_MEM\_ADDR和DDR\_MEM\_SIZE,分别表示内存起始地址和内存的长度,预链接脚本board.ld.S会根据这两个宏进行展开生成链接脚本board.ld。 -2. 链接阶段根据链接脚本board.ld生成内核镜像。 -3. 单核CPU镜像运行入口为汇编文件reset\_vector\_up.S,多核CPU的入口为reset\_vector\_mp.S,在汇编文件中进行中断向量表初始化、MMU页表初始化等操作。 -4. reset\_vector.S汇编代码最终会跳转到C语言的main函数,进行硬件时钟、软件定时器、内存和任务等初始化,这个过程会依赖target\_config.h的特性宏配置,最后会创建SystemInit任务,并且开启任务调度OsSchedStart\(\)。 -5. SystemInit任务在单板代码中实现,其中调用DeviceManagerStart函数进行HDF驱动初始化,这个过程会调用单板代码中的驱动配置文件hdf.hcs以及drivers源码实现。 - -整体启动流程如下图所示: - -**图 1** 整体启动流程 - - -![](figure/zh-cn_image_0000001126358814.png) - -从图1中可以看到,内核基础适配需要单板进行适配的代码包含三部分: - -- 新增target\_config.h文件,其中新增单板硬件配置参数和特性开关的配置参数,具体说明如下: - - **表 1** target\_config.h配置项说明 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    配置项

    -

    说明

    -

    OS_SYS_CLOCK

    -

    系统cycle的频率

    -

    DDR_MEM_ADDR

    -

    系统内存的起始地址

    -

    DDR_MEM_SIZE

    -

    系统内存的大小

    -

    PERIPH_PMM_BASE

    -

    外设寄存器的起始地址

    -

    PERIPH_PMM_SIZE

    -

    外设寄存器的长度大小

    -

    OS_HWI_MIN

    -

    系统中断最小值

    -

    OS_HWI_MAX

    -

    系统中断最大值

    -

    NUM_HAL_INTERRUPT_UART0

    -

    UART0中断号

    -

    UART0_REG_BASE

    -

    UART0寄存器基址

    -

    GIC_BASE_ADDR

    -

    GIC中断寄存器基址

    -

    GICD_OFFSET

    -

    GICD相对GIC基址的偏移地址

    -

    GICC_OFFSET

    -

    GICC相对GIC基址的偏移地址

    -
    - -- SystemInit函数用于单板用户态业务初始化,典型的初始化场景如图2所示: - - **图 1** 业务启动流程 - - - ![](figure/zh-cn_image_0000001126198996.png) - -- main函数用于内核基础初始化和单板内核态业务初始化,流程如下图3所示,整体由内核启动框架主导初始化流程,图中浅蓝色部分为启动框架中可接受外部模块注册启动的阶段。 - - >![](../public_sys-resources/icon-caution.gif) **注意:** - >同一层级内的模块不能有依赖关系。 - - **图 2** 内核启动框架 - ![](figure/内核启动框架.jpg "内核启动框架") - - **表 2** 启动框架层级 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    层级

    -

    说明

    -

    LOS_INIT_LEVEL_EARLIEST

    -

    最早期初始化

    -

    说明:不依赖架构,单板以及后续模块会对其有依赖的纯软件模块初始化

    -

    例如:Trace模块

    -

    LOS_INIT_LEVEL_ARCH_EARLY

    -

    架构早期初始化

    -

    说明:架构相关,后续模块会对其有依赖的模块初始化,如启动过程中非必需的功能,建议放到LOS_INIT_LEVEL_ARCH层

    -

    LOS_INIT_LEVEL_PLATFORM_EARLY

    -

    平台早期初始化

    -

    说明:单板平台、驱动相关,后续模块会对其有依赖的模块初始化,如启动过程中必需的功能,建议放到LOS_INIT_LEVEL_PLATFORM层

    -

    例如:uart模块

    -

    LOS_INIT_LEVEL_KMOD_PREVM

    -

    内存初始化前的内核模块初始化

    -

    说明:在内存初始化之前需要使能的模块初始化

    -

    LOS_INIT_LEVEL_VM_COMPLETE

    -

    基础内存就绪后的初始化

    -

    说明:此时内存初始化完毕,需要进行使能且不依赖进程间通讯机制与系统进程的模块初始化

    -

    例如:共享内存功能

    -

    LOS_INIT_LEVEL_ARCH

    -

    架构后期初始化

    -

    说明:架构拓展功能相关,后续模块会对其有依赖的模块初始化

    -

    LOS_INIT_LEVEL_PLATFORM

    -

    平台后期初始化

    -

    说明:单板平台、驱动相关,后续模块会对其有依赖的模块初始化

    -

    例如:驱动内核抽象层初始化(mmc、mtd)

    -

    LOS_INIT_LEVEL_KMOD_BASIC

    -

    内核基础模块初始化

    -

    说明:内核可拆卸的基础模块初始化

    -

    例如:VFS初始化

    -

    LOS_INIT_LEVEL_KMOD_EXTENDED

    -

    内核扩展模块初始化

    -

    说明:内核可拆卸的扩展模块初始化

    -

    例如:系统调用初始化、ProcFS初始化、Futex初始化、HiLog初始化、HiEvent初始化、LiteIPC初始化

    -

    LOS_INIT_LEVEL_KMOD_TASK

    -

    内核任务创建

    -

    说明:进行内核任务的创建(内核线程,软件定时器任务)

    -

    例如:资源回收系统常驻任务的创建、SystemInit任务创建、CPU占用率统计任务创建

    -
    - - 进行单板移植适配,推荐关注LOS\_INIT\_LEVEL\_ARCH至LOS\_INIT\_LEVEL\_KMOD\_TASK之间的层级,且尽可能拆分初始化行为进行细化阶段注册。 - - >![](../public_sys-resources/icon-note.gif) **说明:** - >启动框架中同一层级内的注册模块不能有依赖关系,建议新增模块按照上述启动阶段进行模块初始化的拆分,按需注册启动。 - >可通过查看系统编译生成文件OHOS\_Image.map中.rodata.init.kernel.\*段内的符号表来了解当前已注册进内核启动框架中的各个模块初始化入口,以及检查新注册的模块初始化入口是否生效。 - - -### 编程样例 - -在单板SDK文件中 - -``` -/* 内核启动框架头文件 */ -#include "los_init.h" -...... - -/* 新增模块的初始化函数 */ -unsigned int OsSampleModInit(void) -{ - PRINTK("OsSampleModInit SUCCESS!\n"); - ...... -} -...... -/* 在启动框架的目标层级中注册新增模块 */ -LOS_MODULE_INIT(OsSampleModInit, LOS_INIT_LEVEL_KMOD_EXTENDED); -``` - -## 验证 - -``` -main core booting up... -OsSampleModInit SUCCESS! -releasing 1 secondary cores -cpu 1 entering scheduler -cpu 0 entering scheduler -``` - -根据上述系统启动阶段的打印可知,内核在启动时进行了该注册模块的初始化函数调用,完成该模块的初始化操作。 - -系统启动完毕后进入内核态shell,能够运行task命令能够正常显示即可。 - -``` -OHOS # help -*******************shell commands:************************* - -arp cat cd chgrp chmod chown cp cpup -date dhclient dmesg dns format free help hwi -ifconfig ipdebug kill log ls lsfd memcheck mkdir -mount netstat oom partinfo partition ping ping6 pmm -pwd reset rm rmdir sem shm stack statfs -su swtmr sync systeminfo task telnet touch umount -uname v2p virstatfs vmm watch writeproc - -``` - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md deleted file mode 100644 index 911329dbd1b..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md +++ /dev/null @@ -1,125 +0,0 @@ -# Linux内核 - -- [移植概述](#section6282121355111) - - [基本信息](#section19589322515) - - [Bootloader](#section19062510518) - -- [适配编译和烧录启动](#section11112101695215) -- [验证](#section17318153325311) - -## 移植概述 - -Linux内核移植主要涉及基于linux内核基线合入三方芯片补丁后,进行基础的内核编译构建及验证。 - -### 基本信息 - -当前Linux内核基线是基于Linux社区 4.19 LTS版本演进,合入CVE及bugfix补丁。具体信息参考[代码库](https://gitee.com/openharmony/kernel_linux),对应repo工程代码路径为kernel/linux-4.19。 - -### Bootloader - -可以使用芯片厂商自带的Bootloader,或者是开源Uboot等加载内核镜像。比如为支持Hi3516DV300开发板,OpenHarmony引入的开源[Uboot](https://gitee.com/openharmony/device_hisilicon_third_party_uboot)。 - -## 适配编译和烧录启动 - -1. 准备内核config(特别是芯片相关的config)。 - - config文件所在源码目录:kernel/linux/config/ - - 以hi3516dv300芯片为例,可在对应的linux-4.19/arch/arm/configs/目录下新建\_small\_defconfig,如hi3516dv300\_small\_defconfig表示针对hi3516dv300小型系统的defconfig。该config文件可以由基础defconfig文件small\_common\_defconfig与该芯片相关的config组合生成。 - -2. 准备芯片补丁。 - - 补丁文件所在源码目录:kernel/linux/patches/linux-4.19 - - 以hi3516dv300芯片为例,参考已有的patch目录hi3516dv300\_small\_patch目录,新建\_patch目录,放置相关芯片补丁,注意hdf.patch等驱动补丁。 - -3. 编译。 - - 具体内核编译入口脚本位于工程目录kernel/linux/patches/下面,版本级整编命令会通过BUILD.gn进入kernel\_module\_build.sh和kernel.mk,需要在这2个文件中针对性进行patch及defconfig文件路径、编译器、芯片架构、内核Image格式等的适配。 - - 通过编译错误日志调整补丁,典型错误场景: - - (1)补丁合入失败,出现冲突,需要进行上下文适配修改。 - - (2)编译失败,内核版本差异(函数实现调整等)需要针对性进行内核适配。 - - >![](../public_sys-resources/icon-caution.gif) **注意:** - >- 参考kernel.mk,在OpenHarmony工程的编译构建流程中会拷贝kernel/linux-4.19的代码环境后进行打补丁动作,在使用版本级编译命令前,需要kernel/linux-4.19保持原代码环境。 - >- 对应拷贝后的目录位于: out/<\*\*\*\>/kernel/linux-4.19,可以在该目录下进行补丁的修改适配。 - -4. 烧录启动。 - - 由于不同芯片的开发板的烧录方式不一样,此处不表述具体的烧录方式。需要注意烧录的各镜像的大小及启动参数的配置,参考hi3516dv300采用uboot启动参数: - - ``` - setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),9M(kernel),50M(rootfs),50M(userfs)' - ``` - - -## 验证 - -调试init进程、启动shell和运行简单的用户态程序,验证内核移植是否成功。OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的OS镜像结构以及linux用户态的启动流程如下图1所示: - -**图 1** 基于linux内核的OS镜像结构和用户态程序启动流程 - - -![](figure/zh-cn_image_0000001126354076.png) - -基于上述流程,推荐按以下步骤完成验证: - -1. 制作根文件系统镜像。 - - 请参考[新建芯片解决方案和产品解决方案](https://device.harmonyos.com/cn/docs/develop/subsystems/oem_subsys_build_guide-0000001060378721)生成根文件系统镜像rootfs.img。从上图可以看到启动过程与产品配置强相关,在制作rootfs.img过程中请完成如下四种配置: - - - 组件配置 - - 产品组件配置文件vendor/\{company\}/\{product\}/config.json需配置启动恢复子系统\(startup\)的init\_lite组件和内核子系统的linux\_4\_1\_9组件。 - - - 系统服务配置 - - 系统服务配置文件vendor/\{company\}/\{product\}/init\_configs/init\_xxx.cfg需要启动shell服务。 - - - 文件系统配置 - - 文件系统配置vendor/\{company\}/\{product\}/fs.yml中需要创建“/bin/sh -\> mksh“和“/lib/ld-musl-arm.so.1 -\> libc.so“软连接,这两个文件分别是shell可执行程序和可执行程序依赖的c库。 - - - 启动配置 - - 启动配置在vendor/\{company\}/\{product\}/init\_configs/etc目录下,包括fstab、rsS和Sxxx文件,请按开发板实际情况配置。 - - - 编译完成后,可通过检查产品编译输出目录下的rootfs内容,确认rootfs.img文件生成是否符合预期。 - -2. 调试init进程和shell。 - - 烧录rootfs.img并调试init进程和shell,不同厂商的开发板的烧录工具和流程可能不同,请按芯片解决方案提供的流程进行烧录。烧录rootfs.img前请确认bootloader和linux内核启动正常。如果rootfs.img被内核正常挂载,接着将运行/bin/init程序,init进程为用户态的第一个应用程序,它的运行意味着用户态的开始。 - - init程序首先会调用/etc/init.d/rcS脚本,rcS脚本执行第一条命令为"/bin/mount -a”,该命令会加载fstab文件,在fstab中的命令执行完后rcS将顺序调用Sxxx脚本完成设备节点创建和扫描、文件权限配置等操作。 - - 最后,init程序会读取init.cfg系统服务配置文件。根据步骤1中的设置,init程序将会启动shell。如果上述流程运行正常,系统则会进入shell。 - - 若串口有如下版本号日志打印,则表示init程序启动正常: - - **图 2** init启动正常日志 - - - ![](figure/init.jpg) - - 正常进入shell后执行ls命令,串口打印信息如下图: - - **图 3** 正常进入shell后输入ls命令串口打印 - - - ![](figure/shell.jpg) - -3. 配置NFS。 - - init进程和shell正常启动后,以服务端IP为192.168.1.22、客户端IP为192.168.1.4为例,可在根目录执行如下命令开启NFS: - - ``` - ifconfig eth0 192.168.1.4 netmask 255.255.255.0 - mkdir -p /storgage/nfs - mount -t nfs -o nolock,addr=192.168.1.22 192.168.1.22:/nfs /storage/nfs - ``` - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel.md deleted file mode 100644 index a1adc2dde7e..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-kernel.md +++ /dev/null @@ -1,7 +0,0 @@ -# 移植内核 - -- **[LiteOS-A内核](transplant-smallchip-kernel-a.md)** - -- **[Linux内核](transplant-smallchip-kernel-linux.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md deleted file mode 100644 index 6ca5022e46a..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md +++ /dev/null @@ -1,142 +0,0 @@ -# 编译构建 - -- [编译环境搭建](#section3336103410314) -- [编译构建系统介绍](#section354343816319) -- [新建芯片解决方案](#section18612153175011) - -## 编译环境搭建 - -首先请搭建OpenHarmony基础环境,步骤请参考轻量和小型系统入门[linux环境搭建](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_environment_lin-0000001105407498)。用户态和LiteOS-A的内核态编译均使用llvm编译器编译,安装方法在搭建基础环境中已提供。若选择移植linux内核,请执行如下命令安装gcc-arm-linux-gnueabi交叉编译工具链,用于编译linux内核态镜像: - -``` -sudo apt-get install gcc-arm-linux-gnueabi -``` - -## 编译构建系统介绍 - -编译构建流程、编译脚本编写、目录规则、独立编译单个组件、独立编译芯片解决方案等介绍请见[编译构建子系统介绍](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA.md)。 - -## 新建芯片解决方案 - -了解编译框架和搭建完编译环境后,请参考如下步骤新建芯片解决方案: - -1. 新建目录 - - 芯片解决方案的目录规则为:device/\{芯片解决方案厂商\}/\{开发板\}。以海思的hispark\_taurus开发板为例,在代码根目录执行如下命令建立目录: - - ``` - mkdir -p device/hisilicon/hispark_taurus - ``` - - 芯片解决方案目录树的规则如下: - - ``` - device - └── company # 芯片解决方案厂商 - └── board # 开发板名称 - ├── BUILD.gn # 编译脚本 - ├── hals # OS南向接口适配 - ├── linux # 可选,linux内核版本 - │ └── config.gni # linux版本编译配置 - └── liteos_a # 可选,liteos内核版本 - └── config.gni # liteos_a版本编译配置 - ``` - - 以hispark\_taurus移植linux内核为例,目录树应该如下: - - ``` - device - └── hisilicon - └── hispark_tautus - ├── BUILD.gn - ├── hals - ├── ...... - └── linux - └── config.gni - ``` - - 目录树建立后开发板相关的源码放到hispark\_taurus目录下。 - -2. 配置开发板编译选项 - - [步骤1](#li20894101862)中的config.gni可配置开发板相关的编译选项,编译构建框架将会遵照该配置文件中的参数编译所有用户态OS组件。其中关键的字段说明如下: - - ``` - kernel_type: 开发板使用的内核类型,例如:“liteos_a”, “liteos_m”, “linux”。 - kernel_version: 开发板使用的内核版本,例如:“4.19”。 - board_cpu: 开发板CPU类型,例如:“cortex-a7”, “riscv32”。 - board_arch: 开发板芯片arch, 例如: “armv7-a”, “rv32imac”。 - board_toolchain: 开发板自定义的编译工具链名称,例如:“gcc-arm-none-eabi”。若为空,则使用默认为ohos-clang。 - board_toolchain_prefix:编译工具链前缀,例如:“gcc-arm-none-eabi”。 - board_toolchain_type: 编译工具链类型,目前支持gcc和clang。例如:“gcc” ,“clang”。 - board_cflags: 开发板配置的c文件编译选项。 - board_cxx_flags: 开发板配置的cpp文件编译选项。 - board_ld_flags: 开发板配置的链接选项。 - ``` - - 还以海思的hispark\_taurus开发板为例,对应的device/hisilicon/hispark\_taurus/config.gni内容如下: - - ``` - # Board CPU type, e.g. "cortex-a7", "riscv32". - board_cpu = "cortex-a7" - - # Toolchain name used for system compiling. - # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. - # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. - board_toolchain = "mips-linux-gnu-gcc" - - # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. - board_toolchain_path = - rebase_path("//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/bin", - root_build_dir) - - # Compiler prefix. - board_toolchain_prefix = "arm-linux-ohoseabi-" - - # Compiler type, "gcc" or "clang". - board_toolchain_type = "gcc" - - # Board related common compile flags. - board_cflags = [ - ] - board_cxx_flags = [ - ] - board_ld_flags = [] - - # Board related headfiles search path. - board_include_dirs = [] - board_include_dirs += [ rebase_path( - "//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/target/usr/include", - root_build_dir) ] - - # Board adapter dir for OHOS components. - board_adapter_dir = "" - - # Sysroot path. - board_configed_sysroot = "" - - # Board storage type, it used for file system generation. - storage_type = "emmc" - ``` - -3. 编写开发板编译脚本 - - 步骤1中的BUILD.gn为新增的开发板的编译入口,主要用于编译开发板相关的代码,主要为设备侧驱动、设备侧接口适配\(媒体,图形等\)和开发板的SDK等等。 - - 海思的hispark\_taurus开发板的device/hisilicon/hispark\_taurus/BUILD.gn可写成: - - ``` - # group名称建议与开发板名称一致 - group("hispark_taurus") { - deps = [ "//kernel/linux/patches:linux_kernel" ] # 拉起内核编译 - deps += [ - ...... # 开发板其他编译单元 - ] - } - ``` - -4. 编译调试 - - 在开发板目录下执行hb set和hb build即可启动芯片解决方案的编译,编译框架会以开发板下的BUILD.gn为入口启动编译。 - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md deleted file mode 100644 index afe392369f2..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md +++ /dev/null @@ -1,98 +0,0 @@ -# 移植须知 - -本文详细介绍如何将OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的linux和LiteOS-A内核移植到新的开发板上,要求读者具有一定的嵌入式系统开发经验。建议先查看[入门指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/OpenHarmony-Overview_zh.md),以了解OpenHarmony软件架构、目录结构、内核子系统和驱动子系统相关知识。当前小型系统已适配的开发板如下表所示: - -**表 1** OpenHarmony小型系统已适配的开发板 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    开发板

    -

    内核

    -

    arch

    -

    ROM

    -

    RAM

    -

    文件系统

    -

    Flash 类型

    -

    hispark_taurus

    -

    LiteOS-A和linux-4.19

    -

    ARM cortex-a7

    -

    8G

    -

    1GB

    -

    VFAT、EXT4

    -

    eMMC4.5

    -

    hispark_aries

    -

    LiteOS-A

    -

    ARM cortex-a7

    -

    16M

    -

    512M

    -

    JFFS2

    -

    SPI NOR

    -
    - -表1中的开发板可作为待移植开发板的参考,当前LiteOS-A和linux-4.19支持的arch、ROM占用、支持的文件系统和支持的Flash类型如下表所示: - -**表 2** OpenHarmony小型系统内核移植信息表 - - - - - - - - - - - - - - - - - - - - - - -

    内核

    -

    支持的arch

    -

    ROM

    -

    文件系统

    -

    Flash类型

    -

    LiteOS-A

    -

    ARMv7

    -

    > 2M

    -

    VFAT、JFFS2、YAFFS2

    -

    SPI NOR、NAND、EMMC

    -

    linux-4.19

    -

    ARM, ARM64、 MIPS、 X86等

    -

    > 5M

    -

    VFAT、JFFS2、YAFFS、EXT/2/3/4、NFS等等

    -

    NOR、NAND、EMMC等

    -
    - diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare.md deleted file mode 100644 index 6ec4b45dff7..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip-prepare.md +++ /dev/null @@ -1,7 +0,0 @@ -# 移植准备 - -- **[移植须知](transplant-smallchip-prepare-needs.md)** - -- **[编译构建](transplant-smallchip-prepare-building.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-smallchip.md b/zh-cn/device-dev/porting/transplant-smallchip.md deleted file mode 100644 index 4ba38ff4484..00000000000 --- a/zh-cn/device-dev/porting/transplant-smallchip.md +++ /dev/null @@ -1,9 +0,0 @@ -# 小型系统芯片移植指导 - -- **[移植准备](../porting/transplant-smallchip-prepare.md)** - -- **[移植内核](../porting/transplant-smallchip-kernel.md)** - -- **[驱动移植](../porting/transplant-smallchip-drive.md)** - - diff --git a/zh-cn/device-dev/porting/transplant-thirdparty.md b/zh-cn/device-dev/porting/transplant-thirdparty.md deleted file mode 100644 index ca27b2d3398..00000000000 --- a/zh-cn/device-dev/porting/transplant-thirdparty.md +++ /dev/null @@ -1,9 +0,0 @@ -# 三方库移植指导 - -- **[概述](transplant-thirdparty-overview.md)** - -- **[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md)** - -- **[Makefile方式组织编译的库移植](transplant-thirdparty-makefile.md)** - - diff --git a/zh-cn/device-dev/porting/transplant.md b/zh-cn/device-dev/porting/transplant.md deleted file mode 100644 index bc8d8a3ad12..00000000000 --- a/zh-cn/device-dev/porting/transplant.md +++ /dev/null @@ -1,9 +0,0 @@ -# 移植 - -- **[三方库移植指导](transplant-thirdparty.md)** - -- **[轻量系统芯片移植指导](transplant-minichip.md)** - -- **[小型系统芯片移植指导](transplant-smallchip.md)** - - diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" new file mode 100644 index 00000000000..e54970ed8fe --- /dev/null +++ "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" @@ -0,0 +1,9 @@ +# 三方库移植指导 + +- **[概述](概述.md)** + +- **[CMake方式组织编译的库移植](CMake方式组织编译的库移植.md)** + +- **[Makefile方式组织编译的库移植](Makefile方式组织编译的库移植.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-chip-board-bundle.md "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" similarity index 97% rename from zh-cn/device-dev/porting/transplant-chip-board-bundle.md rename to "zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" index 8e235f7c54d..0999f32a530 100644 --- a/zh-cn/device-dev/porting/transplant-chip-board-bundle.md +++ "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" @@ -51,7 +51,7 @@ hb build -f --patch ``` - >![](../public_sys-resources/icon-caution.gif) **注意:** + >![](public_sys-resources/icon-caution.gif) **注意:** >最后一次打patch的产品信息会被记录,在进行下一次编译操作时,会对上一次的patch进行回退(即执行\`patch -p1 -R < xxx\`),回退patch失败或新增patch失败均会终止编译过程,请解决patch冲突后再次尝试编译。 diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" new file mode 100644 index 00000000000..c6c7b4103e7 --- /dev/null +++ "b/zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" @@ -0,0 +1,11 @@ +# 三方芯片移植指导 + +- **[移植准备](移植准备.md)** + +- **[内核移植](内核移植.md)** + +- **[板级系统移植](板级系统移植.md)** + +- **[常见问题](常见问题.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" similarity index 99% rename from zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md rename to "zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" index 40f82e0cd77..a4eaf54ec51 100644 --- a/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md +++ "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" @@ -15,7 +15,7 @@ **图 1** 启动流程 -![](figure/zh-cn_image_0000001073943511.png) +![](figures/zh-cn_image_0000001073943511.png) 启动文件startup.S需要确保中断向量表的入口函数(例如reset\_vector)放在RAM的首地址,它由链接配置文件来指定。其中iar、keil和gcc工程的链接配置文件分别为xxx.icf、xxx.sct和xxx.ld,如果startup.S已经完成系统时钟初始化,并且能够引导到main函数,则启动文件不需要进行修改,采用厂商自带的startup.S即可,否则需要实现以上功能。 diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" new file mode 100644 index 00000000000..1dfe36434a1 --- /dev/null +++ "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" @@ -0,0 +1,9 @@ +# 内核移植 + +- **[移植概述](移植概述.md)** + +- **[内核基础适配](内核基础适配.md)** + +- **[内核移植验证](内核移植验证.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" similarity index 95% rename from zh-cn/device-dev/porting/transplant-chip-kernel-verify.md rename to "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" index fc16eeb224f..4604f13ad9b 100644 --- a/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md +++ "b/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" @@ -55,5 +55,5 @@ LITE_OS_SEC_TEXT_INIT int main(void) } ``` -第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](transplant-chip-board-xts.md)来覆盖最小系统是否完整移植成功。 +第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](XTS认证.md)来覆盖最小系统是否完整移植成功。 diff --git a/zh-cn/device-dev/porting/transplant-chip-faqs.md "b/zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" similarity index 100% rename from zh-cn/device-dev/porting/transplant-chip-faqs.md rename to "zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" diff --git "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" "b/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" new file mode 100644 index 00000000000..3029464912d --- /dev/null +++ "b/zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" @@ -0,0 +1,15 @@ +# 板级系统移植 + +- **[移植概述](移植概述-0.md)** + +- **[板级驱动适配](板级驱动适配.md)** + +- **[HAL层实现](HAL层实现.md)** + +- **[系统组件调用](系统组件调用.md)** + +- **[三方组件适配](三方组件适配.md)** + +- **[XTS认证](XTS认证.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-chip-board-drive.md "b/zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" similarity index 100% rename from zh-cn/device-dev/porting/transplant-chip-board-drive.md rename to "zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" diff --git a/zh-cn/device-dev/porting/transplant-thirdparty-overview.md "b/zh-cn/device-dev/porting/\346\246\202\350\277\260.md" similarity index 100% rename from zh-cn/device-dev/porting/transplant-thirdparty-overview.md rename to "zh-cn/device-dev/porting/\346\246\202\350\277\260.md" diff --git a/zh-cn/device-dev/porting/transplant-chip-prepare.md "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" similarity index 31% rename from zh-cn/device-dev/porting/transplant-chip-prepare.md rename to "zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" index 358da845b74..1637d5d8932 100644 --- a/zh-cn/device-dev/porting/transplant-chip-prepare.md +++ "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" @@ -1,7 +1,7 @@ # 移植准备 -- **[移植须知](transplant-chip-prepare-knows.md)** +- **[移植须知](移植须知.md)** -- **[编译构建适配流程](transplant-chip-prepare-process.md)** +- **[编译构建适配流程](编译构建适配流程.md)** diff --git a/zh-cn/device-dev/porting/transplant-chip-board-overview.md "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" similarity index 92% rename from zh-cn/device-dev/porting/transplant-chip-board-overview.md rename to "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" index 732872af5b5..a5d18d9bd49 100644 --- a/zh-cn/device-dev/porting/transplant-chip-board-overview.md +++ "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" @@ -13,11 +13,11 @@ 4. 业务功能验证。 **图 1** 单板驱动适配流程 -![](figure/单板驱动适配流程.png "单板驱动适配流程") +![](figures/单板驱动适配流程.png "单板驱动适配流程") ## 板级目录规范 -板级系统编译适配参考[编译系统介绍](transplant-chip-prepare-process.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下: +板级系统编译适配参考[编译系统介绍](编译构建适配流程.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下: ``` . diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" similarity index 98% rename from zh-cn/device-dev/porting/transplant-chip-kernel-overview.md rename to "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" index 34095a2318d..6f6b4217488 100644 --- a/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md +++ "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" @@ -21,7 +21,7 @@ **图 1** liteos-m内核模块图 -![](figure/zh-cn_image_0000001072304191.png) +![](figures/zh-cn_image_0000001072304191.png) 内核的目录结构和说明如下: diff --git a/zh-cn/device-dev/porting/transplant-chip-prepare-knows.md "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" similarity index 93% rename from zh-cn/device-dev/porting/transplant-chip-prepare-knows.md rename to "zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" index 6c0282c492b..b28e2b5d0ff 100644 --- a/zh-cn/device-dev/porting/transplant-chip-prepare-knows.md +++ "b/zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" @@ -33,7 +33,7 @@ OpenHarmony整体工程较为复杂,目录及实现为系统本身功能,如

    /device

    板级相关实现,各个三方厂商按照OpenHarmony规范适配实现,device下具体目录结构及移植过程参见板级系统移植

    +

    板级相关实现,各个三方厂商按照OpenHarmony规范适配实现,device下具体目录结构及移植过程参见板级系统移植

    /vendor

    @@ -75,10 +75,10 @@ vendor # 产品解决方案厂商 OpenHarmony的device目录是基础芯片的适配目录,如果在三方芯片应用过程中发现此目录下已经有完整的芯片适配,则不需要再额外移植,直接跳过移植过程进行系统应用开发即可,如果该目录下无对应的芯片移植实现,则根据本文完成移植过程。OpenHarmony三方芯片移植主要过程如下: **图 1** 芯片移植关键步骤 -![](figure/芯片移植关键步骤.png "芯片移植关键步骤") +![](figures/芯片移植关键步骤.png "芯片移植关键步骤") ## 移植规范 - 满足OpenHarmony[开源贡献基本规范和准则](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md)。 -- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](transplant-chip-kernel-overview.md)和[板级目录规范](transplant-chip-board-overview.md#section6204129143013)满足基本目录命名和使用规范。 +- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](移植概述.md)和[板级目录规范](移植概述-0.md#section6204129143013)满足基本目录命名和使用规范。 diff --git a/zh-cn/device-dev/porting/transplant-chip-board-component.md "b/zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" similarity index 91% rename from zh-cn/device-dev/porting/transplant-chip-board-component.md rename to "zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" index 618fc8acfa8..5f2a6f6f6a3 100644 --- a/zh-cn/device-dev/porting/transplant-chip-board-component.md +++ "b/zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" @@ -11,7 +11,7 @@ 系统服务框架基于面向服务的架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务共进程、进程间服务调用等开发能力。 ->![](../public_sys-resources/icon-notice.gif) **须知:** +>![](public_sys-resources/icon-notice.gif) **须知:** >本组件在板级系统移植中必须要使用,否则其他服务组件无法运行。 **SAMGR使用说明,请参考:[SAMGR 使用指导](https://gitee.com/openharmony/distributedschedule_samgr_lite/blob/master/README_zh.md)** @@ -22,5 +22,5 @@ DFX子系统主要包含DFR(Design for Reliability,可靠性)和DFT(Design for Testability,可测试性)特性,为开发者提供代码维测信息。 -**DFX子系统使用说明,请参考:[DFX子系统使用指导](../subsystems/subsys-dfx-overview.md)** +**DFX子系统使用说明,请参考:[DFX子系统使用指导](../subsystems/DFX.md)** diff --git a/zh-cn/device-dev/porting/transplant-chip-prepare-process.md "b/zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" similarity index 100% rename from zh-cn/device-dev/porting/transplant-chip-prepare-process.md rename to "zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" -- Gitee From 074a0aa52e15afa842f24cbca0dd2ae9302ece7b Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Wed, 21 Jul 2021 19:37:28 +0800 Subject: [PATCH 10/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- .../quick-start/quickstart-lite-steps-board3861-running.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md index 573245e7e22..d33056d84f2 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md @@ -47,7 +47,7 @@ The source code needs to be modified when fixing bugs or compiling a new service SYS_RUN(HelloWorld); ``` -3. Compile the **BUILD.gn** file for building services into a static library. +3. Add the **BUILD.gn** file for building services into a static library. Create the **BUILD.gn** file in **./applications/sample/wifi-iot/app/my\_first\_app** and fill in three parts \(target, source file, and header file path\) of the **BUILD.gn** file. @@ -66,7 +66,7 @@ The source code needs to be modified when fixing bugs or compiling a new service - Specify the .c file on which a file depends and its path in **sources**. The path that contains **//** represents an absolute path \(the code root path\), otherwise it is a relative path. - Specify the path of .h file on which **sources** depends in **include\_dirs**. -4. Compile the **BUILD.gn** file and specify the feature modules to be built. +4. Modify the **BUILD.gn** file and specify the feature modules to be built. Configure the **./applications/sample/wifi-iot/app/BUILD.gn** file and add an index to the **features** field to enable the target to be involved in compilation. Specify the path and target of a service module in **features**. The following uses **my\_first\_app** as an example and the **features** is configured as follows: -- Gitee From 00bc192818fe8ff8d272f956337f2da5f28ace73 Mon Sep 17 00:00:00 2001 From: duangavin123 Date: Thu, 22 Jul 2021 09:34:54 +0800 Subject: [PATCH 11/13] =?UTF-8?q?update=20=E5=AF=BC=E5=85=A5OpenHarmony?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: duangavin123 --- zh-cn/device-dev/porting/Readme-CN.md | 35 +- .../porting/{figures => figure}/HDF_WIFI.png | Bin ...0\345\212\237\347\225\214\351\235\242.png" | Bin zh-cn/device-dev/porting/figure/init.jpg | Bin 0 -> 23299 bytes zh-cn/device-dev/porting/figure/shell.jpg | Bin 0 -> 13564 bytes .../zh-cn_image_0000001072304191.png | Bin .../zh-cn_image_0000001073943511.png | Bin .../figure/zh-cn_image_0000001126198996.png | Bin 0 -> 11830 bytes .../figure/zh-cn_image_0000001126354076.png | Bin 0 -> 89981 bytes .../figure/zh-cn_image_0000001126358814.png | Bin 0 -> 55221 bytes ...7\345\212\250\346\241\206\346\236\266.jpg" | Bin 0 -> 612762 bytes .../figure/\345\210\206\347\261\273.png" | Bin 0 -> 20230 bytes ...2\351\205\215\346\265\201\347\250\213.png" | Bin ...3\351\224\256\346\255\245\351\252\244.png" | Bin .../porting/lite_system_port_guide.md | 27 -- .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../porting/public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../porting/standard_system_porting_guide.md | 377 ----------------- .../porting/transplant-chip-board-bundle.md | 2 +- .../transplant-chip-board-component.md | 4 +- .../porting/transplant-chip-board-drive.md | 0 .../porting/transplant-chip-board-hal.md | 0 .../porting/transplant-chip-board-overview.md | 4 +- .../porting/transplant-chip-board-xts.md | 4 +- .../porting/transplant-chip-board.md | 15 + .../porting/transplant-chip-faqs.md | 0 .../transplant-chip-kernel-adjustment.md | 2 +- .../transplant-chip-kernel-overview.md | 2 +- .../porting/transplant-chip-kernel-verify.md | 2 +- .../porting/transplant-chip-kernel.md | 9 + .../porting/transplant-chip-prepare-knows.md | 6 +- .../transplant-chip-prepare-process.md | 0 .../porting/transplant-chip-prepare.md | 4 +- zh-cn/device-dev/porting/transplant-chip.md | 11 + .../device-dev/porting/transplant-minichip.md | 11 + .../porting/transplant-smallchip-drive-des.md | 11 + .../porting/transplant-smallchip-drive-oom.md | 390 ++++++++++++++++++ .../transplant-smallchip-drive-plat.md | 165 ++++++++ .../porting/transplant-smallchip-drive.md | 9 + .../porting/transplant-smallchip-kernel-a.md | 265 ++++++++++++ .../transplant-smallchip-kernel-linux.md | 125 ++++++ .../porting/transplant-smallchip-kernel.md | 7 + .../transplant-smallchip-prepare-building.md | 142 +++++++ .../transplant-smallchip-prepare-needs.md | 98 +++++ .../porting/transplant-smallchip-prepare.md | 7 + .../porting/transplant-smallchip.md | 9 + .../porting/transplant-thirdparty-cmake.md | 6 +- .../porting/transplant-thirdparty-makefile.md | 6 +- .../porting/transplant-thirdparty-overview.md | 0 .../porting/transplant-thirdparty.md | 9 + zh-cn/device-dev/porting/transplant.md | 9 + ...73\346\244\215\346\214\207\345\257\274.md" | 9 - ...73\346\244\215\346\214\207\345\257\274.md" | 11 - ...05\346\240\270\347\247\273\346\244\215.md" | 9 - ...73\347\273\237\347\247\273\346\244\215.md" | 15 - 59 files changed, 1315 insertions(+), 502 deletions(-) rename zh-cn/device-dev/porting/{figures => figure}/HDF_WIFI.png (100%) rename "zh-cn/device-dev/porting/figures/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" => "zh-cn/device-dev/porting/figure/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" (100%) create mode 100644 zh-cn/device-dev/porting/figure/init.jpg create mode 100644 zh-cn/device-dev/porting/figure/shell.jpg rename zh-cn/device-dev/porting/{figures => figure}/zh-cn_image_0000001072304191.png (100%) rename zh-cn/device-dev/porting/{figures => figure}/zh-cn_image_0000001073943511.png (100%) create mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126198996.png create mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png create mode 100644 zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png create mode 100644 "zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" create mode 100644 "zh-cn/device-dev/porting/figure/\345\210\206\347\261\273.png" rename "zh-cn/device-dev/porting/figures/\345\215\225\346\235\277\351\251\261\345\212\250\351\200\202\351\205\215\346\265\201\347\250\213.png" => "zh-cn/device-dev/porting/figure/\345\215\225\346\235\277\351\251\261\345\212\250\351\200\202\351\205\215\346\265\201\347\250\213.png" (100%) rename "zh-cn/device-dev/porting/figures/\350\212\257\347\211\207\347\247\273\346\244\215\345\205\263\351\224\256\346\255\245\351\252\244.png" => "zh-cn/device-dev/porting/figure/\350\212\257\347\211\207\347\247\273\346\244\215\345\205\263\351\224\256\346\255\245\351\252\244.png" (100%) delete mode 100644 zh-cn/device-dev/porting/lite_system_port_guide.md delete mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-caution.gif delete mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif delete mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-note.gif delete mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif delete mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-tip.gif delete mode 100644 zh-cn/device-dev/porting/public_sys-resources/icon-warning.gif rename "zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" => zh-cn/device-dev/porting/transplant-chip-board-bundle.md (97%) rename "zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" => zh-cn/device-dev/porting/transplant-chip-board-component.md (91%) rename "zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" => zh-cn/device-dev/porting/transplant-chip-board-drive.md (100%) rename "zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" => zh-cn/device-dev/porting/transplant-chip-board-hal.md (100%) rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" => zh-cn/device-dev/porting/transplant-chip-board-overview.md (92%) rename "zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" => zh-cn/device-dev/porting/transplant-chip-board-xts.md (94%) create mode 100644 zh-cn/device-dev/porting/transplant-chip-board.md rename "zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" => zh-cn/device-dev/porting/transplant-chip-faqs.md (100%) rename "zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" => zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md (99%) rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" => zh-cn/device-dev/porting/transplant-chip-kernel-overview.md (98%) rename "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" => zh-cn/device-dev/porting/transplant-chip-kernel-verify.md (95%) create mode 100644 zh-cn/device-dev/porting/transplant-chip-kernel.md rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" => zh-cn/device-dev/porting/transplant-chip-prepare-knows.md (93%) rename "zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" => zh-cn/device-dev/porting/transplant-chip-prepare-process.md (100%) rename "zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" => zh-cn/device-dev/porting/transplant-chip-prepare.md (31%) create mode 100644 zh-cn/device-dev/porting/transplant-chip.md create mode 100644 zh-cn/device-dev/porting/transplant-minichip.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-des.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-drive.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-kernel.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip-prepare.md create mode 100644 zh-cn/device-dev/porting/transplant-smallchip.md rename "zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" => zh-cn/device-dev/porting/transplant-thirdparty-cmake.md (98%) rename "zh-cn/device-dev/porting/Makefile\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" => zh-cn/device-dev/porting/transplant-thirdparty-makefile.md (97%) rename "zh-cn/device-dev/porting/\346\246\202\350\277\260.md" => zh-cn/device-dev/porting/transplant-thirdparty-overview.md (100%) create mode 100644 zh-cn/device-dev/porting/transplant-thirdparty.md create mode 100644 zh-cn/device-dev/porting/transplant.md delete mode 100644 "zh-cn/device-dev/porting/\344\270\211\346\226\271\345\272\223\347\247\273\346\244\215\346\214\207\345\257\274.md" delete mode 100644 "zh-cn/device-dev/porting/\344\270\211\346\226\271\350\212\257\347\211\207\347\247\273\346\244\215\346\214\207\345\257\274.md" delete mode 100644 "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215.md" delete mode 100644 "zh-cn/device-dev/porting/\346\235\277\347\272\247\347\263\273\347\273\237\347\247\273\346\244\215.md" diff --git a/zh-cn/device-dev/porting/Readme-CN.md b/zh-cn/device-dev/porting/Readme-CN.md index 902c182939b..dd73e8cbbfa 100755 --- a/zh-cn/device-dev/porting/Readme-CN.md +++ b/zh-cn/device-dev/porting/Readme-CN.md @@ -1,4 +1,3 @@ -<<<<<<< HEAD # 开发板移植 目前OpenHarmony已经成立了SIG组[sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)。该SIG组以支持更多第三方开发板为目标,提供开发板移植的支撑。 @@ -23,37 +22,7 @@ repo init -u https://gitee.com/openharmony-sig/manifest.git -b master -m devboar # 2. 开始移植你的开发板 -- [轻量级系统](lite_system_port_guide.md) -- 小型系统(待发布) +- [轻量级系统](transplant-minichip.md) +- [小型系统](transplant-smallchip.md) - [标准系统](standard_system_porting_guide.md) -======= - -# 开发板移植 -目前OpenHarmony已经成立了SIG组[sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)。该SIG组以支持更多第三方开发板为目标,提供开发板移植的支撑。 - -在了解开发板移植前,需要先了解一下OpenHarmony对设备的分类。不同设备类型的移植方法会有较大差异。 - -| 设备类型 | 硬件要求 | 支持的内核 | -|---------|-------------|----------------| -| 轻量系统类设备 | 内存>128KB | LiteOS-M | -| 小型系统类设备 | 内存>1MB、有MMU | LiteOS-A、Linux | -| 标准系统类设备 | 内存>128MB | Linux | - -# 1. 代码准备 - -目前OpenHarmony已经为各厂家创建了仓库并在openharmony-sig中进行孵化。参与孵化仓开发,需要使用如下方法初始化和下载代码。 - -```shell -repo init -u https://gitee.com/openharmony-sig/manifest.git -b master -m devboard.xml --no-repo-verify -``` - -其他下载步骤与主线相同。 - -# 2. 开始移植你的开发板 - -- [轻量级系统](lite_system_port_guide.md) -- 小型系统(待发布) -- [标准系统](standard_system_porting_guide.md) - ->>>>>>> 2969611b3e2a25755ebcd7f632c8fe3f7f0c615f diff --git a/zh-cn/device-dev/porting/figures/HDF_WIFI.png b/zh-cn/device-dev/porting/figure/HDF_WIFI.png similarity index 100% rename from zh-cn/device-dev/porting/figures/HDF_WIFI.png rename to zh-cn/device-dev/porting/figure/HDF_WIFI.png diff --git "a/zh-cn/device-dev/porting/figures/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" "b/zh-cn/device-dev/porting/figure/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" similarity index 100% rename from "zh-cn/device-dev/porting/figures/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" rename to "zh-cn/device-dev/porting/figure/OpenHarmony\345\220\257\345\212\250\346\210\220\345\212\237\347\225\214\351\235\242.png" diff --git a/zh-cn/device-dev/porting/figure/init.jpg b/zh-cn/device-dev/porting/figure/init.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1e7f8b695bebf395ea6cfa0aed55495c4896118 GIT binary patch literal 23299 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 literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png b/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png new file mode 100644 index 0000000000000000000000000000000000000000..b241920b30fea1b2a432f6ba01045bbfbae7fb58 GIT binary patch literal 89981 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
    4y(8%w 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

    rel@wb zb3A~4n;h@`YKDR8(lS}f(p@mKuf;a1v8*V>UbGJ^TB)i*wo&hF4HSUifVOEVJr%ih zLYhMK^A&rF<I3#^|U!KX^s47VtF4JH(d}9no}~mNf^5 zL8u)B%&61}A(bGQ&XK`{{HQB}Ib|e^&Bm{eXTQZ4Nq$71TVWqIJeH_;!A~SaF;(O= zgtPPG&qD2E)`QK51>ChrUi(AJFGI`?NU|UYz|!v#`dz7KKmKQs?-_m*dHI0t&)M(H3*YE_zJ|ib zLoe7`u20BSNruC>mKyW#z60(0fQNQPNJyqy%F@r!5o6wrIxwxwC$uqAc}vbmNQR`Ca3=_8XOtU&1!F70-FXDpgmflN5} z*m>QK!AO2XUscYOq6%J;3wu>>{F*9KK@}*%2Fa| zQ&TE8@0vuj1GhH+ba;8QW8J|ieza!J;l7qGm99*{-$^Y=x%0q1(LVpEMQmk~Zf5Kj z`nyi4DhqWZ0W?fjB1Bir0fOm5OB0eUII+M2w>YWtg1~x)R^3J6DKNKxhlQ51!U@9` z2a2DS_ENTAs3c0)3=qP&!yk7Z_~X^ni6nGAQVom}p*w_ZyW*t?T|iR`%{9JB`MEey zrbIaeW=soxt!oJ5I(cb}PzN`mcn5&Rybzhh`Uu4;8wh~@RKj=ri8`P~Oo&7`jFKy) zIQ4e=$^gn<_$HiH6v>zQwSq=%iv4(mOJ{#^XmenQW#Oy$-%WYoebDd|@jV%hs)4q% zRL$}0G08mnO{mH)SlC&tJ#$ZfKHalBKSak+Z+ho_uu6W9o)Ag`xcNw2n59gc75pLrUa` zym6uJY3Jzj)GGF2v0qw2xi@)}xw*|E`G^B>tThAzkA!zt5b*PpY$1)-ev|XW44H$-jDRcx9XYpQxneefmwIrSg(vjZC1p#-2Hr_ZJd3PFbkt`szFcPt9R3*gG{$c;N zy;7CCNQh9kY~0L~voNOD7Xr_AKRI{r^&85L9+h2>`|O-xUh|FZZ#LYEvp6rsDNKtO7z#bZ|ih3E9$Px`kx*(n4AX--`O(NLOn2dEJo!|OJR zmNlj@Vz4P%FKh?iE~L(zZ52Ep-Ivw5x34^D>it5gg1SSw;`0l^*Ryt1q%}0qR`221 z=beIfWDAZkM#`k-u|uo}=Y-e%+9nR>)^-MxO>&gF&ufpnF+LL>mZFUJ_-EiY+U@Jz zSns{)!7{d_e|4R^2+gV!*RbX*&~-zvbPZ)y_#Gc~Hx7N-X^JY)C6NekU(bAz%f7zm zU_MP3YPE^9vlcut)qYk}L$SZWDjowuw=FrY=f`JTqy+@8MpW`mWF<&wxSk8JpN#b=%>*R zk9NVR**UPKW?ArqIZOYDUwi9|3_V~UT2Q~)7h3J1sr!=)z2UyG6D|c37yTDO3eS^% zymQX(SE8BLlxE{k(fD0S*Ng=E4yR9chG;mZTn-q_)$zW|H}({t`oO@5*KwB^_hp{& zd&YNg-d}IHsWI);y1CV5o=R0l6~BF|J{a1MsyctnB!sEDJ5gld+Wf~O(a!P~`fI^- zt1UiWfYBI*THRT{8B2|CBITUegM`UGODg{F+l2$X~kXOrXA-F76f)Q$E%aMsVUYvTH!vcTlo>V14r-buD#> zr;6?%=T9HF5qNpj@ezy#pmQK?`178;U;87=p8C6ZLfHED>scB{U)67Wk~3@fMCdlN z5(B6ZrY+DO`?hpL2hm;CjUdGf*Q>h(0@!Vje!{j@K}&Q-IG?6ZP= zxL4d?<@27L-~72nVAQz(j*20BydeHsw3~7Q7fId{@baGjw zWlZ)(1B1zlc1Q#5uxfYoZPQYH2jO<5^{p9BSIgs>hr4UV=z4d@e64YgC( zw*GOF-{|LCK!7(+WXd^f9oszP`Qf4Zl&$>GxN z>88j$HcoBFYjWRSn3XP#(of2mpIvP;n0oNXR6E-Sni}ogvii#-4sE6dyt;1e^jgtjJVDuZe#`F+T6w|H zoe$ki!<7l+`#147WviqX>pwesdKEQ6T&|_<=8D`s}ZXjOZ`*C=N?3 z(~52zC`;!2R?(j^=}|^|VN;%LlWxmCP?p$u|M^3yxl2;l)^$7GB5bk4pWavAM<$j_ zNnl$#4?&@s=THTlB+^adKrusbFoSavA+k4r(DG?@qXpO?vRhNW#-fFbZ|4<*h@znx zp2U(D8heYkP5i8Mm>j{eqJ^!sES1$Qv!u03I6vOt*hW)xt29;d!~S zl-Lv`xrFjd@8GE0rEM=QTyrBP8CECoYbg|2;Vgq{K$z8+#Gr3Wf9)G`t(6sg{6ats zNC`j+x~c4KabXjaes7qvM3#B$@yhB)j1GDf8Si&5pFh;}=6SVI8{@&dlcx{GXc{}`oS>`= zG4hPkD9?2++S^U-PAheFuaTcMad>){aO!sXelO}QgU=JY180CL;&3`xfIKqALj@NUjdpTC6-xH^RwHb zvG;BciY)56wzn2#|asbB5*8d6tGg5T2oEm2-^!TPi!_T`GBeoeYxAbrG^-nIZwnA$-;oAtbu!vX^8~b z1vC5vTrn9-fRU?1y~vx_24SFxS*-ZwD}#PJM}C3q1R`N;-F*y`E;3>i?9@^TZEj1E zsJ>lD3?HXtA4wAEX!GY1?JW3+-4WtG$(grjZr=Zz>xzrCb5J)FRM)0_5NH+Q!hDlc zEJf$*Dc;Na3%7s*WBh~uEt`R@Yxtv0?Bx44hX8dU@PS5@?dO<>>)7&I&Pmpq?8oRY zlYMvJ1iEd0wuLY}rY|V3mZX%?1=4K#Z zxeVSR97@ zq=E$|?WqAS!VBY2yCRNbMKv3;GZjqM^U{5bAA<|32B@jV39-82EM>g$FvX#t;v|9lc+;fQ?E(j)TD*8y}-Dh1(at~G%*t}bz zc>4Llu;bV5?1Fa5Jf|N2v@&`hX2Dii`Fsbc4*p-F{9u7$51#=pq^jgdeO9C3*)(~5@ z+B2Dre4c{TQG^4`j!s5vkU+<=wJGaqX{c{*-WWm`S0i&b$=SqLUl@o1G}|bQvv3@Y zF|*h&%1g2X4Z}#3xL!wti zXsPAgHEYk%$vT39t#p%Ln$+ zA7Zm^^>;J^#}3vC)GA^`uC9l7fO+4FuuAG2qvJfnb$aA)KDZbcvR`J4Y_CE4$IPyqJ@pt@T|Y;;W9#!JC38>A?a%3cwE!!1YRTcOdb!z&r;WNi)slve`X zew&2kwi%wR?Y5edZ3=`oX#R9cBjDHNyxL(6jxBsYg)?%Zr*65~JBSF8n7bDVk^M3V|FuA-JEbtR5-)VQx& zbkO90z-~d?w>qrYU}AQXb+X@)S29?j$}dMV$z{-C(XauU|L9ZRHN16M#%2i@A}q zzOSB+X-uXXA)PH;H~^zEJt2-8_yTEDtDx5X(4Uj6anSI4#S9co4_k;c8F!=+;6M6P zc3n!8s39(5<-RY95Pz6p5+;#R$s_kr+X88>AuKHgKZZaU4o7ULvXy=T#LE z1cRx9uJwXpX<$WIel3z7z#M!h^3Qz|Bv3rdcK?C_q3)q!Jbr5g^bnT@;=+O;iY4H_ zo)E;8w}W$m{JTG*;=)7{h1c=w2#fFazC`5QwHH=Qia!@wHK}VgSpRg78v>O|?doY9 z=vbZ$&9&#ZNTqS04wm>KAYHL~^WKDj+0^7o?;w%3O%#e{pjC`ouW z^_%L7dC{TdYvV|4mY!wzX`A^F;w?MSShn4?za;M^fXHfuu2N~sM;9=5MWHl;wK|s#%1ksnc0p$56 zsXl!YuZHx*n8rc-MZB3*iNz=q)!X|vGWfyMzIuY{%e$`IV7I_K`gP~j1NtOhXuGfc ztc#E~+$TsuhDA@t4LNher1oMv5v`4`Ls^4e7Bz3`?{1#mF*H3~~#rHmMc)@{6ybxPeuTcm;^V>Y)|W zYwV8?G7Z8mbAldH^}8wy#(StR|U>f#UIJuF(c00X_bktgDvNRUKLdhijFfX7nS)grF) zY?>~a^%It{ z-{f@Aez+B0Kv%d)jv^8K{?#9vu$^iVWEQ^1S(psQ2gyYUgT0gk-w3spj`rqamo*9V&TN3fG9lTAJ| zT@sx!ijmteQGER2L(!cQ$!SV>AAbE2@>0rHn4(P1o#tmYN>$k2@LPI1@0X4;!^`WD z$8onhtAKb}CiUm8V+8(sLKMYLc9E%$Sh&b;;Xq=hA~fvaW)SKLmjJ(Clqb$W8t)+{ z3xfAGFlwgFiB(T(R_D9!XyIX`^1!I7JfT@VOz`sT92-?dNN{#rvDOpOPbC)wEVVGa zfykkxVp^RU1Q(zR10vIL5*w3D{E4X!VmFHft&&DRIgpD}R!;Z%&hIsc|MsQ7M)rS_WJ)Cw(nTHjA3ms}3I8`-! z|M8FFEAPmMxe6Sr!9)yPUvN-VS?qOLXjg97>U=rFG!V8)Ufz?qNykQJWp#T?cDeV8 zZRfXaFS_kcy&59m0!r-$^ooz6N~l(8E?b0IsNn;^f@3x++ZN4 zjc>Uh@!Q{>d#7 z)V)B0{iM?xt7#W9K8x!tRu;{%<19Lu#*HwIJ%^nh!-{a1DZ6fk`-%bPsz80huW^!k zowq8Tmj^L)yg1vR+KW~DZcCF$ZwQ$Uk>EjrW)f&<2Ph!rVek_dS(elhw2n@K1F(*@ zdNM$sr4`c27}gegp{bSj*tF(d(UrhXHqwB7;BmiGB;NFb%gPJH!^jp8{7l6V5-4(O zg;t_^6u(~7fD$+N`NWa@NrsM7%-Y|WGfo7t)@#=_bY9w+TL+HE*E3droX$~z)wAnoQ7UJsyalPzLbtGPsqJzW0mwlTq zn8i6ea*hT?kk*8%@m5mQ$LXmfiMI(FW)v^s&I|2%xjaSb4k4rx#(Uk+$bVeVSQd`1 zel%!4@o1pg4B|hQ?t&tN%)ayyC$~;s1>OCz$F!^p^xx1-1K#+B4UTxFzX&khyD9QT zbo=MznJp4ssg*1NFrRn{gjymyPP;|?3|?p%!@QD43NcG5Hm|7axOQ%eFD9W5yNXN~ z%%xGRZ@vlt(M^;5DRPCPPe6Z6+-Xk!n@`to_S@~L+WF8Q-(PW8P@Dg`$mn1$E9~|8LwOcz0uB@K&sG5xk(obwVe&%FM=uy2*x@MhQDpK-G+~jXi9RTzS ztPs<^WOamKVk-7w-i%N}kjlZ1>7Ygr8o%k6Sz)*z!-%z=Z0_(vJ5ys&iV?WI9>f9< zOj$Wo_chQDX^eGD#bZY!7T<#RN?+$U7Ir_(_FZ@Vtv6HDH6qKb`YJRSYTb#NkhA$u zc~VtuC;h>Ybj?s3RUMQ#INS_qO%yAbK60*=xkgrq%1I3oYj_Wbw;UXJM0IjR3s#jv zs+cU+8p6ww^;+rjc247SBljkDi!ezW;c}YP88zyu1O9lB%9*DD+H)T!S_$`AStKaJ z%uRd~aI%EFVMb>Xq91o1__}=b)-+6F1u-tw+hcU zWOFZrl2+U;h8TPKL}|~mfjV*T2hrq+YH|wFh$;*TXMK6%+WNc}aQPs%o8q!S)3jRx zE0mE$U5&I0u^Hv#$(JdZ+h{l8M^tf-0FwcTjm;}dKH#-vx9eHSOk>2q0_kca)aGSa z%CLNT3eHTbDbS#9rdWxJ)9*wCtm{b7_t;!y4~Xq=H1pqCusyF{ElcZewr>%L4#)XE zyqiM`z7|yZUemcW|F^I}7@>46yAg8cLMCBYDK-Grg zEwL#)^?9Dk6n)jbNTx;jIlP|irrpj;z~ktVYGw;M-@DRggW=Dp!mNOXn9w<-VRclY z4EAdy>XaY_qC9sQeH2v%98RVNB^p@?XSede;si6R z_yT1}4^)T8M?iJWzQq7&GI%UmiuPgGu!7vc^RPh=wR9y+=wyIBl*Tk5KVb)GgAnD0 zmF`CDVdgZ4UfbB_c5zIrcb=Q(+t^A^8rv!|Yknx*1l)$okMwWCuMFE77Cp^+-JnHn z0G5jlCAShxhh9txc2?_qCZ0Z_yP;TZe-0()$nn!{1EJ$3`Td#3gEd)+>x7#tQd-%D z#RrNbejmS&th;sIAS8`^m_IrAyrTbLWuPJF27YV#Aj!8_%Z8#B=cw+>R4;ZvbYx?( zpG%&aXu#s`Kgc_GWC`zKn*$8l|y#dpI3^1n%vK;964o0Fax19#K*q~;d z0=!Ew;whw2gb{Q+7GZ!r*HBDB~F zB+}gBJ8W?|Fw0vz>MnbPT97*hmgVhOEy@O%b=l{;$cpJWPae^0E!J*C;)Iygrt(Wv z`F421q2ZM!O-riXSI<+MMD+(IM8$c*r%4fKyiaok5l5?b7chu6FYd3M+MTK4oO}5C zdtHr6%cp5#8?CkX4^(xWzg3l-Y2sOu>tdR7!nSJnA?m7zI=GHNp71UU&}Pp~8^4O$h6xV(`Vhm_|^9IlT3*H35W7Z;&;Ny)m+nnYJSwsv4f*m`WrVf2L zJ2Zq{+DwA2J+dOr0CyT-^ojAuKKc5Ev7DsA1C}Jv>~IFdp#xsE3&IkW^1<#Iwh%;> z#Z&?eK`OgN!9|3K_UseQ%~Sx&i*+VbolHD{+yM)P5(JZ4&~*qKR+{L5YVC7t$BCB- zYpUx=DMMO~Nx(L8?nkl(eQQWYhGcpAh=@yZp3sMf#I*7|G88n_cMRlC^6H?CZL+EUJt##)Gw~?W7ab9(V z&mxKaD-ij3bmpmr>mo)7&0GG$e0P*)q))&db8nUR8Lp8}r8gn86t1iU;7BLi(t{AiQ(vVf!|JNaLa8*e|DW2)+h z<@Dv}3qqeHiX}fXgbiVThP$r-f%Up+=ITZyGDN^wMm}qF=Bc&#T0is0fIGQox@hUP z_i|z&p&xe?N{uD9@RYvmZ9M>l2ApW2ou?&r5kP5l*bQ1E{k7jt)q1vFq|V1Cp(}n8p$cB)uo!bgbmmJ+QbxDmbWG&^N|ui z>sh}Tp`Ku;k5^xb>{g7~X%ED;?3-MeKY7kocJbCgc{5xy@p?=J1edrX93Q0#Xv^#Y zVW3>xEZVq*93gOGcwuhRsvVKgs>zw89z`{fuuH=7s zH($2mx>0X=P7o4RY^t1)v{l2mP&wBl$v?A&ojiVWAR*kL$mr;CzDI)Uk;uJ1iTmPw zxAT-l271a_WtyHH&efmo44_Rr*Lk+}x0`QzQP~`&uD)sN6nbi&9#4>iLW$`R?1j5b ztj&|I9tR2cI1&vPv=Eoo6%qIt=^Ad!S$Zvx11XZNIh&Er_E>e!a#r{UJ3~y0o~S&% z*~X4kiFW6AW?6EV1{^~6cL{crq4vCds~kgdGA!h1@zR=C@}borLj>&;RMqLGJK3b@ z3aOpw?cBwAoI0}qLsaUQ8mfe!oXONfetiFR=~3^zwlN!#d2Ued=KS>M`f0c;^<2d8 zd$GfUPiW)*AXN}yvj`z{UCL5=yKQ4DF$=FasND{&sl%-%fA+#}Knkom7r^Ni->xh@ z4O-ZFDnbrXM`|hBH$5$~;2iDiw3vz|v|})2i%wK+F&3j?$OaL>iMm~CkAOc^$QX$% z%X%t^)N^P;!uSLg^3{=Et3jO9bes!1u>?xB{8@vrt|NY-d1JPs#IbDBHnkz@hW@hA z7;A?$nZDP8E|qG%u09xH?^|SCpHVS0<$Mo^Yx9WFPb~8?>S(~M6=@XOmL?w*J!+zk zoSbMsShD|ibbZJwbKPyzbyfYBbCp!94!B^l+WW628I(=#uGd0hl1ns?Zm~HW*jMVP zl0Lt}v=ic&-~oHE=MaoV*X9E<0Jap>QW+=7RB1neVC)3KsAzE(Wp}eaxaC897T6Te z_Y-ED3(%ymA*ec^@RbA{6OUHo)O3UHDifLhBU=@G*glt~g0?Qe4SK`jvC5yp~I zA4u(i*Hlqw^86?nZ$j1zo9LOh2}~m>hrQhRuq)WsQOl@c)5jUrgQuM2ykAqYZM{A; zUOS#@(mzW2A>B#e=56ClMzrSGz7IYwR$ba>!Z+p;R@RKqlE&tnBs~u#0F-{Fh`50m zjZFgDf}_hWsFLTtx7=*B<`ZNoR4|sl6RI;_S)jn8S1m+4ZX}~+gO-1QJ~Nl>Z*s30 zxc{amn;Uz{e(ixD{;z-XTwW~?h{=MpX}CrD8~D+U=?_|8C1NngzeDXTi48UbyO_N* zZb`t9GW5qZs9iC-KtoxJ=+OoA*T;~I3|fuff7g;Ne@K~??1!G=L1B2NTnc{J-{r!% z6){2jn?{-UKucDdhjwUApast{DhgoG(h0O>D^a$+;Jcuu=4|4BG&%ccKL3B(5RDG1 zcDS#Wv=QQWT8y@j_^9vZyc;qR5V>IbZY50|G5c107l z8$1751d{s$UJO$5pF&!VQKP1#fxueRpwIQBIJD0-JU{kM{XWs@FJ%`?HT8{}g~^_- z{@alFO-*4R`lfD76W|0g4o$?Y1fhfg>Zzafv48m{X06YS`DUVQsek~-xS@N$pjC;$ z4mBK$7=XFd`;#fm18+pH75ZXCCW5dk13~UE1^%j=8xcH zOAdhi6EL{GV)Yl4cP&-B-yRvc%3CZJ-QMiis?#dw={7a^4s^E9ARovERSVBsjV& zEQY?%2($rHRT8aQX@B+x)irkKU9TgV>x!brB5Nq5J z@XLzaJmRlI-MqR9Y4$7zczUuivVC<;iv~|$0KMCG-VU%(h zm|*+E4v!x2*vSAy5f8>{p8NjW0Py((z2u;~{rTkk-?MkPAJI#>i4XKvQ55*+fHgnjx}eKmi(v z`Yld}NI(aPpCYhztnb|X4x-E_K#y_LbmE)bNEhlFBnB(47D7N2ubk$@2#Y$^CC1=% zxre@FiGM*c&{Q)#d*K}!J5vt2QJ+Y_IER-Y;QXol%&woynXAdWC8b@z!1DPDLiD~} z0p~;!f~C+3RGZu-SeL)A=>uGx9$k5drZ{p4UuL`2J~Bi+x&E=s#$v&ttA3@Cry>P7 zlhGqvmlJzTCvYPZsB5EOPL>9uS@}w>`G@N)*F~Mr{!O%5eEmc~WM1HdwO`AXVpT=g z!n~60^ff#43*YI6I&aOK(=^Dot6os?TXr=>?d+z4VR! zCFY0Qw!SM2*7WUlwW5LRX;M1E11>7Ealp98*Fv9fgKPjNgk;(a@qo;<2*%KTwW^0$ z1qGcPlBsMzhpI<|jDP?<1+mHBE;@H)DQz~2!h>x$|k7Mdw(1-7p>p6K480Ntg6zTiiqRm8sF5g=rKmxk$BiJev6aVIQo# zl>SYQPXBJa7AoK_8b|XG5`PW_``PD9{ojp-z`uopVfC=c1c1_4^Q4m|PuKqSHOepc zw9~(M2w5~kJ4+^qh~DBS;MuDw2#O0<($A8vH9;3p}puV24AtPN%X9P3t|4*1VeT`m=?c8MjgGnvMOv1|B#bL zqhvSq2Z3)WE5v{hAalCfTt4n5EevVrN;c4!vgU1(&jB_6@82+eu$Nkc-$W+@A(GJF zU?$s`u6qs^Yl~*PB{;7g&wo{55Lv+9R&)p`FqW3 z%uBLdZjg?K&|i2p9<;x@&+Ttwkq`&{$%jHA$@1@M|3GA^j}Nh~=Z{CHiZPoe_)@hE zH7Do>?cNMO?c$CyU*tuVd^%^pJNx|?qt5*L@Jxpslam>~8Aq==j+0SiLC%fi{gWX` z^-e9#4pL&t?qd0k*NhLe9Vb_ttqAw}R5?)A<(#3C<6K)<^v>Ao%YQxuGybww-+z<) zR{;LYQSd)70Gqy)x{Ex84Npb#d?+IbQ6C2kt#!<;R|S2jdPJAFM?k`4>aL$?Y(oM@ zXS(g)l+{cWp*4w*WV5l$RGHd1zEt1ItAu_2M2Lw-^|peJ=v53y&7`V$jze$v$o?~? z18G+mZoPY{cKg<#M%K>)ikD3HoQ7#}xB7r}iG`Uq{dX;yI5Wj>D=?ZYRly+Lot*=BAbG2cfpARa3UjO(7k3 zSp6IN#!aHi9zH1G$0hjWZQ&diG+Y(;7{n;obJjPvOCGX77z-tS-GE(7m~k6meQ~80 z`#g`n<8y8NzNWdUSyyQAz?MVJ?~~Ra;2c-wduupvH`})(0-M=kLFxH;=>5gkp* zGI1sR=WkrhpcK}hG1sA?cR=HQJT4Cd{gDSy9tKuIX#+ujt=O%I6~_H)ID(a31K9_5 z@kUt87uUZBY2LJh8vx-d0E*ZkPwqRvOAtu-69Tuj*FU*{%-rHP#?Q#8$a#)$7(XMm zzk>u*{Hwy5rZ6jEThSW-NXqsIe2E~=+ssOVVVT=!nH?Mvt}}6^w0Caf@3(gA?OLBp zATn|Qc0v29-24L|4s`Ji(c278q?GxKr7CYGLwunPzXz z@|Wg^opYRH){w47=j3M@bsRl~>U2jxvb~ptQ_KUM5YtAUcPG6vu=@7<>rC7W;uo%k z_f@#oUE>?Q#S{Oti8Ph|mxPeIPf6V6pl}P{V2KR3l;s1?pa8C53puI7x zWJs!wxeN-na^yB%oA13FVFEAFar&tRCI)6?%*@TyN8duI4vu|Np9s><=8+?=fcC-< z&bM-8oMQYA;uZa?CLs)xY$^tq<^csbirLI~NoL3=bbWr~t-WMd;Qi-Ge!fM^`)jE3!!nbnO1x(yofF9Dn>JAq#KZ`NxBbNo)~5WqPxZMb!l zEDS|iq6OGbI?WM+x2N342}$22QNf?4s?k+ROkG9aj~t4(NSu5RZS$teA+F<@Tc7vb z7GY8-K_X||N=JcrJby01&Q(a#2_MsZCEfKFuvOWTJxH?n_Xa>RD*(XW-17GTCFIlm74=Tjtj> zqFSB?$OD&Ro?5r*t{2563+b~l5<}^BP)Yt39YU=T2t2_b#MPGApFZT%Ind~CiTH-> zwq1-!Ph2N*OFFaD+Iv8%a7Sv`FLeUlEPa4cuZIM62CRfXR-XZsza3uiP^U3ok(|zd z*>R-|eZF{yHXi5O`GN78-HFwqE|ofiA}UzEvRuMZUJ^@go|j1fiTX2=C*F(rOLmj< z-Dpfr*pYS&ZcO$Qm%@grcq8f`Q0>`d(XIgio z$(0axl&5zgkZGCEmJ;#y2LA*$-=x3QqjY%}u5hZNd80}BuHcyHoTF3k{}0yQG^(ld zZ~xU=MVTT3GLtGQ0s^8SgE6UEpnwpW1%!wc5l|5U2@(@!3UlfJSQH{6M8=3r3Xuo_ zQl-i~TS9_}OtLph*pi{=_Brdk>F;;e|2b=&7p`^%R-v1-Izm0cZ)jS{ zs&AQmStWnfJEP>@ROHH34mu{3*N98CV5gBWcUs9mK0~S?*8DYE+tTP4{?ZMSGZfFE z*Xb{6!5jF&6Avk&_;j4YV`K@`$0yl0Ft(8Xq-1a?anh)?S2`^40~+Q46Ik1OSXU`R zv7uOi`++^lKOVtX zloAjlf&Svl;?P3#T8Iq*5`rU?Hk^udD`3*-D!?{m4EmgA}sW$Y|0@q*%0_bRN=K?WB#?3WE^OOHGo(L^!Aoy&3o0 zcko|r#6qLY;>KcP$Z43{4pfp+l7}QCI970|bZsb^UtmeO8BJ3_yvrdxXh;(@F=)|V zVifosAZ!rvb@L|iBjG0`FG(`S%vRjUeA^*HZFf75>dQ!pMsF~trC@c*;IBoIA_F17 zDo_;rKM4h38mAH>_t=2glm9w~NnLHxZ|I3RJg@QM%0joQZ!SKdMNi32oyCyJ>U_)E zh|yInJcxP#ZwgLpAL8~i(%SGcw=TbnOyiuX`Mq@det+kOyS4jt?Q?rO&s~51o?*)A zI>6AhvYVaSk;v&*!XGHO_MrY5i)orIo9*eRMCEoV=by8Z-yV|P>QNzkO0&W;WrOm) zkm&tB_H#Tgd)#}9x9}})%HPySa&M7^kFO-*C4Z21i*VtMQma80P-S;C5f%+#{Wjhv zE)~oq`L&m&1e1uC0$N*y?%ePgBl9a7g%CRODXAD43O_5p^~;>HbM<(rt{)sFm6Z|s z0suX3@%YsBAYq{77U={oh$rWZG)_^HNjpT5VoF|zrgL`j}}zu=ra#?kz!`NS(Bu=`hV?*LE*VJqiujP8R_5lcjV^ zD4b^pYRyhic^7{*q0Z>YaeGOD)F?c_cyPg#Wr<2=9RvrE+Nn=u6F4XDrr5qDti@`u zw3p;mjojf_+L$B?vfTQY$v9bQcN47*v?D^e1Vsx}qD^czc`unuucx#dJ8{_ZWPM62 zhP;#HhD4&<*fPGruLuk>%p}ksqfFl6)y4uz={ZCkTS_chGBuVekwTz;;(ho2l`Sk# zq}?JvoPT%qQc6U|)gs@=Wr7`l0J?{kU36&An`gS(T)PC}Jx5~s{KnM3%sgrk)-SVD zHD!*K=Z~v(CzTB6Kti94_TbN@nyPyRm&K;31sYCDjxQq?-;)nK2pfuy(r|5Kkx}b? z8+3COEiT_R8YI7|!YE)4G9}rh6A}g)H!kf1dJxJh^bNL5%g#ASyuOEggqYaQQ^$p( zHO1TdE6ta-5@-COBTQ;^IC`VBi&v-mu0CGjUCQvP+VC@kynf@K=~laL@9ZNIZn7^D z#_tPcZjvoYKlieO*rV8SJ7f#IVG6~esr!Xd8krqP%n_&4h`z;Nx`s{Az#%r|(md|> z*63us4~hyj=+W_A^?PHCboS=T@!56gR|ArV?8&0Fky;6j@|)?nEDrP|YtXOWTKe>| zFQAp3_>?UO+7-D8hfJL-EA>YXM2ZZ^1HaGd?iny&+WgLf7{G14Jpy#%%l5I=RbQXZ z;x>sDBs5$-c@ud&pDDHhhKr*D0%8jwP~&p;pp|*Qou`DMDU(2hAnDQZ}_qfe^^1(vJeVzPsBNwpYrV+jc7fb*bI>hDcPg9Pi z4qW1eid~icZ?4}jqP{lsD0_3Dy;~tQCRAWHnyaNgMXmVw+qX;J>6{OJ%;P9GVr2*w zAsvqy2ywGs+SFzF_NRfUu>;AcT>{m7wVyj$Jh3}iob+m#W8hV?2E#^D*+4!!MUw)= zcFLW)$}l%ssv`D-Xg64{aIHIjv`birWbi>Y-N4qus4)oQJ$Yaq>q<4nYQto?`KG%# zWeWvmej$7E?b#(KShrGo2=w+W0SSl(rYg*&t-T}&izE%+!rL%vVH%i>f`lgrSNsq2 zn@MMT#mB3q@9An7YtT91+~?`cwQPdKV-s0{K)fe`kMO9hz$foRX%q^7KE5FSm;O85 z^|f$H?d}Q(eNX}b61oauDF9J?k#7D1&GWg7#ur642&MCyKA`#XJ;6m|);}cKvHDr@ zeAwXbg8QByyh^qZc&DRHI1K9pgZ--B!-#3AE|If65}QhLdBm6 zi2jFsUI#jxqS11|Ddu7&F=(>!6+Hp{bUH7qj;Dom3%FG24w64|G=3^VOWGTt2jM%> zX+6hbQ$cL9IZB&2bsUMFu!Ozl0UxbJ7Iyo)JMKxSx24xo5F7hMO9ynyfm2S0jqr^8)s!EJxhn$&+Q?V0`$LjdQw2a5asOM-%&`&S(Ew z=T-Njrw;6CvqIj;(v%L)4?n|c53m?)*(mK~|4?t5w)MPJ2jVW?6loxdz!I+tAC>|o z-j75Ih@;>Q!W&5I6i*Y3a<~J(A*h94+f>0PYy!_%3t5)ziNe!gK-t5g^P16Y5F?x@sy_(D$OEF9!lWe)X9A$S zn=G}KRa+3XDUi8jP3XaxHd$o|qc{1tnj4ZaMM&2*Pi&KJhCWi!sr%}#?-_cBm)Usl z9Ma@z@TE5{X}?dYMLF?8cw0|LV5I7@MM`JjlfHJrj^q+~UJ{Wh=VsM(puMuQ@Q25S z{9w12lqj9M!RoSi4P8{RRfY&jMH@bKN^;F~&br{V%l4Pop39O3bpR)y@;v3-k%K2KBWLLHOYyO33cya*Wo(oR06m^3l1U- zQf->j2$7n%gO)dy+!MDh0G!aykYuffO|=Yxk2mAm3BTYruY& zdNjKGoA7>3IdW-CFt+v?NYbuygszYRZNW#hg>(i=?rulRiT5HAqO;O>h31I0$Y`FR zq>t3_mq6QE8EZhE;K^gG1r=2?g3m9D5OfE7E9o$wrT}iUKcA3%6^rY2ckQ_#-GwZ9 z!HP9ibJucj>L)eh#=QC7oxE{|RMtTxhoFV85e&O_X<@j6WFe`m#%Mtyz|al3%%*?BZ?k8Pj7s%rsDhR0D<^KRFm z3IW4jIgw!)Vb&dfX73qTb+^0R%~xlLUe=Ed1vQ}A#qngiYZQ1ey{u$M(w~c)*WVt< z){@J}K8&)zo#J}4M5RV`kc5@n(r(hS!>t65rgg*{LamipKO4BJD>=pAku~QjJaxKR zEA_7@gB@r0VwzeGu7(J&N=jNZqysH#uy?j}D_wc6a6Pozj@pWBu!Se8_*wYl5Vida z|6Vlz32}zMz4^N4D9IKH#FoXy^Cf!RwGG`5!>@Hy>yf&OjON38BQCYvU>0Jxk_d=* zwfGmLLu4T~hdOvE1R=f=!SjJb+oi|+hzwtt6EVeJ&k+D&yZ5VxH4ES>lWIZ*qXXJ5|jbm98Xh-}5*) zHPhf-bdhGddAUbvu{EiLXysXU?O>5c*SLGJwaCY;(E6AW;01(P}DjX~7IvkbCIMD8vD1Up7FLf7ZGE#x(d} z{nnj#K!noLMj25&{?EF~&p%3VDd2?(pjUp%ngOx^r1q2M-bd_%IM?r4F%I{i9l_Hj zOX3Hniy##aM1x{lvGI%jZ3=;YAgS&yE%b_=?O6rBf}i>c1o(QW-kjT zP;le^+<>%-2w(zFA>&Lwz!*3^i7~+J2#K&}9fI$~fDyyEq7_6>q(t-+HVn6byua10 z1O!)IVEP7uPe9_(9U{L)Q$gdx3s`L`Hthqfgy11(#*jHr8F3djAqvH(X3ur{AJX!d zU2V1LXjdDGZEVzBTx=*({G;@nRX);~zfWgl+Fdn;nYc!iZB}Zo0?3-Td3q$ob85x~ zg<6PW{TA#3>f0d!0HpGJu}j5~2a0I9ea&ha?bm%=3PW-x`TP91@v2U0N$)C#>Mm~? zjEQ@yayod|Y-fID<(%UmYu`kc(jE{?QNn16h1)>J|LkIfREeNkT@k(~M^LbRhEr$) zG15pDl{^F(g0{d^>gTSmVuab+V$f$nQ9u&jSTF6%bML>jtKUKgeQcIr}E25<<@4!qVpeJe&I z;sVL+I=_k{z&@1zl=14|SOD>AUq8OrJbYkqvF_Wsmu00S8OiT0Kasq_JD1K9>d^^U z?N)~L^;PT!i1*5WLqNYdT7H)I%zL3CP-KqaJAjdHc%k>ViN4OeC}2RUakp*APevSFuPZGy1gQ>OzgdOHUg`?U2FO8iuv z6z)at3A{Zmr}^n@S$|AP$}7V^lCP;0r!f9F`_zZL-6Ge_vq+-g4a_Z+i+-lb=sMFR zb}&%6lfff{W}ioA6q+D7CMl}1kBoXx?#{>NJQiaiUZy$ohq=bFmKX5+)M~2^PISz4 zYk2-IW}(+S@~Z}hhAX1egBn>P+!S-6x%iZHjG#g}M*#}T)?e$4a2cA>Z0J`eple~2 zCehhabbka!uZr{w9Fj${FDAtyLu;Gr84VzsRu|*=>SX1yzmX>NGa~)f7%tN!qAs~F z2zDuow>&zD-aHHVT9XfPHJ9k3!_pCYUG@FRa00T6+iuNL7TMW967L!!9}v4k*bLFH zB(t8c88mhFqL#=C={h!aAx0D!RDn|KfY`@jbh@BFIznlTm@9G_s+a5D8tv6C2)P%0 z?^nAjtFvDU_q=jc4@u6oDN)pUg=8EnaU6halK07ABS7-phMM2j5nLasGV58A`FM7t zHdD?nH^^qN%)2b%&6Uh(hL?ItZutxDT2&^e5^J>4V3=#CE-x+7TxBFhM?QVbmv_;5 zSA`qqsgOtVV>zaYu{<@hl~@K@f*hq0I_KH);w=!R9TIDTf=dTG1A7<_A324fI0TgW z(hVF4X^DnFfu)V4h>-|;tPwn%Z2UFjCC+^q6K=nUHBW_f!6qn8(kGJ zUx6Vm&%m3}wTSkoVRjp+NJOGH#`xm|9~1do1XOOtBu-7*{m(j0vJKIAWoaFkQUtOn zC@)QXoKN4bpw_N=>E)wOP46-`)ly1`GK*b&=FLKsB%i#EWFmQnHJ0{}4Ilt~z#c~Q z0Rl_%Y{yH)9vT(;Lpw2=i;S{hcqeMSK-BX0}kl4cE7raZx zmQ^DmoEDoN($NrsKUunJ*d;(M9ub*HM<})2h1Dti7!EI~!Kz6I^SSN4fVRAqtW7!s zp%;%rMz+9JpWol%jXlDKy=lcVy)-Yo94zT?(h%_}~--f6|h>K+tl7Zr5tWal1M^R>G6Li*wuEelvx@& zmY0R`_Wf>~lMWYZAog(MRBp2fE&Z#Hgp<&*Ci6U*mK_W#`w}f}jGO+so-If0=SVjX z*P}Lts?ndCWIPJ@+8-A1Q-a^#`fe4X*Jr_Dr{~Na{U%C!lq{(pa#)!A6uf(yw1-fK z>Y$IyaBwKr7Lgfgr{osdlynifmS;1}p(P(6Z5VFZBki-PE`tC!Ta%^7I1Y0;hYIDM zLW;>#1r!%A7Q|chfe*Xrsv<>`e=GCfRq#=p#nwWCD$%Laozl7sP-D0q6Pg2JQvrJ{ zPxw1HHqM9Be+U`Kk4QuNy*`~wTz+RG|DtlocFkgqDrT<8 zap1Mcyd0Cc$JDIM<>j@(a<^O=|k(t!laTi2Af}gE^eT!o|(2g z)lE_6jFdRm&ADakE6qYRz z@KRbV0JZTaVr^S@l;|h&>q9&_vCI@j6C@12xi4YaDZy&Gg@T?hQX{YkXKwp6_7idh zSjBB%YJvqV^-8FXZnMCvxd|qXd8~Q|$i0Bx6@U98I)`LCs|kBpl6x(Ne~%!j@9XFW zi7ffOo{)@I1z7_ck-01bbGrpI z;_cnSQRJu~LYs&`4u{abcBkdXrUKO48(vK#C{MRoxBN6$h=wClSF#Q{AM}0!yHp7z zZu4ASv*AniMqN){1VmRUv#c}apyCtqocNsN5yrce6eY>Q{vbwC))T4Vn61Yv ziBBMDV8Y;aZ~t1TaiIp9v9F_OAYfPxXHA-<2cyzhp#ok?;SZ2*ahX5i(??N^}^Sxkbowq4CY_B(JzxG^&%~D z53hE(1D9-L+Q}YA3jms7@&QiUkI&$Mq?7oCe>Hi^S(&e&Lb@*6ejG9q#@E41nK7so zI!XXh+KkZK!-v6&Xus&zhtnVytwbmzg#;8r^Sv(9IzJ?BBRmsU!FQyxprW=>MpDGS zxTHwb@&eY~kSXe`DyLTzIkFbA%Eekq{vd144dZI*NuNm@U?W>-H5=e7^#r_Zpg4}a zUW{B32}eFwE zXw+L5x3-|j=NMftX+8DTl-VD@9sKKRsF%j$}*%$70TFB9*&}5|gfcI|rOzVFWe>B@P7BGk+kO za(^ercSx0}orS934?zLMXh$hdAji364gA(nul#aQ+A35XxB;}p>2-lIk^+H(;!;d! zUirBH=&zr9@-8*8?1h&R(Ik6}I?23A#)xg6!K%~*>`vdXF=`4Q_RLD5SG{F~l7AXx zVe*rPngS}SP8kH*a zoKyi?xZ_Z_)D8nOw=<`K#+rfL_-`gH0*(wuYoUg%Ho&rW(xOF>{ST^_kn(%B6OFkQ|5w8hI=i(G%i{LcbN#Jd(Y?) zShnuQCM{{qC^hh+6lj8ikGfkqe z-RU5Bc!RDDAbO=vtOM^g4c!4(MXUfr0zQ=e$zBKoAK+*O2;mMV!1(%(dvwW9Q=dS8 z^@La*v{~1E|7Y|8KNcipgY)VfC}sVCgn`03@W3K8kpq&))!mK+PqGua{EbzT&SEgT zAT|I8?`s;Wg)0QBt?bRS+b+V95D9#hNFBPLR8S9xkHC()$=f2Dtnyo9N!7X zFfNI=9pvb0Ab(6z64xe5;0$5;c7hUC=M>3mKpX^)$7j+mtjWstciGmmUd8G6yopdxm>OL_8`WHxk3=;9X)&b zZUOP6WMS5zO~KKDUV@Xs8X;cOOA6fio9XN0JhPoQt0LEv85~M@u8UQwsW>h*TAz_Rl0zbB$l8Ln`{5;%B zkY#NV@KPsCUi2@N3`9&q-3fI-_pmMej!!5=UR(QoA5@bF(#q=NYX|0 zCO@$(AKNkl=C90YvQr`~?&*r$fC{aB+wA32KC`?%-&697E!w1CB*nN3rkm!4SQOme z0@h%{c4=Rs84LPYANUx_J|gG+3@NxMpix`)+;L$iEXyenoQFx4s5FdzdFm9qKgM6T z+o$hiV^e+o3xeK}cQqPhH6K%f5uWDWM0V5aB1Df|V z`WSAxx-nrcRfg|!OneI)Y;OmCIZakPmG(w`pIt=WnK{?Cwnv$t&RQj=902>Z7c=#K zg|lDkj`XN1&05B8*(*t&*CLB0pt#o26iWm2DwNJAC;)WtEFd;j>{sG97kN~%ID$c> zIn)j9J2SAO{spTcU1${kXK{1(*z(+u1;3rT6q32GYQX!84;;b&GX5RGq9@viSPDs! zd{!{XkGq8zk^58QrlYljrA!m-59GH574~_5{WiJ+#^JZZeSKn8(P42+4=GmgQtubo zyPciZq6-1Bfy|yf0Zye`fKDCG3l-30X7khvBP-8O7(w`jmvHAWe}&ry!>f}hv5NPJ zUL2V1xd|77R}mjYy7|0BLfysHB$lauCi^!E3gA+zpb+7O9t%ohEM*L>O6|ZaAlNs< z{NYwgvhPeb%lZlNj_q?KNOFh2X z%6eSBO#F*|h#OdOwnhcE$d!}XJRKqORtWhC0Q18M1Anm2=L|>Y_fE`*&;2hVdTGgVi=U$;`RwndR-h}83G zW6Hual5|omoH8yY$}r8#IeFs#`3t~PU%O*U$ySE=&OcJEv@MZu71la=;H?c(`orRBpO z$dE2av*y$ZTiH>s4Ji3XaVff>y`#I+XXv2bo4Lu5d)^+AqkrvZAu|Cn2k7Nu(0kmt zci{WjW8quESThF)8rm~c%+c63DXJOzj@$?>17lPFSts~sU8ZywX&*e?PTzoNamK(7 zL`x#n+STAPmWErsw{PJqSlSL)_=m)d&#LY6!BERU@TJNJ$#VNi@dd>f*KMJ6FAG2kTdc>exTb z`nHtCmOmOf9p)2^@PupUZm!)?Lp zAk9IV4m+PP?h!q5Kl7k$;01k&%eehJa=Epb|!Gtyy&V8}`>7)AG%0ZiLWrlSX{41d^ zj;TU}%dBnPUf!wgC#zCQGArCQ^7*xcuhWZelpRN9{FxI`?wEp7mA5~Ah4mtES$tu( z9NSrK;zp}4PAjH$3a(%dMdnRLs+g(nui>2e#A?)0+vgSR5|y&Eez%vW8PUg8nkChg z_G6V`6ivFHBnOuOd!HU#0~dnc0#Y=~jz8*;=;Agb2iprZ;qD~GMpOqgg>n(brBy#h zJh9D>5iZC0P;-SsILCK2Ddwf#X`jGE=b;s58tJ&`s`y$TZj!Fqz1XOhg5CbO@Gvq6 z{ViQbB!A&d9B=~lxO4anfNA3_B~uhw_^I)$aD6p{0&nPG%dy-|+lkfY&2+h08|Mi& zfAP?2+j0TgvvH8D10MP_dN5vC2+Q1%8h-j`-B!T&8bgm>oAN}8su57_HWRs$Cp04# z^+hIO;K$XKtfQg>q@x3r@TKGcS(wJr`C+wVOfy_594A{}5kA)O zkd#_^zc?N}WmeelRz|IW+eO+4VoB?i=ca`>4 zd~V?RKrsE>Y`GIoiOTz^{^A8^baICs#!S9&TjzEAtu;&O2EARud0v0kSTT}cU+Ktr z#m^zWNs9btL24D0IG!q3kNXXgWo~pdpC6D8RQ=)kHsp_eSpR(@@61K(AP)LL;_-;v-cf8nri(-pO018|i z+|`4zhVdOuUM2b&z!oVK#=r_dzVh;T`|{X$D6O>XiDU~wfwZrmeXe^Xyq!=B+IfKx zw^gdwU(crXlY-%fg6bW#_O;;*k`vf1?0UrjA1q*VO?AVY-Vj0k?I3)8;$^Yl1kxr& zD}`wmHi8L1Cl(){heB`pUGEBzXawB-X|BKB>+zg>yLYihTb84A?D34I8U5wL(>IZA zc5d~K8DQ9Te@SXVn7Q;A>uhPcdx>wBY)=vdGxs_^E^9MPnrqznrXcKVxMz;lo67Sp zSBhi@iySS^x!S50-Eg&4SqJ{De<1?K!#`htC#H`62Jxg%@QE=i( zAZfW>K<23HOP+qkUUmXPf)$ZDc%cPw)OjN)=`o;dq)O;B9dwB&@5k^(!~breMo6&` zUy75|)34`IfFyMZuy@neRBctf@5TQQYl4uY3-XCuA(ilzZULw5$H7(Db_2f9O%0+W@Cni->tcK@xIgDScALdVZ*EhYWd2wnc z>(SN5m(TJimfyvA?a``mn0(Rr`@W~n+E21;d)@bTM&8v|f2W+0S-h)6!_KiU^U>#$ z@3;f={#xzey{{dOJ6*$E@A|oA-f0T0a>siNmCey;G5C>#!m|TdrSt3`qL;Q1=U>s~ z%&!iYHbKK}Xd13grq!Ai9w%tt{S>~$fJ53To5_2LdL1}T3%Xk8t`{)55svbM8>$3V zUQ4b+;-m3T=4}d#C{go;2PK6q@}Qe^0tqf5GG5s@e;{nE2c?WW{%%Rq8l4KJ`;GfR zl~;$F{J9BYcmDjMQG1JS!jwY;=$c2gYhL}M!f&?41iC&^G1;v;79OB7RDWGpH2UO; z$6niau0@Uq%KX-+mhE=j@~*|ROOoe%(Qdgaclr37>h8G7Z$T@u_#D5`vo-D?X4;4I zo@F00|5o9VSDPJN9i$$BziqWDT`LX-`B9#<=bNYlWPpvJU=Ap0GOt?pAU^zgW(rTi zBB+Y!%{M6=qf?~{I!E`2F5V#)PtH)8Uzy2LY+Y|mOh!9dtDh9l$8DPh4e5(785!ck zp{2yacf(#(I$#Tkw8ZNrr7Kzr1i?q@)Odjlx3xtdiLqGX@Ukg7Et|WUBpjU6Sr99T z*g$+O-3*koaX=8lOI(RBFnkjywwOA~Jm33gqe4XRmX;O~e!$$rX-jf`WT6(ys;RHt z!qEIfK^#BmM#0qwzA=oOnU}AW!Ci9d{PzVa5B)J$4`uxdIxZb<6)u>&V0-dRcDyWH z?znO+GXHMS${$WjUEA{-?^gJYS?Yb9XO7xWzU6j+*+wcC#WwjC+_o(khYAGO8lYR> z8x7QET=GsRAPstBn(ix2eEdn+2#W4$d`fb@IbEKmQ8n*dHO&AJ-^#hMiz)XS^-sL) zC!)qsLVbwFr6ss24)r9P`#k&PQ#dq9$R=nZH zSCmw&K2%WqON`uk2I4NjQ)AyWy(@{`{l4kmQ+AE$So({TC5H`;3Cj#`H|H${o2H!w zs;aTj=U4iKRnIe=)v^k#rO;tf!jg}9#2F^hg3Y;6|d5yI@W=}t4PiqWd@ zBghet+d}vxj2eHnp??8aOG5FDwd`(Rl(W6R*tm6WZ8fbvrNe-FWV0(`&{p~4fI=|*nWI;s7Ukoxa%j%Bk$x?1lL!b zF%s-QMT?gdqtYvKCPOk9gt2{ooRTzQd5NbDXR79u&oK`}k)@NWy_Q3~&6Q+rFI`}` zO0Kedz&DI$Bo$?MxV6Pwbp-0UUiWv4p0y(J1o%;-Nz+V>1{D7)Kp%<`Rshj+zG4x- zJK0GslNC`E7NFi=ACZLBLzK$uu5nXHwvXn#R~spEEI)y%VwJQwDmEqvTP$IhIs^+2 z8(VtSwhyq+vPYNa`2}X{w?nx%A0pCZAnNLt+QUgMrNG{| zMAkFxP43Rja?gYc>*H#)xKaa0PwNLI1hbqIF}~R=yVICymDAm6?Kb(9WD8q6E7mVN zOO83XSJ+%7UN9Ya;&+Sdc*@0BiN;yrJD7utJ%RR>GE&U=tgWDE5#?A(8Z2;uxG*+I9NVy17mLu*zH#=Vf&GQalg#v2o=iUAMVGDmn zzk2_3!+vy8^lN zaXRvYskD}jV58-CXWl;s?{3H`F=^zB3a(s7x#v0deXjoc?NZ&m!NWDp^aurNjvBQ< zGiEQ#e&}zTr=Dlw0FGSB8b_FZaZsqf&lnrK((^#bVy`^-@V;cv_}%*#8`{$Mmj3!ZjAZ{n`7nhwp^T~^ zy8)nQn47;6F{Ug%3Qio{!Xz2>&$_u2In%iR&2KHo@x*x}c+vVlDJuo9=nRM_zCXqj zssUH&9GL5ReFF#%KZeZh03Iwk|Gd}>wPakdp2bG`;))2|Gq*O z=_8=x>|q@#?gq`STcxqUq9wDHGPk4)m^=>e{s+wS8X>$2*aX>f)0r5xNkDcuw!|gx zWx?#M&n#2^TlCM*;k+yht-}h3Pr{URM&E_S-7qTMv`%8=RKprxxyl->uKYSK=ks|& z?r=1%@=?z1JR1l6=$pJFFPDO?`^s!c<09*UBD=>$WFMC-1M_JY1#IY*=l;vqc9$$k z)hFFEf19ek8{`&dGVB=T zJ9rx8btGk^QP92q`JGo%edIn=@v7wrj7r?4Hnet+A{!oH*c0RL#HqG0a&rFp(5uQK4>-?NzM)N-x!J;J0i(wiy2hJ-?z?xdY+jkq z<9reaF-X7AUbQIVQ#El()tL2>mQc4*7QQ66%(ejZ=pfNV{VyLYuCZ zMe>`&Kh=e<=wROn{r0@5PdFvg+?!={`F@$~<;-dKamUD{AZt%zT%eBkuDb>HNe>{_ z;+N|IZpD-k{p~h`!JFN49B(sRwlOwaziv~R@lu`HY}<0GEoQdAYVYG>!>7r152m)) zkR14IMWl-}wgjdXJv`rH2r<&luRC!j_CVY;^9r3P&cx0hi~H7fi$L8M?e8L2W$E3! z;*S*wxNiLxa^V?9^VT05ni5V0M@Q@dD$)Jqx42r?*a~++BEpd55w%FcldlNL71zp3 zDqN2QTc+*k^IiPWjXM;%d^xWf0bl6bl28{wZSum#s=x4lT5X)lz{w;~G8HJ7Abah~)FO0{zk$Gi!yH zi2cW!J)L9b@^knx!{mAJ6ACB^PkhF4X^FZi;HiD+2s+tx0+ZI!%+% zfll2H+Mg`X%1>jUcI?hTj=O(!Kj0}=lHn~>t&FNW)N!aG}jdOpmG6X28(hS#_3@$d7f5BZ6$U>wH` zmJ$AyVF&w??EG!(DC10FBXsrF1@fNx0KMUuKfkh5bT@(tK9rkddU#;kQk@R0;~h4EGnC{PNBEe1Fp3-qPZQ zvXczQWGg$skfC*xbwIqKz-OYx+Ywq|Ir7XuYSQ}^MHPhOO7+bxy&wAO(HjxYNyND< z3@nmK>am2+OC4MBPy}a7P<$yNRP%%@A-pT{k^hk)`kuU2($Vij14005f2%kY_V%bp z2Ki`h(yxs@XAo)`NnKJw3F{vH;sW;*gKTM>Ye2x9i7|upro1^|Uho~Ce$ruuhMS7b zmFFAt`#&{Ywec8U9vK-siW)KZ4lvBpzI5-6d8E@=kddE~UBPeVAJr>eEVazb?Hn*J zMjB~VUObfwXOc;mJl0e-2{6B%NtSzbbGPBVtK2fy>SdgJAO3A^`=-F!wPbInbBT?| z41CNulAr(x%X)m&4IqbZ4kem6FDnD82)eTH9ov=f+ng zs|S8aPb2-7WZj{9XhszH1NW zowq&n-PHsDd~V;%B{Esk9`^Dt*u9hydIjZEz61lb1!HQ`U#T4^k@8A}M476h1UvvJ>O@H#3R`XhKI4C( z`oScSTC5;!+;?7_JZ|Mc-~6Zi z{}-s=iwuCWqks^iCIw`xrOS!!ZInL&kPKXzd>*L&oNFZ*Nr%zPdc+OVuDmw9#6iF; zH=3r5O-X-=SVtMX@?E1`hVkrgfuO2bFNLcJE4r5>f3Wyy+H>x-t*= z-QlsqSk1f?Q;V0I=4O5w{9NaBUt`61r{MY__+xGUuYQ$}?l_Fi9(Fw7?Oj*2+sc6u zYUk>fF>%15!aSv9@0Tl$y5~I@Mu%RM4JMU&GK?Z*@6H&;?39dx8RT~|^W(04q&_0j zZ3o4c0)Mmsy>aCR5sWY-l~}OhTfl=^F3D_j1k5P)t)+s z$Az0WtSULEWK+3VU1=AgR=>^3+I%S)XgOZdQhZ5cmZ>CbV;YB-ghPqdLQJVF|44>E z!aRB#h@f@*&s^7PU-iY_iW2A;|2{JBtr<{osAS_`xrg4WHTU{7nFj;hwWeE{%>mB4 zVuqSEe@63G!4`+=P}c`xgPCQA_dSEMP%=S=tV&k{sK@hMN593 zTlM|c@(c+#rTVqzHc|s#z8sSFZ_3aHY58ibZ!YM;pLRO+gbEP`0_R;NPo9y8Sv%7Mv9Y1f`y}eT3x9)ak`9P#g zvuo5H2Z0|k_s&)P)@gl$l>EZdJ%0g?(2%~PZxF{rTmiQg_$m%U?O;m)%ec)8SRFBz z{0s+@e9Ms*c(BPA;rI>LNBro_U%V0lc*vUt{(c?%=Po1Ji$y687RUFQH7)1k7t$aZ zPQG_1uwDmj8)l(mMZX|ysWLm0Yz7*QmIB5N>|TV^vAMz3hlk3TkcX?OFrG8i3&BYqji9E_UEIAuZGOpL-Ku@nqXVJQYIgm5=f=>Hr8-9RG%>9^Ci zh87-x(3u!i+37G-0pSL3D0V#n&8KNZ^Dk}ntys?R5nUuPV zhq+C*$@!<917j3~X;E>H-%B!VPeAv4@4n1Bam4WM_0sK+7;Z`r^!6#ps$WnE?F=oC zej2@hAe4W;)h=7tEbm#8j&JqV8f4_1MNme&-D9sE2A!2trotDZ6CUp$_2-;E@hxCy z9n=a^KJ|^~)6t`HAd#+w> z(avaBE8OMxR?ZC!{s;vfmKL1>=f#DZuFywFeiui%y#h0#eaHR4+_tY*+0Rg|4(wo4 z8EGeI)>|-jfxjVwL!;8=D;LGKpwp(`(Kv>0o4>xEq{DO;EUmXpSn*fuyyjBO&r)kY z6tEWxM+hhTNVY){73b|83Ma;2uaVQA1YZ6M^|y8=o0bna9^|}HD$uYEI=HX(Xn+3Q zIK8ZQ2Qj|{UOLsS;km20OP!{Z8I!wPP$3EQDoV}X;c*wlFKP-YZGrQ4mA++~b(cp@ zSnTz1b92np`IdL^8-X9O5DaPYQSD9IKZyvDg#~=BD#xV`Nn1NbaN5T`l8B zC;%zA-2ls>1TkZu$7K+dAA;Uw`Vyx}d43qHl4!>oI@@=_IL7GyeLvzP+QZd0e6wAS zl^a97zXV_4Ub6X#duh36S-_*Dop%GfeXD%?r=9Yv9CLQZy>tFDP~lZK?N#qESZ3mB zn6um9-Ra-6tfE|;UoW?rC0&w?*qM1b`~(~%ss9hA!4mi1Fdo1Ece=-4&&Q>X7;nkV z-{@<_UHJFU)uaw2wv>I2zShW1{{O_7CZMvV+Bh!Q-)fhhEeX1%Ag^8Q#T|R{DE$lS z%>M|SmW#Q#<-ppAcJDz>sUz{Zs82#3{b92TV@dG z6Kh0*ikCXa3c}(9ozd3I4KzEo@5E^c`Rm99V`8UUVve@0wOfU%mBn7mEw2r1%WRuV z^G_gAQdQJ<5!_MQO*DdnWyGL`ntU8E&U=C;?WG&UpeUj#%1&SFUio4JaH$%2sn%YK zKdzz{e3b%iXo=Jhj5$QQDbBQmu1IMs0wTLlAe;s2T)Ba9aNR5^(&J(ti3^bwmkF z3<8~EN@vT|Big^N=_z3SM{!<$!2|6ui6v%lCxJgqmiisY{E+*K28L z^!!J#Z(|S8#fMHxn<(Ca;3H<6s6CrWP+=1c#5=Z$FrTSeghU(AgblBo((yRvye%p+gtGX@9ex z(Y+LK{>zwf#=G$V=FYz_>%Xk66*>}zOAaUmi;Ht{iY|3^1%}{!s{r&~vL)_SeG{ghD2KUG0Le{{^i3n}H|f zAh+c(yxQ&@((2t^4r-`xfKqCw7Q@2F=d-RHH|mZv&GOn@lz=nV zduFoK^m9G?-(1@Y%D=9QH7+piL~Ri}vp^uv+dPVNesOOEMh&*#bHDBl2-B${(W#GR zt1_1SemFnnPDHqh*VD!VBTPlZ?l?sy^=#Qw0lT^IcC^*oXO;eno^}=$l#uQ%$;H&x zGeOBEz#bdTcS)8FbGx+2FtFS+I`7DqpJpBQ+x_|r#`t`rXU`)T?hu4~cT5HBDR;|p z@F=q$s5`zt7gGEl=6vP1NB6a7pKG7rcg}bG124#BlD9nXde*wvz3!V4Wakp8 za+c+s=;dXp)pCMZ(>k2Jw?1d{{v4^HqNB^2*9^L~ERIVGFlY2_M{wF4X42ubyKF>K&BAgfgDE9Euj9N*(p7O09CRk0>3+H7xwYIO?=?ao*RLAuD-7OOCOJW z7-fAQs++HVHR0Hc6m@#4?(H}Bp38^CJC>p+H5A&MqGh(->@3rZ&m8ZL5_*{8TJbib zNO$*f3#${EibpF;cbnR#+_`(Og^3hAGt(oM&~lFX`Z_MVuL?I>rGIKVQ@P0^_)dIq z(Sc@N{KtZaRd>u@LjUlt{^Ky>RQyF834{I^NO}NE`yb~d4c>fd0^Ny}Oks{;r$2AF zXaC1oL0G(W45YEwP%weQH(px>DT`A*0Izb!z@p{ex&cu`UOXm`Tjb;1H#GX2YIw;1>SmD-lgTKvn{|?idcP6GrJa=-ey2!L9ZJ#hMG48$;?qVJxc=Z|#E!JXeg=dTC1u_B=Yu91 z<+C*kFqxj=1^RkEXO-f*a^tQ3IisN?+ zObYPxdN6+(20iJDi;EDQi1hdOE*y1+?@sChZ6jag==Jb-X(7S6b8EA;PwI|@GMj=$ zyS9gqoOLvFN_u|P3;Cnd%@*HwgO?8n^JUG{(i{#ni`>I_OYKje=|8z9FX#LA!Nt@^ z&LIaHlMmg?bbX)hOBy`34!Z7HME*-bSC2hFX^kAqKLD#*_0}ss@<~U>YNKSZ$J$)4 zj_<9ZJnemap4nKoBS$f5rr%xjtmS=26Z2n04|RyRY^?h!n`QzM{$nDk=Po~s7HQMV zl)D}>^Q>8C&!TeYgW&%3piGax#FX>^xz%U^#Dj?-7re%yR2iug1@iTtNBc5Jwi<_~ zinfrpsSiBt|MTS)@sB&$ih%kIU=g@5Dc8AOO4xIYobF8Z!nO_r3TI{ti_l^#83SJAf@~ctJ!p9D1NOaDa^1X zw>dEU*u9@#y(zJI|Jo{in~C@bsnm0ET|rf4aJzsurHd8GU z0RJ>fO_wiO)vP?b;1<Y)L6YK-)PET(v-oDW67emUmvETA^^-|5Jvx1yDsYn)kFRnrEl+0 z>HGH|BMPPV)KrCA^tEv;>+33_U55M<+}zRV?04Ee=NhWK#YooMx49t`o6lUH(`eKc zGv0RG`t*~KG96D-qIT63!CtruufoO7k30>Y-#re8zsZE=H zu;m@m%E01sL%(%X8}kRW&Gpksu!BTmx{)t@0&)7!hlO5diI*8ywKU=`~&72X0{fW1U{kB5~$Ar#FIP2FP#nM?==Ew%!vh% z$!_+daX%O_A2xz7i~Phc1xJ{)-gIRcu1_G%2FW%XS+ z-2?|t_p67*Riab{@^%G|EP)eTVxYh=%OU6X>jK|OP5$PL&l^7EuGQrCz_F`lyzLc4 zu6P>s;U%Z}&tFf}z{x zeBha21DecSGfFHl#o2WgD!flylX**lB?5tS7GZ8Y4aHEHLVncfhM11-z`N@3lHlqv z`!r}8+d~W2;k%&u+g;~z`0J++1_EYLzLc13IdH{;E#Nff{u}7UB*>Xoi2EMC85%S_ zKic)4e7P~CW>KlYY)Y->;+}+sx(UKX&7f<&84tqsW#wX{ZSGG@Wu6}&6HD$W?!z$2 z9kX=b3x6#cPY^VJ8H|L`0%6L<%_ z-Gu_o&``zK!ODpx+=E`#0id$UCG_(KgP!^WWDvx@dO%-&OnE=H0oacQI1A4!ApTXz z@#C|vMh|7&Hki0RM=OH=0f&M!3b{tZh-lEYm0l_hR1d6N2(M;rD^*;cOm8eDKj>O6F|{NVr7^rsOI@!%scHaRWJS}f zW%pfy@?k`=b&{3OaE!LMg=ivKqOxx7w+vmX_k(b?P66pxIgSPU??mt28RcUSgsbR& zZ9yd4676DB++%SiDbwz?5x|NFiz)n_AK}!Jtp`72jZQMATY!PN(J)>V_NR_-l;2rp zJc*1p(qeU2J@UXNP#qih)Yb+V{|I+7m)p8WH(^u%>LR@N-RTqkFK~RHXj$@?cb(&E zfVl6F6HPW~SElm(w@0;|Nb!Als8~?%rJ-YF61I$}c!5%4PXYo0YjXZog8C zEKxYF)e}!jA4(Myk82tzvPj-OVo@#Ha8d`44j|;)wCNOCtJsp{&p*2pJ| z@Ehtra8%%3M_rL)*B@l@M2L5*MKbaAD1b!tYfXu$-1po4!;9tJWOe-bh zkMIZZ8<>Px1OFS7h@V{-iP74#AqfrA!xNz`Rua>8)fKAy*p6%Ul*;5Pi44P*B zcLlrTQBxO>wpn{Hq?a2q>5V&@@aycE`Qer`Ec>8AE&IZOrcTkm;)rC?5W1~iiH3x4 z;iQjV$H9AwUHkH}l{ZEZViS7N*bZlXy$Cf zFEjVRa>1nUeh{;9s~!LlyEh`u0>xy0~xpS^eU&}#QcxF zTr;{V&wOz)v0!{$Q^Yr6y7G$o;dYthnp@m|Ca0fcKDZ{;@4!l#rO#TFWcs!_D0->f zN%U6S%C((}oI1aHPT9q1p%ZDW`uyw%S&Kp@tRk)@?r@-J;4(>4Njm6C;^`@W6APQ9 z(RcS8MnA>>=^H&i|7Bq3V*Yz)&VTyi{XdtBeXHdDVP*W~hy*riBnI zZ-9<>MYr4_2>3})Q+tpjSVx*86CGVe-a6}=omGT0VCp92qy}tvXQdG|7Rdo5mU~xZ zIVslb);k&J{g!S{zB_qHjC#7);Bscj#Vz~oNsfs=J=ux*Dh|MU&bFnuNI=hys5Uc1 zI%b`zB(vNta>qA3+2H~G18%cWyWpd?Xob;;=mGT71jrzPH5Wzw9B%s!c8@CQe{cm2_ z%%N|*u&?vN8n5skLvP3M0CIR;LR-6BM$YyB!Z!R97Q?r=1i*l@_W+bB7CK62p}2QX z8v~xW!Pw^wr?dppZA`@1M!4+XOQGNC;uvKdhDU z;gcx3BEJ)$3zGa@OFye~gDHGa%q|F<@kJr{r+V;f17!>^&;NCV{bsaasa$BIyol!+7!7A*iUu=03p-C>YTjmZUe)Uj{8aVgS;$3 z9i>j0Zd`rkr1H~No|_3SUup4J1^Z1k4`5F8tv#ct3)_jKW_$@kV|KP7nSl2V< z*b0xp1%Q6-131i_j*~!_UYpq4wbrAS z+YbzGQ(NCq%o}JgY9(WhwrWCfKpJwNGdc+F zN~)J)(wb|RlKFeFbyWF{OtYxU)hb8~+u4@RPN4@1!oe0b?V~z|p)LATZ<254`7$qI z^go@duc=PBOxyd`NpS+5O!*$Kj5Df-tC*dW$Yx3`P4MH?5aty8U;-WMA;N;F^WQVy zqEWFPAKLK9!4<>~*T)e;SFB1Z*X{^w>_o6+0HdoQKGS@mN*YQ-b+uX;3qOP_Ag%tE_yE~3qmrO|u4}V*A zO;fKjw2faSQUPsp__=0Wqx4V}VWgh{Q3FSdG5wW>!KeEgk^FAjZoUAvzs*Q3hMJ~t zm|PJ^A6bFovSpa|cD^-@dtL?TY^RCB6zZt_gOHNhBWnf4-WsH{X~=A&?|Dxke@KG= zl2XYoCOxMJ^0oLa*J&-iEaNs>mE?2O2HZ(zOl!Cd6)y!)3up(dN-g5-#gD87-nzOJ zpDoEe+4x-_{?L3aA}&O82T)aX0*lzXSoNna^;jM8s_4RXbkvh?lWNQXSSpm(vz zrc_s&)jGN7sOO-CNaS1}>1bP)xNV*S($_x*+KA>PB?_+uAH*5KdjeV4Mmw8dAQw$IKh9x9H6Kqs zlh($|zA};|iu(5my3I%&@=Ie6nH#gw00GYAYO%_3Ar!c0vM27ka2?KuR|u3#@aR}t zg=9N2LSDEZbs=zsJ#Ee8m$Ff@<40l5^(RHYv4~!rq-r;0;9dYUNJF!YnCv>nVY(H5 z6o5wP2($9hYR~BAce`I!Na;kjdA&BEN+y#$t}e!eT~pA^b=x{;TjZE^+TG$P5Gtg{ zr1&{J(G%)>R6@F0{8PM($6>KZ>f{r95}}#F!m90;D3D0qYhBM8(5fo3kJ7*A>yV^! zrO80Y+jbX_Xkc7E#l8})l4Z=^5zj4y-8imb;Mtr6U`rr6=p)P=MOYh%QC%k|=@3Qz@IS;b*fAl$c|nj8l57e2&M0=se$7*nZq+VC<^7sj&0*cYBKQ*Rf*w(PMMOy%RGf-xWg z*E4yHBBt>mm;rcWNA5Ccn{b-_SDiyT4Y#dZ#;)C1lz#uN-+Ul);H9!{bX*sGS2wz`KMW=SY*8k{n_*jQ(TV;7>fWgbSsg)dyYK81X zW^a`A)00+5pV2>9>@FD=Num2st=NZo3!w)pWW#r#H7fOR7OFUykt=I0?d-Jnoe5q8 z--cm=tw96}AVcJW%tXWW9%n$uy@(lAXsSgd<5jRXngpKX#p+-$W>~%FjU2d>od6fh zHTVgHT z(>CFbetbr&^56%;bH<_H98Svb*K#NtN2h#H zLIAHwC4c39_M?PSi!2}8QUmqVM^s0E(mBGm$Yhs;?0O}*J{Y!Np0}Gw z_bV6e;0XK-*>8N6F*`?~(;YcqNbzc@g;ww5;w)lQ+-_L)q`1@yggVR7YQ9&)c5Nxqg!V z!OT)M6LZ^#rAj@v+Nx(2W%33BOru=Jt+jBOMISn}uA8Qq_mds98Vq#wL;O2tuK?9R zL)w+N(eIB^MKuP$0^R%rOamvhgb~r1v ztu9Nz0Upf7VkS{>RqC4@BTQb^>(I&3(w|~VE5~R%u$`{8Png#dCLb8w*!2NtI&>BB z{RoV*sT-s>SQDC&)n*HmkNI7Vn|P0K<}AuY+D*PNJZAh#6T{g5j1}|zuiV3Z2FAs= zJ;Ui+;56tFFj}h{x{48NErhM#zy8gI1_k80sM|gKFQMWxfGrwGS^hC(fqxsP-k5D$f7%_ey5y*cxZsYgJ3-EIJvTm>& z`)8(Z3o-%q9bX#u2AOt?`#!9lOTUpW*Of_W{*~*MgB?E6$Mw#gPc@Q*L|&BS7ZAn9 z<^xGa_iC$Cz5O|XvhWSgIsOn)u5k~(zflSn=BV+z*V@6*!Ue*pOe<7Tox=cwA=RiB zVs!RCph0b*Oeb!|KAQF@W5z^)1Wq$i-yejd_QRdCK;#9+&MZ(78K|vWW z4;G7H1hcN+Pt?}BOEygwlk~Wn^RtUgYllVBwpmNw`4{K%d3mf}l4bVQAd%d>Lod%W zS*^>q(ejt#qg-E?sBeA2P$G~_RmYqPR!M4PWIkCu=3d@CZ)-c=v4<4BdR5TgQ-z(1 z_-$)Si$EmvJD5XVE68E(K>z#+v*GGFI&Bx%zK)k4V5H=ZldOkjCSL5Q$iaHIrY}yn zWNhy`Mjf5%CeynVPB9r~j0WHO!)MYH^)Kb2s&p4I69@^MGH6ozK(7mW%$PN8R<0O< z8Nl{lXkxXy^GG2*-{FoEkJqyH$Na+eV>UK01t#Rkw+z(5?7Ztxl4dJH7)xXzey&$% z_#e}&_b&#~-Zj(ca6G>*I`|aHX2=%%Q-5hR$w@4#*dSccIa6GJ_e%p6y8mD+y=?bM zQ~4C>{vyX{&s2vD{?3CA#i&Alx?m6N|hM%CW=&*En*EKRWUg zW@n@F?DzpViU9^Zj3mpM#P|?j9p_8AOj;{i!dG+*>)kvwuJ}qDzA6_GVrZpJ8%tv# zspuH#;l>3N z4;&GjVzRIu_OnjyCG+1UHTM@zjJwztc)Go&`#2T}xb1&=@I$d_)i%2p+eF0`*Z8X} zhh0w|M5{c^kIp>jn)hT$rG28<?M5@+}xDJlW4xE;$XvD+AjT66!EFvp3WahREsK4%Z)*jHp+b=#k?7 z#M;Vy^DZJZOf$|%e$-=pPCB5QR6y#$2vH{Tj1-vUTX^-EMy;Ab$QLo{-vZT;7K51r zY*${U0Vw#kYDO9T00R~2ZFm*G>+-iRXgKztV1A0m%i}bdA>^_88!Q6j``feE4WsIn zTJU=ZfgIKhTRPvS{S_I5IIi;7Y)ygtlb7p3-fh^=*BWpI(JI7a5zRoY_U!|Lh^H#UZ!pO~T}|B}R|8w( zxYwEB742N2tzwz2R~5-Ce3+i-BK|=7P)EtR@TgaR1x%W{HWze9t6cvNi`Pzz&Morm zvTZ}ni%0SX`xA!U&+SVO?>8?^KMA(#E$bCAmbSPZ3|1R6Vt8?DHT*boe+QS!`%)!)9aVB5d&Ib6=> zgE`C~f|wK`uNn6d@PX2;K5nvxqnN;{U^9zN*md`L+>I@F8EywcjvdLc9>}fhe}73m zpO^OVnHJUp+ZvPPu+1(ffy&6zzc=Y9ZW#G&Qb6iP@p$FE(KNM(=?T7W6`PWZZWeiz zD(MXr|NQdFsVx0F`TA(BPL>`bK&thqM|{f-j~^!&kA@Qsjy@Y^I5iV)HSU1-fHdV7 zeSruaVuI^naw(7s>mOLTQ3RBC!r?{E@p&6}h}sKG!S@h%@pp4~Gh?_S5e&&TWbF7R*k(cw3Fg3djSIWABSq^m z;DO%=8(U`B)x(1%-zRfMiY(LI{F!RoIq9gbhNOF;x@CrM-ZIDjvM<}-l>g|!W5h!G zUz@$|`{@;)aPhj>mw$ACYLS1m|K-#1)1J~Qi9x%v^yt2poc%;~$GlwGvypon^RA0_ zD>y#Z4`B|fm?6zJS&%i9O&?*6wzpl5e00NwK38O2Uj~g@b!1Fk#+tsHUMb`&^2aEZ zk_(fpI{xm8Nz_fC2CT&U1?3e8#Fm*BH*Chy6l1P^Ed#X)G!EUQrVFSbVM8PTnn*ExE*A%bm@K^aOlQ7Wn!Lx&(w|K ztGQ$4a6i^$BbmKS)0+LcH*$OE1N=h&PNTy(bxa}=Q5E!keTr+&I%%bUG~3Q@d&;9Fm13t&c4F~s znX2B}2VuQmXPc(4`s(k>H_bl)dB1w`=&VtdqW;nF9eY}XA62J(v3^-EVB8pZuSTY(bmP)SEV9GjeO#Tv=KF&vCZE}eQdL?J;D$nv%n zW-$X9$Jc`E7)x!)QAuFx$yF`j8U@CI(cepr(ynvkNH{QW&ep#gSWJ>48@F+_U>#=7 zUwSXF6kCU5tCDPco+Fv}v3KoKdx6hvIL7J~?l5Vlv5Jm~Knm1vD}BMhe2-IteJ5xl zT_pc>gYh4j+`z{!+V933S@_~2 zY${(h$!~3r?M%AUjJ=qhs>ktFPgSn@{%_m;(n*W3e>8K|)#&r za(T^{nx4HSYn$;VS^S|yqrGqq{T`@YE)ifQ63`%rd;@fE;kV#lN4IKH=Oi6Rjk4$< zA=}YkWtn9pwfI;wAYjGN&OCWBd#+h(-1wpNZxPNDARhJ#Vq40b52%e(*>n#oax z*uZxFURa6wiHh2SJI4rDu#+^M0|s`hVB_nUAtdT-qxh_iI~JmDYPx25>95!;yK$(H0{79` zG4+S$xz)8%@9%cGk?x;9z0FZoxs;HtDW2?n(E(>Ic_i!fk-c{081e(}T@@$g%xgb9 zeB@c=c~Gxiz%g6C;$;waIH|?c=d2#2n9;K-)ALHlZruLOXA9ef?Y=V;CgkN9OGP!E z2?}cKwx2bv9CUqJdpCPWwZvo1*XqPdSNJ=oCOZng3zcPB@ zPH-pl3*cNpL_@|%hfo&wa8#?)7@FU4_i&EH&F!*=hO7LNr_1riq@rd-C#q?-+hxvaWU(?%ea* z`-!rvmvze1cZvIj%yc~7QSylX%v(2>D*^VPfH}%m)I>IhX^MzMRzg4Hg?!R!1iaD+ zPHO-M1?1A8W?cp$2_w!|=AP-t@515(0$bCrLvc&F9G%Y_5Wr zQ)#V7vbCNt6Xo~Tuw-jKScUJe+3_$v<4vbxr@K^ECeOyBYqMKQN4-yP1<4W-(L6#w z=&Zl{qM^#}>tbxZFmt7zldlqr|CimcN=&J9FdDRPo>60s9WEcGavKk&5ZC<1fUrjM zx&}A_B*1^n0v~9f3H~|t z9VUK!C$A87fjC0r3xY4*ysH`{Fh0;t;wB9Py9v$L1(48jRsv)AXS|dZL+|SP5sI7} z-2dtjW0Y`{U8?HRPor?1_HY+CAb?()C^{9L_{^}WIi zVfb@W<5=8@^t;bFk~^GH;~W!I@Er)u#Vz(TFgv*3K>Wo7OPF9&9&(+Sp9qwR2&ifv zmUM^xAH9a>O<51;P&;=By}e)z~RI|;6u=rW$1UZ4P|Hts2tL`4hE_QO3+OtVE{ zrfT!}Mpi+7jt@nQzZ+}Uj#pxFkKmE4A6S9Z>hg>hyxOhph*|4+I&}&mYz1^zpQ(8n zxa%HpNE9Q8z;W3YIts?(C-Tit#Kh`6fnD0FbYfm!NtE!{51Advc0oA0EZ_4rbvE(4 zs`WGsAD0H!*6s;`3}X7CDmZK7qLT3AG93y(BuX&N+ea9tEmMQuwY>>tfa?cEqrO zCx8ZxP<=XG9-kQBkM9T8lK=>cZEwFm9r1C|>^LQ&<$62N6eyE?z7&TP<7l#7`^$Svb@mVFfMRxhPI+S4b+>D`ZINyM=DR~LW$)?IlJJx4>L5WDUU_7<#}a%LHvM` zIx{QLwY>$T@*==E3MRDP=3ZoVx|sxoF%WU6T}voBAbK($=b!W305L+UF6m#1-XM4Fc;bky@A06dORqnK%J-AvBKxns5xoB3=R(r3I zF*}$q_=vLXR=_m`p?HDJ`3ruKR{4>#F2&`;dsx4ja|tF+pq@j(sWv*-m!;Cr{src+ z0@;Un+3J-*o($1clU6H#m+3!waa@OWUKa>+cTUJ`M+?T(F`nGKZ0 zn7Dd0y#djbt;pKRGH`YEKj#jFY`KT&6hZ%V3aIXM0)=77_!arRhIYgL<{{cW=Jdid z&S5Nyky^p(Y(`bofDSlV6SCGIN(p*hJt3dyNPd4nMajskH{JU;E4a^rbY-`$rrVCmTZ zlBITc8^Pi7)rO?g)(YaWU5*O!g$!nbCO_0j?~Shnv64)nctNAvv;#%Bdzs#?l+jT3 z{h>x9*pD+A8ikVslK82-hmBjgX1(}r_+LGavXD1Ra9Rc2t#A==zQZ4>t?u9Z1pZJs zN7-qhnTJy$o)|FDnf$yVZm1FQq%@549d_NoZUH$#BSpvIyS}F`0fwrvf3vx zXbJY^5$LCJVW8JX1RqbeasoaxT%`X)c#{WOg1B>5%TKy%D2H)uN&dGv-A3JEoH-+5 z(PF+edk@PgA#f$Y(v~HeP?dEBm~%FgZW!f<7kA-6H-wx9g8xJcl4*5AebbLj_5+R( z|E2U^>}9OaO!hvo+MAZP0RJhCtPr|P1E9m47(4?PJ)FIU6zy&hes|X^2x3SXIIq2{ z`Jq<-T~1+=@hQpEyY!&Dh`1b&=uINFk6oy+tkK@n9lNnp&T7<6w$Vx(XDqj++fY5d z?|H$}_hWmL71TR?dRx!TFo23^eP@M8OFf)ucv?f@U{haiT$k!_&Q{xu*1`63g%?Cy z>GNtP`VZ8~up{rDuE8e-i-jZ(A1Yco?S4^5R$NGuO56e(@38RBBWKnk8oZ%HZ(1hwfqRTrs64kMDSi>s~~#veIG-OM^dWp z(ob3PcmOiuQB(_A5(mgCs0ywLYdW%CWC9}&$8ap2GdNDb_F4xeJufc=iotU40mWAf zP+1i+He2f{=UPUA%bY%e-G2AcIOaHMHpm4_O87mKY#%>500289t>D{ zxqyF38(cjDt#hx1*vr}(1 zZ8+^HCcY39az$uKfqKsW!#S1n%P%VoNRqeOz2J*KddCzpoi9?v%tWHo21yUX!|1H1 zb5GUwizcb5Oy56=9s))3pvoDRRL$0RaIN;U%PYZQ=M6NLFLnytKdU^zeiDsB>clrQ z&agz9O4QZd4ZaV8>+O32V7E!IE5>4k8s)GYd*;V%(E)DI1bQn>wPEHBPda2!b@_@+ zKC#pTd)?jU;>VSNyxvQi=leZ)S2-fsp|%N^v26zT-p@R2yj4FtKz6C%PABg^)=Kp0Q3%CPFE{zyNExAwe}$z3G7J4Opf z-)25jc;Ci$1!{My3V#9SFq;4;#Rs#x7r6_yfCi&@R`_hEcgQa={#B1-07ge4px2$T zloiS7o>yEjaCe&^3cZ#@eBLn2{{iIA6fKnddJ6rY+#~egSO@>+7dk1>0>zM8J@znv zU`u@xX_DsRr_&X_Owkbk*tt&1yJA^;m$$ z8UO*}hvr<=G*Z2wlf8#nj9 z?LRxn^_}=hyTNr1BZ);@rn&Yq25@Hdj|18_q;vvwGy?bf&)aAg+SrKO&ZnR9TYhIl zI#8Wirm;=e_VnX}siKDhEVJ#k4qI#&x7dB`QWjBde^zei_1nHWf+_*|76u)5$$M?g zTie8anmR5;&YcB!rQ~ODw>SLZXHziS1>DBFY%mI2{(?^7og!|TpYK>jeD!5+XAjD29>*}i~FiNk)Cx;hHFy$b?BFAEx@@_Rl2QNu?|w{)2B z5}nG0IQ~Y!U>2Tyd}e z%-m`_9m7q7M(^_55RtUCM;~3;hk8C~>;bv4A%cf_>%BvhHwljG$sBR5^d%ye`W~ zsCfAe{h%B-0@cYIyHf*K6Oa- z>SKysOlNG-S*-^io>4hc<|cqiwaqc*z%z^9_~1;tyS|FWuU3=eK^YN^VG((<#Fjwr zUOoc)u-S}z2NOR&7xE4V8M-%ShC!-m;}N);Mh?&{+OY9~-JhFPI-MB*_;61IROoZ^!iy?&Y`Z_1|NC9WweJU{!56 zFe+WH%(MiK-eiIfy8(-6M%`3rQd{NKS;_ebF4GGv z^3ns4wf;b^E%s#b=BScMArpO_dk%g&3X-<>WbeGQ=+a#yZJv7i8!3kQ+Mt;*$g*j@ z5Hf8xYWs*TU&nKQj;){ia?Q(h6VT2-7=CKq?r?P#gq}ZA6c-J= zIojh`0z)94{{!|02-r#W!oib@uiRXFKW1%zF5Q+sY$V@1@oG^cAdjUP6%ue_lVVb( z5$?p|!@~l%#W#I_8uhiP<-k#t|A9Vt|6~V2gCGTI+jqv&Z|@6Q{|lvpx=fkKI(ahpIVO^7myT04r0rNJia z;=1ny$$uL(BZxd3260W)3B=h2BABVi3^oW|S3SpuS0E7zGXXaIyy2xdlG(`z zd0y^aI0>}AFilJRGll%$=sjx(4q{*vpoj6{7u29U04sA8A+E*?prtXzb9?pY4~($b zEekX-A~u6hcUc1C`J28S*+06O->%tz{&mLu!hnNiO5q^qjZ}K8kUOvm>}dFQ;f!l* zh4b9dHaa?T2p#6Bypb^ysBW-buB$Blpk4Q^A5#t9n+k0XCu20*T&kT2&)>d2T_=Z@ zv)h)?t+hMOHYX`p@N%2Yi=tOfZJw9QGpE$VLlw7nXj$l{Or2YV5ei-9nT{ct!%da~ zLKlz+a%1esk)_I=+w6{HgaF^eyCX&vfjrr z2C<*GZl-0YuF)7r&Z7ACtSXHn*YnqC{GkMIdc;uZ|TdKqv+H_*Q|n$Y!|!FErOyT5c=q z<32K|>_$*PM}$&*efLMl_OE5ZUyIa#`*DAP9vRpHh|1#g2H5>B2(6uKH93SocWB75 zOmNRkwg8}ED-b%mD)8;V{-$X7@@9U!V*j1im?*vzwS4IJ65Yi>7nJT|6K}%9JPtGc zCl)YUOL6D-v0`Ekf{Nk!*2{3k=^?JMH+|6vsv3ozsCYzWWn~$&`*yDH5c{vbMw0zK zM|y(PU#5w^I4tlZ`U1HdOOlIv8C>tEy4h)ro+VTprQad$`-reD^$at`dp8(yd$gl; z+wu*I%Na4M_x8R?o6l7KxpnHn7JgQJ@dP{j{8M|^OgJWrRcwU z_coJ}e>H#KWAU%yC+w838%yAlkHMEeZ$R=#d&)a0V0svo(KSEv1OeXn((rc(h}=N{ zIoGd?lL(G9?l_Rj^{?eQedWasydS=Bjd-l^2ejp9!7qUn;0N&)Yl()$3SMU{w15Wt ziqonTHR1CHY$s|#pTsW?-URR%fS#0taV2M7K4?GC_y9?}{(XgNYZ~y!&F;W1U39*~k zL9>6)&!3k>e603AjoY)M-MKEGHw;sFwMsJ%Knc)u;dj0?-X1&6Hw)Yiz3yiqc*op_ z=NkU_(kp>kfj?NZ2O)(iZ%;6Zyqjv2kM7q#ZgA>G2?CI;4$NG!590QNc`>Jl!@z?5 zOC$FMFXH>(XSc5-*C@Ys%VIcf;J7>o!CcyXq?wb_ByGzqQlwsZ5*^d{gMZ5_TqqqS z0_(bk>z}V45c`Q`N(g)CXLT+}O;_YNw%Vy*#y77fYwvx9`a_TIT`G@fbx(dkHxrp? zTB7_`W=%9#k`BQtp^Lz!4C~)4y@f!BcFa1oEt^??=^c$^hJbpD;U^@4KGob`!+r-lOo@@NC#Lbw5e!m9a?N8$~u zFsmGpQfx|Fjd_v_GzNU3iKo!*)v3Sp9?-Un-Uo9&Z!mY`Q2?Me4!#`p*VbHD)?`fN zN6B1X5#TX*a;dLDkxA61Fi)d?;D(FDrJ6w288O%z_@ih@(jCu4FdZ5AJa^BE<=vXqyG zQOMN~06f`D%v^<@+N2Q=QsIPv@YR-j6kM`m8^ZPe4civf6u--}!hr!cLFoH{bku2%8y z?0_IHe{~1`wwr$2O@Ghq{;#KKkuZnz12=&A>DI@LMN7V*J0}p^Hy((D1<+PXE#q6j zlMv)O%O2K`iCa()s4CnCMkK{PHDAy5yRO!!kyBt2Ty)x}Z`@eaU)s9#%!RVFvA>gD z-I!hk>CV3S6976SF~P~(8EQ1%Cf|^BB(K%o!7r1zi4{vVnyV{!R1oY~nCl)y|9q^! zS=o~(uM9Tl?NzMkx%Me7P3*T9A5+8+WlrUhl+_oNbyv%Ctuy85);j}DC%3kaRrMVQ zlN_n*gCXLpHj~6vxq8pf8_uC)Q6CpWF^^WhcIl-o5m z0osE}HuRdZ7gXUN0A8xvWH|8$(%c_ObbspauK=w72~gJq4*^l_|I3H`kNREp1HgA< z0lo`hj$2nhZ+PKFyjfPw+Q)II}=uD9M^@Fah%d$FLtiPw^25_hfZrF$D(#< zo2xDAya{bd&kWUdMMi#{FSU6$_)7k(<|{b8k`MPNrHZLJS$)m`!4SZ#h;jftW1vJNX-)~&`nEVo_(nm zA;CJ-Zqk!b18IyR6FNeeNGIC%SFlRweEiNW*@dH*C z2F5HU7ZxQ>%s$PWnHHlBA>78{Vj?I8ZsqyuYc6c(IO7N9^_@(}xUW-jG}+X~B45^Iv$eyXeZ%U`R|X3v zqH&Oa<(gccF)hINcmLZ zR8*^7P7=wyx5a^Kj7Vs9Xj!)u+5!3iD4uNEA`i?6O>=CZ55MN}jXIPF|3=S~{C59Kp z{lo+dd7~r?mmZZuh+X`s?&efKRF8W6{3vLyIJWe*Iptc5CU4p{#p&~;-jHlp|)K$W$%Vv-hX^c^dv zMTQL2G2!FIT-iRH@DI%C7$a4#MuI!jju>0p&>qj#;Z^0%r@yM`_v|z9rQb@kbH{bj zkx4YBJz5<91|tofrNBPu*YZ@pxWK|96Eiu@RinUXFr(7*d{HFqHhvh+pd;ZQ!Q(6p z%zD#7o&=&k6PhQ4it!E2Jl%=|r#T~5apw$xVc`Qy ziOc833*{qU%q^{VH?_Jsd||zgvFV=w9&+;Kv!}z4EmzKDDLH*ve|u^ITQlz!zREtWmceMQAWngoXFEreS{eU#2VCvSXsfR-y!4=?h|4xGA9m^gI0yFgjY<> zyF7k;vs9zt#Q4Q8k1srgMqV_|H%wtQT9qHTgxZw$B39m5Y}{XA_iWO^*W;z-HwcirW^xT3?Jw<_~2nf%i zrzDQOtcH^=hKxLl`zV^uib)K)J#;-iW#J0`Gg=e!ld5^SwT)N+$p=?bSNp+XKX&OJ zs>=YwSh7VL3rANw2_~9!VaAT@*99fvazz7??-&L#SGp(3@|0-L9YhMwW4!6ebs5ri zOlnKMj;BY$RSy0au38+5e4VyVJF9ozSuNBvKK7kim1$pe$fafD=i_xAysyR0o}|}S z^L`wOA?Cx_UE8~L-IW@58&J*r{S&o*bMOgQ-(q8c%;_x)sCP1SR`Jhn)%x`O{fu)~ z5p~J9hW~e0IY1u&b4C3&gPq46AiR`sW?q-XkOu86?m*wVxEo13h`}^*737%a$u~nO z1NPm;5!7iuCTDsZB+RXP6m9$JLi>IQ-BhYPytE<=7JqdbX<8GXj}rPunYL< z2slC90h_Io#g>%zoslimhU4)_b;7+5gevxn`tG90$clM!OQQQwxyu4~VmZ>Y%lFF7 zR9DQ?e4Toe`;OaYM`FGAs~ftP5Unp%r8Z`V=`>YfBHi9+2?S?m?zc;w{8;DxS4_ZyEp zXX;IZWlu3T;vXI? zbG}^?@I|#;!ToOBr;_<@_b>ZW_m0;4#(f^HIkZ@j5tqNqpW=SA%Y)@z?^%~)cd$OC zXC~D1QPHOeMW|A~JaH=SUhp-oamL)sRx0LRd+rS3p^B65+cr5=6axHvCfTjz` zs;!(Iem#G#nbJ{6UTQWy#5fXr>4hulyChEj9;ZPL$4y3yx4|k9g^ffooGO7@*%TkQ zl{8Su%mMYJ3U?Y-{fN|VC z)LZEk9}=Ut+MTZ-|8#zvx1pbnVDqI z2~?k00h15^KTOBF<$KAUUg*7_k&r8P3M;M|L~Ft8I%&<+MMnV@Nz{d(Lw7in)O54~ z(P)rlLp&_PrY^snvwC~Q;W->Gz-tlhM3fW|{@pb39@7zg4r0%p!&%gh%cw+hqXE-0J>;Ax_SUs?He?{LsKdR%O zWeD-`SIG(a2i%h-c8rnu0nj~2lI$f7;2LqM(&M}$JarY>**{Sy_y#oL9QjpjvhKnQ zzcfqIKG=_gwvs&|M>4k(RuO40@>{E-(R<<8D}3bUDE*yKapI_$GUKu%)VXocx_>+( zESK=0RCD`Dt4K3Xi>r*wd*fn@FTFmh-~EC_cOE9*eO^6Ys?%(%R_j@>7#Dr{^#P~8 z;yK?c6GCC|@Mhm=6-rgG|08|7G-O(-4cKV&tme}m-67>!EZXDYh8#G5=t*eZ|1WRB%YAyu`t>QgQ@t@}-yz(B$+uu^bj>HG$N9L*B@?GrBtvotEdv5^Tq9HE#tOmgHN>>kV^De)41w z_lBg^<3GI8Z7rYnhu-YK;4V1VG2e`#^5tPS4PS&8h-B64!~; zdd%>sAcS+s+b&qYe0jZyym5|xyTE)i%4)p1H}-zBe^S6@dP?WV`z2fMSg-c!Y%4Vs zJbk~U;<6QRuML*KOsGKOSp8xZ_4mAhm{lYu}hH9rNG=zXJhv_hS_X17fB6^#=ACxdP8(MF)8%Z&un1Wy8O%F4U^NS+S zi!5p?qM&(wC5Fe9G6I&fXWra$gc;7A44<(Tx`>oKK)~x|%ax&?#kFN~c5Ma8#A||n z1$ZhD9+mhmToqxd8MF;nLQ@WK)!0CwVvXH{_h zp}auvovFnY>7Lyo5TV#wKhkccJiBM+0PLB%`+Y?~P9Rg$PkjS9lu{wwJyqwdZvA)7 z2Q~8FG^`f!>);+IIGK+`5T=ecihR;?1W6WC{=*j-u{@lv^nfV7xndHZiQEQ+F7NP{ zHpAaob`Q2%#9=fD_>*IgXx|bFiQ9?I(k0Sspb*uPBMRlTB+`X$lCz}gapqq(z0rRi zTp$RCOtYb_MH>O-id=!Hs*|1r`uD|@Znf6BP*aa0_o}Px>ACy zl4K=CkFFd+s=XCp*SF>@E7?Gw4i!*Xhiga7<~-{H;zoWH9rQNg&ta9**tR;)vRRA; zR+`e5yT-mQ#7;V<6eL7U!U=2$7(^bJ&Dn)9S8gAEM!nFnauBF*%6`%aM#7;X& zQ9CB_+55l><5T65*MK@N8)5o_pk-Q z?XtTVUg4i>TE@G$lP(}==QB*}n&kx`YN`a0`j9OOT{N9}P2@I)MLiZ7ag0p|H@HgnhL?Y%r63Tp^<(waz(ZeynG#cdjqH#+xmP+N$^u%I-W7uP9SIAJSI1Una*$$FN+I0m=In; zs{V~vl@d?Wj@}pawj92SPv>f5E@0Oalw3wu4mC--p9Up#=@4El#_{6c!Is2ll5_^?%f`&}xGAF!eLV=1E;W+4MzyvK5mZ56DxYLCzuLUg z--*jET@PWY(l9nE13o%qTTr#`3F{L=nuBqX4rH4+FL2{2zPlzE_?W1CBoyYhc7Bj5hgS4RT+pIN` zb=T`DAux>a`eEc?U25+YTzIhmdo*%gjtq2P{&Pfi!M_7rYclO+*sq%-- z7$Md3ewt`R(m6MSMGcQAj0d^%6v;#i+|N;mAzLvOs*8~6Kfy&^>Jz{2S*)UG z;dFFbV;8-#%bQSmD_3=I*Q~XHQIL1O?%KSew+(k|hJXK5YJf<+J5sJY7$4Dhn=Ul* zNX0cV|GNkMD-8&XDGBfs>*R`uB|AucWHk)09({zoj?mKy6w|Dw*Fa27rb5&!u1DQ<>`Ump1PUt*q$rH%`+_ze&M|R40h={fn0?{zh>a)+aw1c_@ zyfPylkGjm>`SJ4X?1k4BIVOaFd#Gs6tJgkzhdRgWO)ON|42ReLsTp)ijh~8UN+&-S zuG(OiXFSmDl|uxr#P?+Z%~9_X?*)u_pR4xuf4x7~pirwTO``b^Zu52xkYrw1$_m~t z(p+4E{5qLU3LS{4uVR9TCOq?y)F)S#wK7yi$2*v6sOZN89qh#H%(t#ydMZvgMy^SC z_gTzswq<>nYfBHyC*g+3ihdpw1O@~#Tp=SK^8_JFuoRw^|XP*eQMIn3?hKoQj9rNWJ6tQJh`SnVs-w|?Tycj`MN4GJ_=K%r{J zva8QR&r<{Ppd3*840N6g&Eoh}xVM=QOnkoX?W^>1Kb_p?vp=qw@7rqbd@b-w_^S-@ zU6YVmYS+iRWscjw8@o3XFK%qnPgQ)JbM0K1i)D>-ezf1b(hB<@tTb~A+FU-4gHFrV ziG`4I1%-vzj8J4g^%EYSNkZ_(>Lf?xeM|fx9BWz!E`ioyvVpE3ek-}NL$h?Ph?+^< zT3C9Y-;2u_mO4P#EU9gnU}@XjGy+D>lvsA#$!kC^yMUqMAW!@bcwD}@LSlv^6r2z- z7waWnIes>aL{zQ#F5GVpwNS9>Sx`7`UTvsq%(h2@hT4p;y>2} z!wJ^~{TdNul_pEI_XH(J5vhPr+ZG*gp>_-Iai6we7Dwx&&336+#n- zQiS=dr;Kk0yPUJ)796xtFRjYb14Y!9Dw6=#W0M?hdG6n2Pk-Md>_axwG65L@H_^xD zKTK2riRjvPgw#`3K~f;SDKvb1OJXKlQV~16-2UiSz+vUL-4!Z>dTlsV$K8$awnX zK>;%tOxCezD$@8tv;yHsCvuCmvKQO)JwlxrFCs6_K#n}i6x0rA9e+7sW0@f4q7bDk zz-N*6k2U`!UCZ+jxRE*fnuAT%x64*seQok}Dgp=>f-baM`6%Mmar?^CUdKM|VBIzH zyc?b5W!GExy4m%_W!R+Iz%0R9@%4V4d(=m#SR5I}do!Q(+lwCI zEr>0kM$rxXr;l6DF%6D+9`y~iGF`V2Co>viRdSv|ov;HpXRzd;a$`9AH^-h8Sk+m9p3z}sQBJ?Jt z&ZDSx6$Fa^$P&sBFL-PD(}2|Nk$0q5y+iyH@9Izk;nT%E`t^s0S1T=b3(sljZcZ)F z&MeXPPCYT3oBH9xi`!W}9%VR{RJOo2stt9bS`ce}siDHfs{7mypVNNqu;&g4m3sow z$`dy;>{EY~Rf%P|;=efpLmjQC=HYm3EBSBkIrY~Ipv{B3iT+Upc1Adz__M4fo~|iH z7X%h{lp2qcW5|40jS{?Zm;_k$iE+sYa7YbsSs^ zQy34Kc5z#|Z2Ba^9YP3qRLb8V!MIbWWo{uk0{~Q*lo$BLw}N`rlW-?eXpYDR+UZ4j zU=6q^N=OL2+c^5d`HdI*R5KW|Jkc$;0H%KG?@F=mw)sIF%i zcy)VSW!cK2*?~oyP@RUS)lX`=8BbQ^Epuju7cBNv?m5M(_0JqnEz6~!QKHoN#>J|a zo?gi`sjKl)(3?8Q{zy3N6pZFh`EmHQgH;r9Ufn5<=cOuPnCD$|??1@qI*Kf(62vp( z^rN)i?D$2mAnB1U#gZa|>2R{=-TN8&1^-?={LA2|Sm;knyo!h6Ep*!dkK+KUknI-NS13r+G z0k&OSU3g~3?Ni1KQ$rdBCrNC9+#{AdNf)1ldquW<_X<9qqQ4a?$Y6#e)a4&QF=&+1 zu1?$s`xsH1m}(J&QeBZVE_hD9r%8lNZ?;56*aVwA^-r?9XX4#3QMu8BViS}uFj1S; z2_EuaVc&iY>}dk+EhE!QoEy47x$#5XD~*&<$#&(L749uQC2Zrbr02MKSkJMkdM3N# zmUm5JW6D0N{b}lx++A%xSj48`e8gJKfcOxH7ky7_?;6=%EA=oNUZ($(h=U@BV)tXNvO;^;D{hxH#nU&E-U7S_ z9F{e(dY#l6PW}u18N@^|Q<2;D$ePfmgy*EaTzJngFCo?PEId~m&1^WIN0(ZSOT#f; zE=ZuD4p?I2Gw;U|^V;d*CeifWc5VIEppiJ%&F4E?v}{ca3i9&){xLnx)>z>BY-}wUO8k#r>hXZF9$9i zd3H|p{^ZSvpW5E&-|l`5WO+WxoBzQEX5VMx$&&^A)a-5>dJ-Z42Xqr-`dP@W^J8`zH6l}h z$fvBYAFXUI3!GN|fxC!*=OykGeam3t5$dFV6Hw)MMOpS{7FMss3RzrSP_*(?~@27T1 zencM`U2aCaJc7Z$H4r<)^^d@~rY_o+G!Wn@Rb40E2jwt17|nN}`M8uxQY5S;`bj)U zLoB?~oZUw{yGFVW$)TkOR5C>vCuk|dI=vG1fm$7WN1K&h*zMYwD8P(w8kedanZb9G z*TM@dWCMsT6ouq~1x~3#=GPuBo zjai~IT)$0@*xHQ0XnUJhmT*nEAuUJG%`QH~8945pj=5m&bkw1ASAO^}Wkvk?D{mdF zY8X}fU+rg%2FA#$Q1(8~?F#DK=)P@=kMGbAyO#uZ=kB64%T^TcpWjuAOV6$`e(gn` zynE%smL!_>w4WVwtI1uz_WwSl`(fU{Hh+!HM&84xX+1mrYc6M;Bm13?Rtb72YYw`wQan8O;^N#lH{A6VG~yp@ea7DMcYw4@I|Zf`H2?a_ zP%*%OW>;{4$2lt_PC(>;@cNVZC-u7vq^lJ98fI_r>PrM3Cnx*-7jKq4{+6cj-(P`g zHIKzea(^|MrzB-C>z@3-_oMDI^)crV3WV^^7w%A4I?J8my4he`mg=NV5<2KV{BNV?X{*MQjdk70WNn>Rn{VcS|nMdD%4o z)0as{{LgPQ{J9XsuKsx@;P>{ges2Wr=zjpYNLZQwwcilZwd8_=m8<&GOsTx?zc|%@ zuAvwGpKY{||NG1SH)ApM|2Ulgcg_BHqeTCA&3dK(pPkKUP}kT!6z!q$mnN$^0+u+y zs6b_zn~DUUw@Va~;#j*G;TwmmiV6$i2{9d9#g!@LtxMg(`$nvBDp4&hb_MD2*Xl7% z_%Fd9EG9SIKbw1KSXcYi%IH$XOSSQ!7QGI-GCeq{UjYI?Ea@t z@4H^i`)3q6XBo3XzEymP`7OIq&aNfTx9&sd(gABA+VZPqRp^^?I83Q*-90rl_HW)aPvre-$SaOB|hV zQdO63ZgW42oK4#ViV0mnb?B6M0C$H+m~d<+x3P6`R@5q{4K>R&XHvy^ptr0o{ZaJz z1~9@>5@54QnqW8(><;S1mAV*P54h-I1bUNbJar`o=?&3y=u68?%?Pww6@=g;g>6u@ z_?+w+CZb<~s0f996NXBHNTc#SvZ^NT#Bl*P9c7znMnb&00xj^{D4jSJLKRDX=n0IE z7G-fTjUZ>45@Oxj?sT`35plpV&1BdLqZK{bN?9%m2BTB>z10=RCqm|iygt<&|B(fC zDc(s5cl-ICnS&b+plNBh^H4s1`ueXfy{jE1PhWa>nB~p)(#@?)AFIFS&2et47dF1} zQxW|7(UN-}ZoVf8XqrFDdW=N8Ek55|cC7e$%~-dwSG^*^b%zP^tumbjH12>YcN1i#BCgYc^J-+T>oM5%`tMP z51Ci(@vE8B&QPkj)BEJB?;h$N4nI_{QT*&C@AyDSW}y{Cm<%fyd^&PloMrMUSgB)NrzNLi`rYvvq;7A;d@SKO`#_*Yv*5JV z!taBR@Bu?S$3J?cYPw<{*~2&htWY}XNK*fwYc|UFz~2OZxnOJ%H<2uMlGT#Kmy`+D z&(L}jrnLvl;Uocq^5>fEcle`~SqXxAKYbB??8GNU|XNLp@n6Q5J1N`J1}x3Ye^u{g9%w?Uuf4R+z}&Ww;4z<;nhmg8WS=$ z)8SS&S%Vpol=O&g$=CT1g@h0jcQv9Ua!{{iVS8X|w+G%PHg+`y6l zEPiD>Hf;pHlqB5*_&VU=sYkWj%UXoinC;Pa`7f&{;ZV6^2*B)+VDwi=k3aK@{`l7c zlrE1s+4wJrl4=!ESu*SfEu}8oBiXCgh3u-&t6{k`JU&Jf6oQI!O*opjbhD{{4Z+0= z&Zzqw;5wNi26(MH+LCx0JjQ99XFKiGvmmU%ubZnQJqG90AK%gS=GL5ewLg}XJFQ=Nh2bm@P)(CFe}}^Lvj7 z_6~~gwiOlYj|Lfsi0)YnO-^;AwuF29F;KVZ<3!(?68@|f{ZZ%ZN+T2YV7=2z6ZPmr zzCH#UN&Cp1{>=ykX`I$DyT}({l!)s=UsputpU(nofRNpix`4lsGco7-CxfI3*PtsM zWYw8AxVajpibF)RooA5Q!FwS+eRW&5w+HmncTnn5`PMw2rvJEg*EEhK`|I|(iGz>N z>`CK3plD!ezF=;udI#U6ECj!#0^OX9#t@N1I9#W)c9_63R?1RfW2< zY8)SOcDITwbCyeN{YK6X$9+znu0fYXTP~QZS8i8fC0*R-GBI;7;Cr)E*WPoo$EF6q zT}C+|7mN=vj2eHd883JC4y-|)x41j+n|=2-$2)(Q)#0gG_Sw*1sx;m|k>0)HI&8%r z%TuVM>)bD@@{O%i_X(+XS1I2;D4iuH$?nVTv62`9Q)~i}S#)h2iH&Tf3fDo`#UJ2d z5!MCjtEiJ6gx0`ELo~{Phs%0VWm~N7oSpKx@bC;Z1+(Vya?s{*2hj!!2boiVJ~K7t z6mq3aLXaB5#`PeEo<^^ey2=3R5xS&B8b&s5{cAx$kxA!8Uw?-=3$7DnD*`kcm8DT5 z?HDO)OnNZ%8lRfVTqn2b;ZxO_H=C9;u~qY{X<3zREw`*!9?Wm6tl!bLv}|-T#Bpo2 z8SR!=^&dos@PL9b=Gni@;8L|c$pYK@7L}EnF4S5mG;HD;jxbeyf&wZXPCM zW@N=rS-&9i+Acf#Sp4jtYt+!%0Hp_;GoHML(C7)@c=$PB%HRGYpuhn17^99>fG1U} zqBJJ+o(-W5r5d7wU(f~-N`_qzJ-C&rf_iIfH~TMfC2n}Dms7om#RZt=5+6wy3avqH zEPlVcin7WHJv8=vO_WD!RFoF^+@yC>A?KuzS6P3ryYuaYs>OwK=c_h3L{A8&6@Bj3 z9QG9F6+?};AJuu~EL7Qf#ZA?JR+pxb-f$roWDZ(UmP%BX{0w08b)tS27B<0m;3mDq z74TcWy@6ne(8HRfbyHIoBqybQV3K4)wJQLbWzhIy0KEygl$?J8Q#)Q5R+Qf2zr=y* zZKS%@OPR^n9(_Ym7ikI> z!k1)yF!@7w!9Tu#GvTF}J|;C4B<(uQJ2Aqr7X<104pnMFu-c?!bu{2BN^a@9n z)KaACu{@C0qH##+&N_1ENle5NY>465j@zFI3ZRt{)_q)nq=EN|PSSFNa=jO+5M$YGz0@bZq} zUqR8W%9CeHe)8h{ERFTchV=WIotzo!heEGh$SsdITq)idYVwR0lfe#|-5T|{;=<$h z(*fl*LP)#sw3%zUx(EN@o5IIFx!KiSj$7uv>5hBe2K_WtwKw##tJNhS&&l@V4Ay{A zV0$Bb1p0fOzWF+;3@F`!ck*PFX56rQ<=QjHgwCRuuq$1AJH2L&}b(YdRH2hVE;;-2KDn2=WW ztg$IiMrUK;*W`50md;~e z^qkP9oWZ+~8??Ke@2xf)>EwSZOTGIwaI9+dc41E7#XH`Yo;jp1mLB!9{wiDVVKM{yKukf>wDp7^_FI^Q+Pftz-oCqp!ZcUrC z`S;Dme>*hnyj)uwSbMX}=jdV9jV^zB1`2ey*UMlP!P53{Re36SzV!|+=;*Hm+fH)x`5SzMV#J`^k;)=ISLt&ihO!)OO~DQ>_wGPX zPfuE8xF=MP7#N@1uO4f?;9l;P-BzOLy|2l*n`Y8Ebc%EC$69wn`Z>|PSI*4=>Yq<_ zUK`o#S)SGz(pG^B%jf5-Zg66$HbvFCXlK^@^lc|FTrXWq(#gELGc|9^R?UflvS6)3 z_zO5Z<2<@H@h7k)LgmxwwQvF-U~1obg7?Yt<@*WOS;0zBaB?kN)z!Xtd#yQxxiZN{q%>vId#T?pE|KQ@@cySp+X%9VRmRF=`DGU)L5j5 z%w{%g6oC0QZvd1~7&`?qN9F5a1A#BC{4-gv-5mb3Z1X+v+}FVD8xI&jN{@BzU4cKxKc)w+mXg_%~zj; z{qwtscC(56gZ!-@cMCJ@bj1iJtY7!^XXFO-5qKT{FWbkkrFRm(Er-0FaC4aNny({I zE{oFnmT}=@K}XBCQ=h+)3|ohqm16pH0un%xh8G~aWJtLp8GQGYXf^|F0lRd!yx=Yl zO8iK#xDA#eDmpGuZ+WccQUAnC(8*A!{YhO>gm#h>RIIxj4M4!7xUbs2D(7m@e3#CPsw5PV0jw-IJ)Pf zrN!_0TXU7>@07c1F0+@epG&pIns$ryOhxND(N^$jLCitt z2%R}@7kWK>A2d`p6J|RT#s&;tC6&WWcA22c3X!VS{7b8Hg2^b zM4lP6&eDy+{xoKl<34%D+{IY51afW8kwldi&cai)RCJZ2invAAKIls!vNrUGJKSJ&@|`$v(ILonz{2 z(cyzN$LB>|1DqaBcW=|~eN#$VHL2b-bJQ^xZIrwIqrgjW;ho-vu;qx>jbL~leq<9; zbT;;D#cAI(gtolj*vF0DwUkQR6wjRiaNd2e_mD&-(TP{F0(>%Pj`mMB@~blTcli4DDmZLVZN$xDHd2IVM8`n}p3OWD2n9lNIDXQ!yWNBaK3aVFa1J!Yv6=hjW3&e4v~q~q z8LUTfhmbc&2pHFe<>A)N`O5WMAsXugddmI9s1Wm@+ixr_pAn@;gF?u*k1* zz&gk4UjxnNevYjSs{4qwvZfQ`WlQ0VTjOp0`BB5nxBISD?mT8acaFenHxA*e>of?c zE2U4_o;hJYjtEEH;*Try$EvL81r8O)Jt|m)uinV}>W|2YOLYPDPbLgEoKf*D&vU-- z9-BY&F{9q(V1@B`T`KEbwQ=R0n#{r)?T~rjD$J~^!12b9z!aMK4!w$-Fp?|YhumGL zQ#4*%NozJadI{b;56a9<5A&9B`tGZT;Q*i(&_6j!N4Z_!z!>`cVuZZOqR7GJ%mg(( z&g#~~XRA|P7(H?nc~Z3-1D$G9;88f<5T+B1KNNj-&Fj?8x!9MTj9MgkgCto_iZ zS%HzTT;dg}4}3(2i6H`vI>F#4(R2nh)tR`X?|BU&oDD{Pbt@JMZ0yb_N6!eI$Cu0g z(ovZRBiVpihp(9nUNemqz|IFP2XNliKiwT(R?c0dvP(eo$rspc4gEZ0C zNq-WNQmdu=WR+-pcp9lb0lTn$X{hL0|SIsRBc6!m9Khzf>LXC_~L--q7=yxUa<;I{CZucM+r- zy2|N2&iS^wnI36{ER!t7c|LQ3pUi$_eR`-w??|@%SsSCo$+;!W+2`r&(ZIu(U{svQ zYVYgzA9D2kzLxRmIn%pk556$N=o44Oxgs?E0lCwjq)rSSLizCVQ*_XaBzi$h9c0K; zc96fZnP-j@ABLSmAHh8*ATD6e$`ZQKyCHHqr#&=Ie;@t-AN=w^U3%{QRC9r48PCW~B zsnYz#yML_4?Sl(a%QY#T=XR#|gx2Q#QcpVgr2o481{BVIE7qZRhu86U*H(~H} z3Z^w&7$h1NJc00ww;+Y!QBb)fCk_H>q*AmN5dmwK!;J!Z*N!O5^inMd$);|MUZtkA z8%U2a+ea9?3QDb>in=Qdm!!K^9R*{JG0<067%$lr2ut|D^flXwY8kvn&CvH=5oW z^`Q0OJQ;!*+z9U%X^MBrGTRRlqJw3HXk+P5AZb5K?zADFH%9Lzy`kw!*Gi5{Z3m^= zJnqyu&%HwPCh_1580p-AIZsc0VLw(8qmV*8IfLCoP!L~(ogU7;NC`ktejT{TILyax z4zgS>2xMlVRCrANcm9#Vb^uh6Mpn!P?}Em&t=eq63OD8njwsu9wQm_)B)Wl-BQ^ii z3mOIaV$v?CD#PlnEk|ExOgKaJ8fb1q_xKEbiNOnhd`7J@jr-#_NM;f@TyZOWVo$8Y zsf+5NTk10EX4NAG@629W?e@#<`M5o>7nI8O&Y9Ws{8?a3FZ$!nymzGcn?D%67LSX) zYeop~b4!EVy{f*j^K-*fJI)U_g_-#5YvMbP8tC-=u>?A3M&lUXU0-8}_R|oV_rTT< zjKMaMr+_JN3tZ1DT7u0rg|-40E+t^keNn$FMew*L0b25xHO3#YOi93P6_$;BdM0wX z^;c>?&)pO@JS{mfiZZ-XanhbX%2bzYf;Xv!wvw(HdmJKrEY%kEum_08Ab@@`_Rq+o z#ixv0l|!s;NiXX*<@AuUYLx1;Y89RYQb&^B8axPg*a5afZjj%a8K>I&H1X{`lgnj_^iB8Ue?cd*Yz z+%&q?(pG6wrF5GthqzgSB6V_`Y`f~H$>23fks=HrNQl~pB;paMv;Yc~Z=Mk$djM11 zy5J^gTSX%$mb&DovNB94O_B7<^x+&vg?O+G7!C(fGl-ToaHtEMjLfhS9t{@vaxy|K z#ma$SUV{C&negB%Yn7V8Fz0hsqVzY3)`;*omzqDQx{WTOb_&WKETHxD_dso9Wzn(d z8-lg`B^5&QQJucK;zFv};^m_`a-?Ky)%Eo<6<>}Q$69AJ()V?_;=5zU^;LUj^gGK4DT^nkp!6d zBl3MjH9%5`L`;11hP@=m!9{&XLPD$E#9X`&8J&T~yTIxD_PG}Fn|BUusspgkr09q0w$;kd&jt1f|?s?!+58nk4+n;{yz zKa2F^vz8Yl7wemj1YyNryTKczfTqg9lW-QFnGS|oNn42jf|j}gF=%qOt4#s?10@DR z(55NKZRYEmYq~+D4I)jK@g`FVQa7qpYnWlnUqB$D^bM1}UJhPp+MzM-Rye6_(S67W zb^{E#AK=Zrw&Q$e2lED3L9RqRGPMhc~h`%5-uYdgWZLM7=c-_3&?AHy~qG}dD1QwWeuzb#RvD%NA zzpf7ZH$9`ub6?87X8ub0CoO_kjUHFY#gcVCmQG=vsyJSb$j;ev5tkWzC0BF%tf$(H z9;)o9;K{v(;TmmkLbe+!SOEca?_Q)_B0N9Wa1R%T3brUUfbYZiB_>ie2(hRH`Z6Ek z(J+aPG<2lk6j=W2ggxW@Pst#b@Tt=6voi&3WHzluQ@8=D;(dBv86j7KkrJ}>C|ok* z2xrivn42-J?LQJs#qP3P3(_8<-zYIuKt@IegF7drns}mBr1=?`!5ruRj#QBUNIWk4 zRlXjSyUmDvGhE4Xlav6ZRaF6y;tYh(1jGYf;w69+a4GHk zuUYpV*$62Jl_7^EL3pxN-INklg;3YCnYjc+U6h-7U6G{RvLWD+ek8SrFRR~lu5Na?_w#h| zpKG3cK0hSTVx=kn5BAq7sgf_0U17bvE79t`t35b9M z2}vtMn9~k`f)Eh_5iuf@3?@PtS`m>k0!m0CGRq1=TtX7h)BDu>RqgIR@4L@ir|Q)A zef=Y4RfubN*0b*6y6@|{9qv3}l82rpZY333-F(o;7|6v+D$JhvZRYUaFP3o-2oVBQ zpE8_Z?#!Sp?x^u<#PT=XtTr^sI*JO$>|ngQS@EXo)Zr9hZ%Mgf&Y(!w13JEp32%v8 zP}`}57aE#y5)dT{qAG-96;_a2rm@wS1&OuuupK*Z-VSQuKY&+wNX}xG$bc|}RcbNj zk@yL)Igi_6?z@gx`i2bZIG1?L`NmRsv2%RqlXQMiiydUO)@y5{57ECJ=I zcmg@XISsNxZK4+j5PBznDlV;=$t3STrh#obbdKDbVwkF`JHp>v$p>O zJmwCn7`0L?GUaJIS~~iJ;|pLQhby?fB$o6&pl|q3_OC*Th*U`ikC@RbhWCI#vx7QF zGt3i3T6k+-0GS_{j+fwq@e|Xuy--A2^nj_mIEE*lg0cyCFrD9%_Ux*J=;ecV?^~x1 zE6{x5KGH^AXU4%M)1X(i!kR~mRx+jBR1e&7DiF}$G^2m+bh+=nu4DJ!)P%T{qZIaT zld|+a(-&JbCF@GmvV`ntm@Dn*x^@3|LVPZLjyuS(M zVVPy&4(<^$4~%5#HUk&;fd;hOl+v#T;aMUK667 zOuF2_h!`PHG_-#R<(EOO4M_qsD1Qvttu5A;0^1fSf`R?flYwsUrjn2n0-ab6b7c{5 z&%R~?=~8*TKHSPhk3_LCK)a`xGett#tsMy+4KD;v4=a3T`dv(AdeyztXg!@lR297= z*4WJ(b9%300R|Ot-~`th>T2I)VEQ4HftE+vM@%4O;q2ZQELnUMo0$4!c2u!pxel6} zFn_^H{4)LluLYv(5_Zg+Qa1TVc&GC-I0l+)(~u|vQ3_G!5w*6LG%ou*kKtu~TZ@^3 zk|>+aFQQC*_~FtG2dE>rBq8{omq%-CZFl|oa64HqZ6+Ty9=_^r$qa}Fg@ zBo7YCmS`~ps+A(?`o^aaDOIF8eIjU~6jt_ystOk-%Trc}Qlm4MQ%GU4Q9tHIhAJ$T z+&YTdGkY>pQ74;G3pu-P-?l&7J)N3WdAmO;$lkS7Ke{xR+4(kQcmHcb>Ac=hNqRQY zyrdL=sOoU8sWAC6pwNMv!-F%%g zWiF7H2k(j{>H;+MDa#-91vWDYssgJa%>e@=feU+4d=CAzVLmvHleL%C z5&NWv+Q_S?0@W^<)D=a$dyYp*GY#9{uA!OW=vLFvOr8K`XXZQ!C^8@>uo-+7|Zq2l>iEl;qC>MH&< z-(R}_V@!aK?l)Vz>jB}u^RB0Cy>ljUN8NVFXZoj>Y;!YN=c14!IT&#HbBtwWr{Zqj zgNq<48OXkA{H-h|J89cP`@WLfpPmU4Bn|i8c`%eCX~7DxbSrhWY+dpybhuXWw$DaU zD_Oz$Uj(a>`w0V-B}^@PZ8tC)=#{y7ZpC9Tk-wVchl>a6aO&1@)`MGJC()sCaYY4>Fw&30m_Vd zTukyRy-mIZZ`%YFuJlmI(V%bk{p=-Wjjd2wA)9LWBeb%RMZIBJlRFii61*wbw4LA` zM>)~w^KM&P{SO`_ha!zfkteOId~>xkL;DN0Qj62=+q@mjpuuzZ^FwpT_ED^NN^f>3 z?bUq}9kLb@RpLBwCvblD1YzleRZO5#QMRz(`rH!nJb85!==*@R;qvcd-J?9jXo%71 zZ-gFJ?N%npzXC74CAA{br@VZS_Hd5IqtTxs4Z84NllS=C3D2^7=LPJuUn5_hZ?JYQ zRQ+j|ct~#w;CtO7Cx1S8kTpcO8#G|gwa1JI>x@>F&a&WeaF&-u>^{Ghji8DKq7#8G zB`+@zi0Nt(dYlPE;{1!SShOD4FW;g~APn2NFV7vIbM_A(-^5GZ1=nL(#=ksxDdK?? zM$`BCqsTF{-dm?_QXi7fF9E90WFPsrk5RG)-ifyj;4F*;w9#T5LEpNJKCQDA zIB0q6@IT!V>W^1OyLOMfKmv1}--A1rUKY@wPr^@DK?lv6ojw>F9c-Q0gL4U_P)U`kKdK%!Z1tMp9sBlTV9(zVnhl9x`-BbrWQDf3L*fdjh<0f4?37VS4_5yAo7AUSJ1hG!JMGS#QBx4Azpb zXlORWO`-!CN5giCSacqeB>b>N~t5`#Y49uODRM(;{t#hBfU=}w* zP)MD(`!0sX)<%dP7F^~(-4?L?9=+KkS z7n81s?cbNZwid`Q`z}_jHo+1p5q1I3NFXmzMhiqq5s5_D6E68Kc6)VIH+_j%9|SxY zX(tGjErBCKIiaiPh;P4w>TGKxF;D2&LRWtOjrngL4gH6M9bVID5F(=J0=2wv#KGon zUP5mnv7Q(bu_{ZG27Wh?Lly;2i$;VM^l4kz9C%GiI{F)hdhbEW+Bvdt(?y_Dc8mC> z{qJk~|JFLGb^59bORP0Lr;Ct01j$-)y2-2|L!iTv5*~KsVNxR^N*W+hW8g!FTs~7( zA<|*VF8tMlHw9_yFN4a&r*ypn(ErA0KNsclaCU@SKY!bE4 z$ozGi--ngY{5w;m{_;1VF@4>4vEQ(KfEd;YV9;>zuz4aYq4Y1anNuE%Y=(fi7J6WF z^Y1^U64#>tC!dn>?*AyC^7r{v|C?+`G0iWNo$5);%W3PQd#DeaCJ@?Xg zr|L~%M#t^t`C%|)@}<5lX49#$=EIu5HXn?M2@Q)u~sisQ)5An_pyx4TGN&WEd!n z7k?LfCCGb^V+l-{t%y}E5dzq{qozd00sNNlV)wA1WC7YN@5hdRK06=xy)t z5`jG1h%{fZ40dj@MxFtw-4o@{9)z@(y*`zP-kW~v2{+csve#~{WS!%8+xL&FA7maM z{Je19U^CNQ_Q=wgmf`)Mz9pT%!9=FIIXx(^@+o-gd&xUzTje^vi<8gnw87^Va6ziF&gZE&}k!L*ZhO+4k zp&Gh8t=V9jI`k%QUqw`?Mlna4=$yM>TG_TXxK7=Tf26Luz9`n?m1v~rM!IO|wacBE zfvc;0?WGF0$a04}#P~nZ zwp%jp++WT-^KsN+3Lu96x*_fUWgX0>t$?2WPL6b7hp+lulnc8jqFrO-V6+g~xvF%n zY9>FoW@5qHtq*__a=~8M^xAH{3M&4|j<^bBYKHX8RJNP5H z)7l&gWIX?osEGduFE#}w&5rl}fOKjCOA{m1V^~So7jx9lFc_m7lU6(HVgt$<@sC4S z%WfA>^Pis5UoEPB@Gdyl{=mYA7CEDZ7G~~V(eP`_z?UzLsGPWfg>A0Z?h9c?L6aM$ zu(zKrjZahO?;uS5gtwEX@{IJYOYQPc%^Gg2=Eve+c64@+A2aYVy?}*!u^Z6Sc`zDa zwR`#iEVTk17NrqEy%KVfj@ODBH{iu4qt>$vV>@Y9zqe*9Pq3tB@-8#eTD&W(Ue)5z@1*;acEOvdvjuUF&s=v8<5ut1 zY-(7Dc3|mAZgu zZdt@bl${!(AZ6`cDkyXOt9o@dv?is3?QWN+~jhDD9Z_ zxa@InIs!NFg0{0y;LSd8d047q{#;`p-sY}vh^lo(g!DpH&;1&Yam=<@w=ZMO5`Nc| zn4}gzHdUWmK7{Y0H=RL*}` zjzSdG$i5-(bid2VF`Siz?)A(`)v&ewyPx$}Xd%-&Z;rYpRZY?V(?@d|ktXnGBR7nA zg!r29FeKE@@(^IzNG-d|urTG+fT@&$U5B;7u)g2`8zb%E6Vl-JtIwQBo4Fz-jbMx( zXt^F@HC&w#SQcE*G;i4RLZ~if*)tk;t}(;8pj^B9U2e&VJ>|{=VXpm=B zmTNZ#Ds|;d&gFi)BpqcK#1cOkWp}$PAKg3@b;!ACAYVE{IpV*xRJ+QB)de76AJ_{@ zd-Is@Vg^gt3-p@3i>t~Lbm%&W;PsZUkzC?`diU{K3dHm0z?dY{*L0{^9$;xSz%`H*4 z=$@=>ADVT&Gkdbg`&Wk;T?dytAD6b(FWvn3zEo$ZeheK2akiAV;T)pbDlRGL{h8Z0 zJ!q5l9JcPuJah9*-r4IQK%(thy9+{_^>YHNP|Q@teO&htG`4{o0>-^nY3{HT*_i(uVa!y z*x{o9QI@Jk3mRS~wEpjV>Rlyk{@_f-WdR^rd`A&^f22)_UU$={v7kq#%>gN(zD(%K z`lIhWX^1{Y{3SNF=~4;0jk@Xi_)VshpYA);P>JUa`x^GM(@&;M*h`EmeX`8m_ruRu z9UgMuPnXp^;u!LJYE0*chW9HJ-fuixTUkSH8tw^NM$Er&49okE_wB!k0Ubc;2(^EL zg$Sh?@(9oG!R~EE%6%(9%eA0gq&cJ?jYi;N|Izp8(_lDy#|~B~+KpDtXmktMv2=x$IV1=5vr(9^w@vkp18> ztD3O#==zwir?0o8Vo&LZ+NTF2H(cx4OjfJh>N$M=J*VbWM^i{azQ?@d1=oao_dn%$ zcbtsY(+wM=yc?XP*W?tuT3S(gIr+|PYh$Mz&PviGN6UWDnee7RddSN#*r)a6{mF0~ z_SL@xx_=JAr%-xai; z#l)R6!^+@p*bm{+)Zk9PSTLyWT=D(cEn}>aQ)8XP^Pj#p@E`lfTYAsED;TjTTUfZ{ z)N1}TT<@VW-xu56D=fS^IhAD{@$mTM)XhMPL!vkDmy&^7h>a|@)C#hvTL1Aa|5N-& z2D8o3VtCtnrV&8{o@y2CuYtPK&3f0v*B4u9+I@KEF!rJ;$ND&xohZ-KOxvQ$6j+#ld1fl zzgoq?v^}6_hl7yAIsVMEBgJ49ac0r(JW@*ZhX^McPdr(^J@*C+juF_Gc%SO72y&!) zjGY>vu6pS0m35+jJib64W&HCj?f*zHmB$|s4b&<)x2^iqF)X%yKhNyY zzxK2x{NeO;>$SdL0s;cGJUxHbeevtT4clBE((6rPzKfY0ed#SKiNyYHW!m+d^{=1E zUjM^@ec6*|m+~(KmsO0EJsR+}`;(pc%K@(zK zK^-WbTSbznF-~fp{qxC1C1oM|`~quf)y-F~hlW-LUkgYHy6tOz{MA7*=DZWZPxO|) zbi{fW@g1d-IGrykec+Zd^STbY$7Y6q3nNUG^M_Vy3TwFh0E zhBf=tEYqceoEcpBy27shV(}#QHw))-$;gW_HE^RvtBs{a=k8|TKF70HK|%Bt`5pM@ z?hn6zXimbX`c*O56kmnD7!{l08&v{-*tK+a6`u(<=3wm@S;4!OZ(gmZ``+tlU+3AY zPJN9>^zT3D8g^ZxFGPM9+hP6-dcF~_2~_rqbXUVShofA7buj33ehu|!-U#k=rkDmO z)t$(^9vOPFKh))u#Sk_LzG4=mPgPXPZ;H&>cRzomtib7jYM9BV|Jn}O^B4=0Fx1fJi;m~>&2 z&a~_AFz@_7AzZ>q+?2>JLWTGa@NB~Nsmc^WH6vW(nfy79jAirzD=(`w5u6TJsN{^X3H!b-MT)|T?-QGi3 z3aE-K5lG!;n|SJCk;JDILH^?W80hy!Onenp_R276?pH*wh)bdLnh4>q=tR~k6}8{@ zoA2t#WuxD|k(yVCx4^mD6~E*yL;)4MFz~4N+=ABA;uXyhVBpkteLGXI!iDW z0X-li5d7t;|YvV1VS8XR>eL#g-y=!sv^j^O#Kg`$Wof3aR`2}=ZN#f&Rg?t+TPRnz-KUOI( zn3Rb|thWPpMZQP^-pQ-skXnVYhiaeoqb%3V%#&$KSR&(~hp3w-4JTLN4SBv~UIRO? zjV|lK>M4dFBeT&6>rFV{Wr5wGs8RTkrULtSvg8C-6b;cj(Hk%i;8PWV-6Y|46Vyyq zIzvccbWwg3q2c{M!!|s6Cre^pv`?^(XV_Tr0X#aOZYRxgT7Q)HP;eN^t&HQKH~Hek z-JsZZ>K0gc$^l5E_tp+iaSNFXQEMgwj1W{H12L)C%`AYoC)4)e75h-$kkJY3C;;&T zv#G?O6j*aqrt}d!Wmf~}@{V{*3L};%ZKj7+hVy`y8>t-sQ$L|kyMlwrva-4Q?gMy! zyI}tp=-RFf5emaowin(aY{v#W69%z$Qw!Ccgq>Ydfzan}PI%1(W#cUN$=CTPs7M;i zkq^ecGr`roSPfuxF2qGF;~t^RCf3x~`=%pgX91Htdcpg*%BvY|0pBhu-I+Nokwq=^ z^Fe8O4OcL3106co)q-O0u`@ew4NaUX8TGqRH)kiG_2TpcHm~-}<^g3?xCt}cs`O`0 zjlNCzQCppz)SE+PymvSUmG{hzofesVQ+V z3{#CpQxK8@JiM_CD7T?&KXlDAL8JOLo=CalK3nE^QMfC-u>kS~f@2XC0!apW1) z#Q;#&sE$BM7fa4}Yj`xPv17;#p#YP-gxBj9vqp#BTlwZZgq4r>;rHLe?FYZE1zLsX zYx+1nhDd845dKHJBk_NQOL$a~WcAu1QMYJAA~)hHK^>>e7?*i#`g|uxCo6hWAn!Gx zYj%-kJ%D6WK7z3uZwUs(O^-|Ezv?uw?bp*Dn4cfrZJh^oy;#hm?ch5*kB2Z?;j_|CqTgP&+yfe?){$Ct$I-Go0Syh@+A=dR?t z36wmt1($>scts9k1ehcp&>wHzQ^A6-vO29*`)lVg+u%w*9hT-*w3y3W<1PfD)2&q~ zn`eAAo1Q)`U;thX%E+)Zw1Ru3%?kJ4r1X$O<`d6XkrgScZE-$EiWYj(?(!rsx5lL0 zV(OGh&be=Uy3QVKhen^-06tam0#@ueB?*A zp0>{=&RooY>uDQH?%ty~Jydn@Owo_WAF)v~Xo)-=WdRKY#4gvuc59IWQywUZtMPvT zR5NoC2>fKw0hn}=5)g4PpCN35)AWZasv={Ue7HJ6tz(rmpSNa?Yi=$2=`Ee@9uoP1 zR_I@06CX@H^6TuDZ|1U&%dCYP+}>0)bVm@A(t~&6X=6!f$i)cO9>bf!q3Cq~+FJ7{ zcqbc~MrX@FcgD2`PeZ+lCA^4q!}8qOPxjG0TVt}^ro4tGH-3JM$-xuht=tG{yqd5o z9B3ZB06_gob6(!U?~@rv=3W&2M2FdHHlkj1T|yoynx07cXZQVTZjM&(0u%h9e_#w{ zZON0LyR1W!?;Lfy@0NQxC4+6S4oq<}u$%846BkKL-kqh$fjZMDogKj-Z^K^{-UXe1 zp{x-i_gr;Z$hZ}hj`#saus0X|@D}A)CXjiHCvre?ZvkB@eT*}Ip|sw6@YB$CUPC4| ze6nwaqH+r7C2eHW*EH)_t!ScuJ=zDaAunA3<=_cBrEHJ4`vs6V^IDgm&F}ls!|F+u zi}clUJ6UgeZ*k0~2dC#;3wJw^2CanI{%dBlMO%2~ z$>DXZRCoLPxSdD(Kfkswo+00N2aMG^Y)92WVkiaHS)31I*+Hbt2!TO4uCk3))0;-yI!#j?$YbAWB4^(xw;|O9^2?a6 z2i7`ZI#&lUelOr$`VTZcoEt`x@D{Cta_1?xdexODwm4Gp#si(qaEsl;ATLAmBSdNxOqc@Fl%)GTm0q*VvNnzPhN_SD3J@rrlp^dch+BO1 zLG`ou2B;rBb3Q)9mpU_;?d~1U+42?)&X;tLZ8H8R>Ls%_m+QRNJDID|61kOA?Gf^< zW&9pa|5TI=lKaS|PIRCn`x7ptm(PJ+c+C^;*+Bm*yc>+v6YrwHy8|=Pq2yn@NTg_L zqOU$vgv9W4*z^V2H9Pz%*txXTk7w1*$fIo;ioqZ}oWwK2YNPu;Go7>F80#!J-xa;V z)|X#dL60E#&Tt_o48ga8lx~!t66}LPQ|Sh}@Rn!?j>(>Cr;c8$yG`2>1Xx?-wIiT& zACnBmA8i!uhO%oC*nmFFLY$`u86{h#RC8If?{Uo>yDp=vUto;=bIJlHt7yNl!deq> zmaCZ^2|&HCdCg}O7t4?5F*_*o@SAQo_!>AJFVSmo9u)@$+R|mBQ}MQQ zp_f+*hf6goA51@Cl-fldsOp#;wedH%2Oa)ej&qvAK2ffe?((%p~vYNzevv`)kya?zw+dh#yApc<5ri>FWpkY z67eexe?VRZ(@;tbX8cPW6@TeC+4%;j)v3Jkcx@YerH7l`>1gsg;qgw{q;kY#w?~j% zx#Y?PgL7tk%>0ttL|?DlaXXXQh%p!LzGSvP7k!1^@O8cs+QB$}y^E8#khTW0j8<24 zu+i862c7x}qGm=@W#)1LWKKWVyPm+pssL@Xry-Y%@;HS$9dBnua>C~*8;CtV#W033 zr&{_}kZG5Vrn?sCYxW@X>7s2B=F=qcny~ZQi4Q=}sut6}9a7`OrZ3?2sCYTyBUDtv zeVhxH=Yrn=n8oNYA0pqMXP5lQS`Vk!TC^iVozOqNou@e`o^qF2ix5{^M9%TYcR-60 zyaAEKwYB}Q2|u1mKZ_jsB9btfV5JfE4H6^{LgZFfeR(Qvo2Zq4**A^Dl7|CDvH+)q z=Q;_y;EG~VKb3>o=Q7HGe(~84TZMli%I&ss{|5 zUOAljgx!K88?godGbWKB2__o$rd~!e8iW*@6@FJjJi}KJmSqd$Igc8YtfsP2mQo?s z8~Qq{*uOo_e!gM#yp{j>SP(Q6^met*Yj7&5qT`e?sdKmx`S3(fFy~8)p;H0#wc`0^ zsid}#o&=xn%;IFm+1iVD?1qh1?zC;q#=2O&I2Z2m-f*XUQpfR3S~W(8BRIAmA@S<* zPQ8kxm%Bg3Y3`2KXBu~MOzsTqb(GjT_-6JDbn!)#WeloW&1D^#A;RHGPSn6y4k8n% zTrr^mK6n|f#+RqiG>NUK6+{-gMyU~K!a8)ZG3n*-+}atuF@#K^>EJ;d3Mfv3pk!PH zcIO-*wh|E{AVmmB5BHe7g{_QU@i~ zTXm4qP;Rts&_~CTo+@j4S-frD1cszxG7N+yF#I^-En*l&RiNEC0NhCg+{dM)TOk$z z)qS*t)6fNa4K+lvZ~@@80|kq8B;*R{@Rrs(a6H>c28ZZsT5NY(S66{DVJ{-aM@Ml$ zJ6M6&kj|~0GqrlV>Q&N+W;Ytj#vo>Tjx59G*!&bHDns z!lmb8{%v2iSvkfcsWKTOeh8Otp<4T_L_Cdxnm$x7SBOSL6`eY^mtuDLI)kw_ozXNW zi&2+3kL3s8&UrlJ?8zab(c$XWMzVq(!hDp|gwYs+Uj%nRUGBWa`JG4xR&^FAqY9Lo z+Z#j%&?AaG7!SB=-cD8pm3p0p;NK%DCV&N1A1}&rJMweM6U0RHW-#k}3;fU#BPH11 z44HStp-ebxMx%fsrIfbjG?R~BkkIL%rhz7jhPDmx&?8U$wpy488Sw{UZ(hipqs9i< zClcs#huQHz3hxp2;Df7SXYFd8bko9}t=7BySJd9MxQ23&TW086wEH3!T8zs?hk$Ap zbkryVE!Uz00R=3+gz&C`AQEDB(Zx_&m+%I`z}B0>HBd3_M}Y*0Oib0-&={B6NlgK} z97JrCROdOCM9XgNN;XzX^p>F3SF0X@9m;D(E1}e4CzOY3!4X2}6QJI`(F`#%Ym_>^ z0c>i*0D7Z9nIk@ccmDw&@J|Pp3sjWzcxF#TztOE#-x4Qo&)f}BC8e7^H>hPTWO;L9 zNoIOl{VhgiUO`Rcx2<~pAFkfspswF#U8Qf}wWagiwu7i`51rfDY_F7k+YHi5QahY0 z%@1;(XM1N(K49v-uJ%j{j&jSEw6HeZQF*A$KId&oc8M>}!SW21#D_N@+mSi#_8J;s zu;=`KDkwjOd$qU1%Eh_zm$nmylgDCmbyhS0)Pje9M_SeqHUI)mC;k*j+IB;Z-^E<0 zWHbI>m&(5s9RNJ5Y^pH*_q#l48M$Uh!Y(=b(dYe&h_iDV3eGn8;IF?kti-1#7X^2W z77*XX{E#Wg)vDT%*}0p~0qB%01pRLFJ0Xzdxz=a-_z;%qA1+eXbYOrVfg=ifv%ia7 zD~kolo%j~w?Begow10zVtOcDS^tn-0fJQ7U?>vgha6QkV<3d6eIjm(*mD_lK#@>Ys9_uK#VF7#|IJxBWn!oM*4a5 zm=T{KEM8d75^tx2)`I|`!w{QFKkwt;NvRENTU3CFKB|i;cuVL8e~8za!+vM|Q;@X| z6!y8Eu1r5Wy|SRw8cR^&*^*+wutGFXer92{5ugKFKvrlm(OM6VgBH2U8KQN#ug58j z{N6;sN#0F8J18*Xpe1k=JD%@NGoKw@p3pqt>V`MOl<1HIaT81?2t<4)dfa`WWl&-T zT1sIeP2SWC6F5z#rX-lY zuC`FV!x%pHD&7Mf6pvBEn+~E3E{r2+dGT1E^BP<83C6m5mdPZy|GxAI)p=`-~@{P)~3ed1be8p15HbD33O z7l7SkW^6Wu3U|KM$M0wGMwJ(OdCUp&f-*3owm{E=C@}*BOEFL^Cw6`k8ki{mrDZ)Y zs@>OsSIBHfq*D+C)fv!9OHcxn8CIuSS?l3rFGVJEv;!IKz6W@hs=0+|(H0|>5GQt` zGPyob~!tt;=?WWD!2kkPJXzF6FZ-wIbe#&6?^cOjFn3ryjm3PCs+tt{VG zBr&*LD9=$Qq1k(Qh}PaKtDmm`sjsHIG?ZS{BV1&QG-xQLsq?gQ8}H(%?)$txq~t6i z7u10-c?0LH{R7vjA85-bEJ|#2~I1kuzEjBRYD_J**7raqLKFRkT}k7*is8O?>j04h)C(b6&i& z@D_c7f_!S0MQ;s@VCN=70Kd0_6W9p3P+wDCY(|})_lJ0ncs2nQ!g~63evK!^&_Du| z5b5+5m@P`1strGjs9jM7lRJI2c#1=LDW+9wxk)vzaOi-Lek$ozXs4p?p__&0ZDiED zY;!KZe}`*4caig3f^SI@Pr>+^%31iqX&NAQL^ae~UJ!akhq|n`=pHNbR;_*DP^+%X zf=H@^74%1giEUjQcy(G0&IF}!3b zZ0gu^DkxD)4$(u7G=X%8x3{-VwKwxLHgnV--WXbj)0-GBy$6(52|H@wyb0nKyc=&6 zhj!?X0js@_pvxp(S)QZR#x7g~whY8hAkmNEq()0S@}q>s!~iD*{|bDNlLGtkyghkN z4JovrU=ub!i;F?vdfC{HF(XhQ=Q&NLl!Ix;ICtNH7;o}MSf|}fyD~DN6jN?zeXF6t zhu%hhr^ZEGA;^K(T&qRA628H%>ZGpy2p8AUGniJFsyS)3EZI@Y$RekqjcCMfVOmSq zGz}Y~**kc{*Wzp1`2+-cO^M~)_=WI6y1w92(E;HVkav{x!$7oMgI6CA*h9ledBQkS zj;0THv!z!)RdZ68jbwt0P_QgSWfQK6w`bf!sYN~rR^|gV`pQaZkAue$)MLo)Hzv*DKPij;RFP;o0bSW_g^cJhKBD zToNE&8+v3!`L_HtS4`lrur zUB{)$&>2`_s~K%iXp#I|!OjQp7`y&<1X3W&0uBZ`_QC(;(`KG+rCE6gRdy72`8Qmb z(?B`&=GS}*quF%8NZUNmEBhM9^WE6t?_!$3f8i$`F9SBwht0i1ZF(hx99Q7Y(6h9W6=!rL(pn$;!moz z%3ejK_ot`YV+YY;NJY^ATBQn9qa0rV{VVEdfm;UKZXpyh;e7a-9&Wvz(3+1W;oT>w zi9~q=l-;9o*ulV&KUB{{kD=`D2Y;GsYa*r#%-P)o^P9S(oYIX~Tq9MyECcFX z^&6x}_Ur?B5}$NW22FY3bp-my@?_bQIxcdvk9-ZmP~u-oayiq@>^*~f8@$T=+>E=< zfVM7+Z{V2&q1%SA*xJ0r+bb@jlZ8KcVD;vNJ2+;RELdLZreg=0TwAIa5gS3>vZg>$f zIydpS;IZfx>*>_|jWsMj2&fPW58KlqL?=-e*wK@OU4$O29AT?q8=S#WKkNl{Qh7!q ziG_&>c(+ko(vZL|>fS+4f;;2hnzu07knq#&rt?6wF@vp>T8mLM`?_qzL$~|tfbEM2 zDN=$nfHUsoff*$W7?q$V+d?Ri|CmWX^BjnceGLwdc^FKTN5v7@=q!3I;r4y}0ifs~ z5fM-sV!ah|Z^vZhhfRJ26dDjF7X&>H{|RnrLqkVFR?FbyK;@9Lm`eFQFZzX8AJ}P> zId0L!iv@7b+5yoUR&^{1>>@;cJv5$NJWW^!`vF%sn#YM~lk!2c`DDNQHXEAWkm4da z*i?e~GoD>LRsrYTb{&_ijCZM6vK9BUMs+5x#O!qXN+SR*` z{Cdy(ns$yc4u8(Zdz~=ru=K6to&M0f*Qex{pKLAF*Os%0IiWH7ct=%`Gu0iDN*=Bl zZXYTN@K#Rg*_*DYu*(JK`L<^&J=?l|=Q@{-zfe=k(<_kDU@n{*&yMdWOhIjjLMIH% zK_n&x@T;w;!|Z<|*mdXyEJWs#N!ADOR@f}$7Q7iGVBs~M3m@0glPTiX+W5oIcwO1i zR1#ehWl)Td9L6g`4NgiFSuj6dVEeYk^3iOO9#^CnL{Nt}vLiC{k@FuQ9exvdB_jnu zKvE!I!@mt4y(3k24qelm+Ol=c0Vg%lz!-+=3pkW*bMzYKf-^7BqaPhY*(f*yr?HK; z!jAl`!R`IlyF#GDoT{DeR#O?Z_EpOZIy1eXuwAqtb^+UC?V&Eyo3GDK>9j&64=(qz(91v~4>hi@>5n+*gm{t1=v zg?1LtfrhdSLG_=mwqabHck|YJ5Bp&ODBH65ee=tX;yz za+H&4>q5}dEun@508Tp#CxfNc9t7h%C@+f8a3U|S!&-{;4=954_#>p5>vaiKlUaDd!T;`?V6ZfHa zD*h(=8$wUMoN3u;RKcyBtetl4o@0mjS4PqH^Az8ZI1#X}U8eXi=pb|^L93s(4ZN!8 z6^sll#lHYH4Pt_vVZDb}xY$;8nQ|a2v2T9mDymV^3tb!&g8f!w@KtxLqDv zd6P^vtGyi7`zc}}xpdYFl!GHW8mur2IcpgF*#V#(X9xBd{;X)X@D6dJu4wxpm>WIq ztH(QvQ~`4E<{S%QDNRG51BoXK6uCR&CXhb_QR*o#7F9y6w?Ifz^dOH`%58QVG}EIF zVl@Pc@Fa&WNdVE2oE9h^n8E7-?xrHJSyP)PR)bw5I^!9y)XalagQG$c^vDr0=e3g(6OX zWlbgwQIzn(Y>yVy8K|zS-MdQ7fk#e4`A5XF3k>9XUo?ycOp2&$6{0{J&%pl3)OWm7f! z+h~0j8&?O$GUL2n7ctRhp0OU4|`+7G}Z2+{2T6m$QiGgtf{>O)vP5fizz6SrQ} zo!5pD+Hb<{szN*EdMh4R z7vo5+bm;Mq*Vtrfk1?AP$1<4e#A9XDIl09PkB!f@=9^x&DSgwB%zp08bsFluBHtkr zgR#XUvl{Y)5!TwhYC$1OGp{_=h@c#* zdMelIyxaJ?VP&_bJe$-vdxN#maW4%+Vs=m^&Yb={sc^5LZ7A|$@Ugv&V=~7({j_{P zSZa=4_;q;0gE?za`=lnIh8V^Q{TmUhZXtbBsO$U-tUjY(zL@0SLUGMdQ zUjW`J2D+YsVf}4^i&#^|AN(#>9@->y|BElhgg?O`MckpB1n^Rc0Kf#EYk0i#51LTF z{F9pfzi8-7ScgT6hOtYb$XdD(fYzN@p}X(SyD~<6;3;qT2n&ewR|FcMEi#Th`t=or z9>Iv5Vt-FdpNd2A0G^#9g|hTm-bOaxkbAxos9(UjZe9H|Il3ft3NgBLB!eFUx9UHx z1^|m@oaUuXscFQsZ$8f-die0_>(~D{E}^;3cTtM?(uqOmA9#gc@gt$Eb%?yINQ5x; zON8(r?HXY=kyz*{O`Z5wI6)QYMjMF$5TfMHpspfY6hTkcG2l&KuB;giR@0XyfIS7u zr2CW&M~B=a(k+OiPzSnp5&ahcfm3I-LJ!(Xq`p^CTkZ`R}rf8w+} zIC9bo@f*VID`^;_FUx~`OdKrF#}?-JrCN9JS1COH#rBI6Ok4-64@@r#H9q}AMbV6 zgSEP$gUCLB6&>zLV6U_o2{*h2E_m>}*f%4yuZ2~L9e=(D*b^&5pC&-=B1J0zsp<5s z=tl^DI75eus9?)}qCu+TEC5 z%{3QYF~-6ecQA|j3l^6U0lq$HiiTp)BFCPDsnCDtSuH0xs(lyx$1SQrrxNUV@MNqT zz%#s?kA$r#z^;9weW|A zzvsgBorS+NURSG8Z(}j0WGh6KMPT%N_hdMpB53OXO zopOUnjI6DjtL@?iE!sADbJyTa ztl+1~O8Z^4D+6|o0>-T~d!U}E-`+e|c^N6bMQ7{Dq_cE(sCv^yr|^c)&Huf(_DjLv zCgh*y{%;fV7sl{!2b3_ieGT~Hms?=qWzP_*KyVbg3|POk1Gu#pO<*E-+CDc8Qz&O) zfthS(VGsszxsvxEPW5Pd`=?0ZA~ZZpFKs_z(N~z(b~SXRjD{x9xR%_6W-A>^wZCZW z2tJu~cXYKudiLh^usBKy?B`Z^ijk&n_3MLN1nI_wo9Axu1^<|T?_E<*y8^=c$?|y+ z-TzNv(Z34oKQ4~R@q3TKaTDvxsRQ zW1QbJ2QGv}q(4=-5%$R=`nps7`$yLuFOC29jbIjhfwE;^zoTAz{dk&|w0FeW>@)wC zH=kSS{X?ij`Q>ki{&zU|KiGTou%@zYU(_laN)V$oB5g`hQ4kRXkuE8E{dhhOY z&pr3O`#%5Bz|wDJt~KWzbBx~@)6gix1 zh&pqII2;u53pugQar0x^jUy+GUyxNUYt39& z*IZMKcv$(Vz}$_jbV9I2uzmE?kryV;`)Jq4%1aB%%Ze}_T_gL}IvzF1bu@G|smwFm z{E_v-)t82xO*zXUy_IAIujh2*iIets3x|7$HxFmeMH1Tq5Xg zn*+idDNCxr>fMU}yV1jD>sWw-o#A$*$P`WlRLh*`CF-{qqkdT0FC3QrYP1?~YAJR8 zxy+Uman$~w+SvXMVyJ!wLWm&R1^oC<0E1^pz|Z~Be9NUD=|pK2Rri)^ zn(cql!p?xGZ`)Hb&|Vu{4ukrniq94q7YQz0#@$G5fW)V~#iUU#axn_0952 zFYEdoLw+%Y z=DFc_fWsL;&$RPmRZrd3A$e?IsT+RYsB+uq_+`NK$AM9U|8Z2iWv{`!O)Ljc z$khh)7X+Z#03g9X521m`EdC0_|JuQuldUI!M;Z%{Q&k~`oJP+hK@7*N008MNVi1_s z`5(Y~VfrE^BtVJvA9!2nhI-@@0>l(NPonG)y8aNvUkwqmgMe+L0NnMPF(8HI zC=~$J8N*=ESFy?9HT(G|*&>I0$Wl4bk6gh3s|YzbNR%!+4xq{$5{RBbyK@)uFJ_Dk zdr;(w6SpK_&`cv1QBqAk02oPjcE}PzQ?e%(1ki|?8HViAZX)ai@Pyw10}kN-`E~&I z-%Kj!KADT?9A$Wg}X$75F-Ti#2-mnfuN67kx9OVQ&CsrIRsO zMUn`asyA3gtnZ8J|6vRMj}{gB9*kkqH>f%B$ZKFCD=jX-yz<_}(8b?(y?T`8cjtcD zuwPo@vb=!Rxv|%rcDeWB6=$s;hT+)2YhvkIdBV4|aZqHUFTIm*JGz-qq!}#8#9N zCt59YpYNZ`jtECG%10Vp73+TGcsIJg4!owMdvKG7ocyvX>No2Htj{Mraz}4^07f(I z>d#q$Kb?X|jm7D$D9DX;4|EV)pYXwmrwSl!I@}Q8@vffF#>bes$5pQ|Je)H~=H_VUi zGqK#grmEPacEvi|n0ePDUZ7k+i*bbN%h>uQf#%ac_JQ^#cFe&4g@`sot)pq7kcgKL z4j1ird^ggbwd3=J_q)#i)-HNV6Fsd3*{&4um&)JC1H4XC3nyeh*WCoNTlstZdQS(B zgj;#n()y}S;ZFJlgcura&Kt2y_4Ls_ot|~wvoCqsK)&kXyOS^WTrFAMT5fmltV#OK zCs`+}dNCfoPvVugx1Z0_+xS|^#U#D3MBR3xukd4Dm|b4|zwC?{Q2+5XdyV~m!hUz# zzPoMzUx@`aF6ogP5Q@Gi3hx!dUMRhK^I7j;aNen$?BGR{E$5$K5Dl!`uiyf))QmO8@Gp(g2iBEsWZur&`B1tn) zKLgSd+IvDJ=bLNG2*2Y&aCu#UNffOBu|{|FFlYTg$Fl#XT!fRGJ+46LL^o7C*!fDh zT=28!vKtO?G=KN9egDRv6I)lD+drDROhS=@pe+LV zHpW4E2Oadxz*Aa}K4rMaqZcJ7(d%6>G(RjYM6DadPA-c4e|%#|-5F8!5g(x4Rx(z? zzOX+s-1_{h72VBlg_b5{kbEXxlC?7C$dX<<(-3zP`!i;D^ds7pH9l z7DfN)PGV->{<*AckT_}}>9YR|r+DHouKkOSa`4hTV;t0)w@|*s{khD^UA!0lS%ih< z0nhIrb1)7u1JWM$^O2iy4_sa}NT6Jzenz?c#Z!ELvcCv!zR%hB)%brkG~f5xcMI|#gGatw zkna}cy9N2~gZzcZ^S1lM*APNy0}Fs&H5bN)b|<9fK|`vH%?y;b{qc zhov!l1HTtG3SNxc`>gQ2|D-Uay zlm`2H-6@=`Z6L3u6u%vs95A--F|9Yfm~;N%kERdn9dvgdZ%%*BuG>~ueJ#4MkY5xO zU&?j5_}QGr^U`r~JnKz1%yX)U>HebO;c6SH9q_dv_S-VB|7300H%)GT)%flIfcz9x#a)P89tLQDz-Rk(o;_MSyVOO|!5m#jI<^Aa2iZ z$*sD=;xxXWqLXj$hcIm{>s5J3OrA$$TtDsIkmqdmyL-rfL)9_v3c3+&1(;wC0;)GM ztG{_pwxXXgL^gcyLA3!`R2w&4wps*Fo>rFBcty!U#poak4+ zOZydba*HN6M22b<6vZ0z4g53>Vn3eUV!g%HN+-MeFFObkcW2R~mB?CcX*F$uJi9z7 z_Ec5nTS(X zutR*sbe!y2b)D{#jPuBmtFw<3xLjjn&sgS0RLyX=2lnlDX-bjej_} zZcXX=?GM`<7P`kLH}6}MnOR(^y91P7B(GTao7t;D9Je(uHw{1MEY^yH{9@+jx$Vdrqwkn_6>owrp-$9Cg z8#VaxWKZLFD9M{C$JET3ADlrPE4rwabENr8s2pD%*-h@rvh96J%&HF{HW0i#7n24P68t4w~ zo@|;szNip%E^s1b?c(q;&if*9K{`D5FMd6{@Dj=jyrnV%NKyLh0%5c;DDlr_`BJ2C zeh%QmX>1}KPS{QS%%DDy81m=janrvxLFQNR7~b4Q_`=6=kB1FFK#Epv&bHjz|AAC7 zGU3}_La!`7`u;5@vN$a7Y*A6@@3vM>Wm8WQKIUJ%er%{~&8fw-<{c$4pgcwNNie)w zt2X-1296m*0p~0B?G3lK=ldbn?7A!4@(f4{o{!Wis~W<^nk8(db>>?Re9+z+?QB6E zdFMZ@?le1I___O;)x@27=lK;MYiNG&!_SU)QvP}DMc=-S1<}?>%Z?1ZHt&5T6YvGf zrQ!G7hjTlch6-+v0%1xGQEq8ifoWfZv(6mb_ceuQvrROm@aMAi+z=gP@7%&GmtOm( z=0~;NGc^lV5BLuo^PiF?yD6puAmOmE$ffIfQ?KE zCPoOrLx9^g+1M~VbSS1(!;GbDTBV<8Mv1C?JiwZurJYk>pcLYIK7 zI2nfl#A5EQ9BY%j(%itZusoaDSAAYX`C0W#W+B^OD7L$1`DTsw-E?-$cjzhKke`=r z*)Z-BGA;l6-7Q&#J-42_7=yC$uN6>fE_<$K3${NG+5X&Auw^LZy%ka$?1FDL>R;H& zw^<(lB^#}7`#l6;-Taqc;f&+<)pUbS4#7e2l{woZ_ z_woM!>-{cBKskQvQQ`^iTYC{`|G4r**1@IOC(DdNuFJZ(>nWICP#xngcL}vUB-bHC zX!k-J$a`dgN*AW$T581Mf;1MElsrgdRh}4tF>XE@r}LKUXif<`az{F z=L-vyHvEN)fIZ>*%YR_k9+vAM{%a?M$`26tUo_w;w#)D_f3@q--|pk@?7m2pC7>|q*aIc^&d#wTE2b%3$c9o{>?n3K7qv;IoP1C+R zR7xrj8G4_5yJB)FJ4+)e{nN1jk(Li5pN66o*K|LPiiRjNKY%7B>@ediD-A~m8mq3D z{;;I}?=k%Ua`fdt+L?#^tIj;hxUAcw_Pnod<5?!&531sZv5 z@5npp=Z?I8)+~G*rz-sDr0!(d(pNaS??6?+8Y(KUT>rJIp1p#Tw$@7D-VBR!PO?(2 zez{u~?>Uax4#-grs==YTk6?%gg@;#wHjuQ6uw2&1ZBV7M3^5MS;uUm2Kb*j4kQOQR z#90MsWl-+|GLce8ZH-8gX+gV40(8<7?fkJUnMv=0jnc=CW5TY~2G0K0(*y;xutxM@Eq~*lX5=MhuGGKV33_czG)v__I3I;^ZEweEKED5EFa|eRw)sP(1 zeuso&co!f9@ILIQ&emRhi~yao6?b0f<0$Z z)j8)1)H@NDj~w^iJ*$~veDgfZBbDv6I;B9VX1^m1Z+6IEP0lfW`T*Sor?txjxsuRH z|4EuH+YF0_JAA#b5yKNOA}W-=m#f7HrKF*e#84x6r}qrtTz<=tty1`p z1RZVYRPKssYO1eIP9m@9zQnr!WAiac?iVPcEe5^`1)L?db}bvRFI>n&GBJZzJTi+o zbW@FTw zm=e>u4cHkgAfr}BB5WhJ?gt`jOQn~VZcKqYhhj2h>j%K>VX;uz6{@w3@N+v+9vz5O zgn@(YgynOS%``DT5}u=lu5(Gg#7o4{ z3a%zPJR+H*hEfAWz*m}A@~Z<|>Dz@(Y@|FK$&%^7=RuLnk5W)zFilXT-*JR*j~|;R z0M1}Z5U(@3C&Dyb_cz9~TVZi>HolIyino@^)ub}5MAa)*6a7mZ(M6;&pS<=#U)zED zWclWCdxN68rys43$DNMN2}phg#U`68=70E7x<8AVZElydtEkL3Ix;12hl|tOodn%o zyw}z_Nco92eu(Rl^qyF+KT3*G79>KAYxo4u&&4V24^I|mKM4E(Bogglg zxYkS!#J%874q@Bl19*PZ+6Ov*IfnCjSw|SbpBIu+NV6f(K_K2F#LDC=p$G@~@dKQZ zoix9Bs~AOWJt)(V{SDwyKi9+2!kSmj2?!?j2VA^NVKvZy%kAh5t3MLzZv`20uc21K z2iZ?FhC?Hd`C>ziGcJtt$wT&|U97#xA1%SC_829 zM}?kvd`kcK61%UG>z?}Xgvb3G9_5z{-=A`!L8(BQo6i6Dta9I{d-9ae#T|W1bp3rO#7m&5X;-tWKogmJl2&I{yAiKC~23{`z0L$;Vgv39It7hHSx8*^bs9@|O^hC<4%+j)JGek0m%xC$+Zc7@X>?OU53)f-EekEMgw4b{VcdtDt8`^xvDeVG zaHqK}R%K?@m4-y1Parn{ zAy*)8NKhjWMU3Vqqkf(qBBjW-;|~o~N57Keo#;egp({8=^AXpGY7It;H(9-90I#@j z`PO>XkFiw-%naY?vBVtWT9elvMH*)t753(?Wmx;hDlY@XjV{E_L;3*&+bpafp?AI1-9A9#m@pO|7C5ElTON6IJaWww zi{bVU1}h%E>_A?f&p`5t9o!+Tpkvko(qnULgCr`aKesKZ&CErJwSnwfn(!u*_!FQY z=_Do%_?z~gHS5YmZbZq$R8gz6n0Okk6^b%|7Tdzj?Gu(Cg?$NIaPcfGLbhJAqyH3q z9aS&L4`MBO|1LQptpnZ=H5FY;ov9XU5PB&;ptj%)M0a5hbZ3-210b7~ARTeF=nx6` z=!s&R_XN=GBhLt8q##vHjZ}lVL$XznGj-M%f4&HZZt0bvI1Bl@9yG|PO^R)etA3x$ zObB$VTR$MfANgtpC4TFxrdx1oVDMJI0V8;O4GkOnzF8F|&U6nkF!q!pY zhwG#0AAOEa=h4fH-#PGJEoWICU6R&NLG9*3Ra{AQz)?MHa{n2W`e^-8>@u&HCiJM< zKL4OR*VlVAR6?C{3XseFjQQ3)NYT>A6TczsD%Jn)RDhO=1Wifmq5iwEC# zAO3l}Yqgt2xO}X(#zMJWbS#v;TYZD8w_&;W?qof~w&M?8WLx%4eK-<&7btb!5nZK! zZFO2{1PopPaL!|4ix{zkB(57JCmW7ayNW)|NTzQU5=myrwL>^Di?SjLK?0{-S$qYy zogpV%4#JB>GqH_3-&vIQU~td}+?#?$Iku}JNYD^43jaSRmr>NpX_~<^m z75*H2Q=pCE$FL2C_igHxDNFWptoN4&KZ%#WCeSOa5#fcyzBpfmIyS7p zh(mK&0P0~l(&0o;$ay5YOcsK-{c5EFd*1Af-iTU~*7x-_vW&+e2RXi`04T-Op{Q%o7q=Z6NK8@vmte5vHu&Yv7#2tFQm zIOox=_B~AI-GDWU>h8(%87d_fE(J(6$9*q-OIFohI6@33m0Wc{a%iVMb8X`;`sSpN zghg8wk2U|yfcx$5&E_3gplC%U`R|~#5_Fp(T31TAY5tz0&w3?DVH$st?NQrnc6-4f zK|kT(VK{yis}hojZ|a%U$Q_)SGy3@%Zg$I^8UBV$``MOLk8{F~@g6oaG;f~>bn)~@ z{&1C=UQ=${Zc;HBFxmH@yxslkDRUi^ zM^AaH6T7#vxp2TM^q1cuA}151%nBJ`pMvt~EYPCpGe4{PSxsWL*c$O=3@QWpw0IF{ z_Zvss|JAjn>~`$D!+CSr#z>6pBw|5u1u))Fc|-|%3@sT*u(HLs0jD-W=qHQChk(XJ ze`y)#j1ge!{#N!xEPl^;C?x+!y&i9C`is3-pgs44C%ZpS5w@3=Ja|w9Oro#r{%YPJ)SRCm{c6 zjikohvTgTkrWp#Rvzm@q__9w!Z%3wLL>CV?yx^# zaH&UF#v>DFJL_XC#l{;>=ofdwCvG^YT^#P-`gnd!#T9Fkuz<`T$Xl-{IVAujnrUUVTf zQQ`_%wT+>8+4HVewA2u;#1`Tr0Fj^dxQx9AP}9A3Bw&Fw`n3yPV&q})yZ_lJ6<3c1 z&54FrD6wn)Nt~(J>dxSeb=3y8Aqria*)>qnZ_m|#((ZOzr`~sx+-KlbMk?`o7E%!v z+?(%9+bU${?|c0E!l!iio1g4?Uuz;vd1^aeyI$SglvUh!BKJ=C<}uYV5XKM;aghRU zD-uApz15Ky}qmf9rN?D7`u zPk1K)aO>>4$$lccU*qdP={*?<8QAqz`-ycD)T0utjyCr#|GCJeVDuu{~L3c8@Yk) z#%#S%**JcUYM1Weel~jZjlRVSgU<&&fltT+khf_AF^#SSAB+^ACcMs7LzxJ3uQhv? zN^E<8KGoI%`udQ1IP~KSP3me~6MyY>LHv7zR{vdnRUf&Y!dY^fvRyCUHY6}Us5q1p z#~+?lL%ZSZMWp~8kZYrFe1p=Nc9Yl&J2DAsxI28tB>-obTL!U-iKu3a5}Bmj~|7E?V8qb}e7s zsk(BzM|zR^@p3^0KcVU-P1PmGFXKUp57TVZ{ug)h^7U+{#^5Prdn-RAzM)LjE#o)K z)aD0vlsdQ6=;55rH?o31zqk`AO4WJMq}LtgJzm8XdKe9wj9}GU&qs)l>_@ZG3=%MW ztvx`z89jP`z0;_T<($J!EUnKvNK@ANLZVl<(=g8PSoUlYAkq$j#%tih*6mAshXkA}>`>{YQ^EWl2fi zE^eX=Y>YxmhAPV2l~O-c%&b* zJ&+xzT>1RvXyqF^t^9L>nk{||(iD}zKEitbTrwSjqfh<0%(;&ik%V4P*oUicZ;Hgl z*u!B$63?FHm#^m1j}M2!+I4iHRVm@TW12n#w9W)I){Wue&>sKyZ>M8o>O!9EB2`Q^ zJ}YadWT1Y65kf5AsDq+;)c+_B!7IB=V<4v$c@yCa&fcCqQQ;=X9IcRwzR%v5)Kpi8 zC2i`J*qn^0F6>*d8aD8Ja_#8q{nq|E1saVeo1)jq?$;fv?39%cj0`0G_G>ai)s3#HD6fo5Kj!FB+m|<%@0%?kl{>C?YkKBZV6@t6 z$I$%wBcWU-)iH7*&)`D}Bh+X$@IY0Fr>Ti~i&td2xUdcefc#igP|CPoVo*G78IjbF zR}K>Rs`T8SeVU{WZWC=J}&56IjQsUCYj=LQzIXrpF)OxA zqt7hd?C?m)fd8g9AE}#?6@8gb8TwvDwlB=W+)8=w>m83SY|_N6PQh6pc$!VAYcmS4 z*v7Be*FKkLo_FMoZ7^@#E-AFTt;bXNG26mJ)R$M)H+t_*=-aqYG-{_^ao*U~ye0iq zz{|lHr4ohCudsYlhHOJ8NEyD0GwevTw&5X^{czJhK$l7Gppem_K}^H?HpQb?;68Nn z%|y8mK*3|v6D?7Jk+7!56sl|dee#88@-noPAur7URchetR-X9yb}_BYI;kM=Bt9{_sUYj1BY zxEZrjGPbGU-K%utx0YF9CjwILTW*ZQrS?zT6`yj+)-ntUs57f@u(He6`gN;aiTy{r z;-gxR8}^pxo>r-FEAn2MTISU-;a=hrrQhzUf1>i-6%H^0%$2%9UI-TS z-~+<$PkHZctUspZf?QWT;Z@>&gLcO1kGrSD?`+nr-PU~K=3>9TMb4^dy|uvyr#%Y) zD1GPUS$nI>EFW(Zx}&$q=SkL>ss=9aZN={qQJZ*TV6SCq1Q?7GbT6bd?RpJIfn{ zm{p2371Be1a?_Mu#u^tLTF8NtBRwU)`HnZr?9P?>7KbohTvRGN%3O+j#;#5sFbQ=_ zP4K)RVJ2B-SB{>~3UT`*I<%kVRpydcZp#mOa`UcA!0c`)XS3F;NY}JV&0ZJ#K^1Q% zQHwZQimoNi{JE?Ye<(sz*3YPK7%_)k1Nf^YK={`QmI_f^fl3}DIeeVrCM4vKVwAxd z{QfhpKX1gz3A1KuPso#`fuga=?y})+scI7hkn(P|WgIt3&7)j3MUWVc9WzDzE*1Dw zxK0-nwFU&_!A42uC<{)sGk(AH=6xS{3$6-R(rh1N$o5KPQHx8Pw8fgMt8|;~FMDd8 zMXYyqWASVIr_hx{`5JvwE?D1a-DKDFE$<38dxTc(*fwPud6;1!f17~HFbeluo>tjoDz;%!uFQSccO|}8v zA13TzVb?^H!LEes1sD=hk-p9k0MzpZ){lf3<}kpSJKKHDMv9;Vi!938=KX>&s^ZWD zH9UkT*K20q?;AE>ZwE(+K1p*Vv3vv~7%gud%SUGp6m0FEpZ&3uF9$S~i30CgZ6U^) zV`eZhqh=39bO0_Q>{{6-JVLmwth7PYG@|=9ad_j9u;7Yw69vNY8vNqq%#=TDS?@>!gom+s3x^qkOC5EwjdqswSv8s2#FF;twb};8+GF6L!Nlz2JB~ zW>=ybx?ycy#WYHdLyhWMFVXL=`FO@Uh;KxiN;j zc#*cktNWK~)0!ZQY{%2*EF@GX`GokA;$q`3As$J8eO9misW;y$Ph58 zjiP8B7R)J7gR;q2fySdu2|A;JqN+r8tjS&4TKr}N1RRTpTZw@&;fU0)%*$86y<5$j ziIsTA?$gp*V0aNfVDWpP_na$dx4=o_{rI2W%u_V|w%sfViwnvG-=EyUKV8S0(}30d z>iP>aIqtn?u9YDgw46#Fcf$lh3)*lyw#3%c_?GXH)LV{^@>J?f33ao^JDgVg zXR0YX7N6#9joX(xKk0I{+Q(^#@UbuS(e_i1lN|M*S+Ctyq8`7?_jgwR-BTL#V_xZk zPPsVGO{)Z+{@G(L){_469kOgr7CsCJ79~V}ZQf#$rAK7SHBVbn7C?xUAs_5-4WAbv z6!5-f6qQ{ zfy^L&!qgCFLcUfgR3e$t(__!8I+x{zR9#dx?avEs-jz4e{ow@qJ?LBG6thdLrBjh~TH$(eo?u0Q2x6KCk+keG-AdU7fga43~Ln z-(Rbpfh6B4^cOSkV3X``$ksWjcY!t)|8K+n_hJ9fe9{q+z2t63+niVry#g?wH}R_z zc;Dg;j9-OZnO$s`^crv?D(_}V7;WS)>&7S|6exzMXnr?g@TCIEz03$qk%R*;;}=M+ z9WfXwikB9nLqX=Tv5_i_7Xh(SHX;$A%&1KgZ#YBn7_2nx;0+KO_^%NbRP&MYI5PW* zUZS;eWtbYl2>IJwz6f{E(~Q zn|#Ww0dxSZ-YK{*oc^^NPvjwfWC@3P*ejc0JDH7I9`#zY6K{JoH@P0iH#q(1&3qK- zC($<|tsG07S|W1=CT~yg%bTy;P3o(&w#pmJu6$I^-+@ujKUcHua7!truH%G>gke%b z>Tr%yw}P3tI90Tc)_SaYctKOeK@6IF-JNa@xFeCHT% zI39}lRk)Z^yf?3!lKG^o^_iwjA&tjXgAHV>Azs9g6-)LbY{aibUmMW__YWHd1zEaI z(xQ7XO>6~|*~kV3TWUz09Ro6G!>*ViYyvqLDJKPQQ58n85L)3F9p;V7A=h#4?RDrG z#;lEav&2qXO4tOiTJ(m=LW5sm*HMgyWH*$QoldC-jXIbi)C);p+r#>87&NC-*+4MCJ2e!bG{7nKx ziobS0nLMB2?OoSDpP%GW5Wmj8H!!M0$smaWMvRke%$1isruZ7h}Odh8$`K3_hlf-3}=QO`0qjgmHd8u7b z*?p?7&LZa!WV$Jp?bXuXc0!2sYUA(jRP{U_G771lgI}IKDWj#ZWv;kAz!j2 zklO%$wNIL5N>RckN2CH##_?IoD0k?_9G^-C;^z^o@TlgxI-%T5e6b(wH+nHe$aREg zC~K;ts0wd!7*LsjNaGOKAim}yz1ain;m`as7Vs^&ZRjwx3NWh5e=a-27_1c713wp7 zx(7m0K7ZD{m0&KdoNLBH*wL;eJVJallx_@1R!KC3I+YNq0|^|Vuo65L9^)BZ-hfuy zRRZ!>EjGFW`$SMA_nGf?DX)p7M`0GMgd-l{U8HC%ytT9%0#ka$l$^>?JA+z3gJ97#%5>new^m0-mLL`LMM77`t-A~ zHuOsCA1ZK*%!?XjZP-+#oWzF+1@R`}Bq}b_^^MsUA&2P@K2P}xm*@;x!tQMUJxtyM0YV+pQ#o-fATH8JabH)_!8o44)1T%Ooz zyslvF4HmQtdF}HWfpVVU(=j6LLW#Sw8>p_x3~)K3bttx8k96N@eQM`}fhgf860N;E z$KBf`m-aH4U;BH8{B5}a;^)2_8H~0kAoSWykLmI#O%CR%t+fYjVQO~L41zmn`%=|P-q{9u*@_B6h=j_DEEPPg^z2XBK$a6?h+E z=4HO2cdIK-t>ps#q|k_|EpMpl^%TB6Dvjq8E>})@4_IcD&2Ul~0bJw+wmv6UtSx(m z-bhf#Z;wydZKSb{Q57~+ z^Ni2Eid@$--Z4~K!hhw`<<;1XLS}ZfGu|HHit?d|qy}UL!C)YYdTZi}^g4Be%z5&9C8hip}ot^8m#R?I&<$3b%!? z%(nU_N3L08Og3Nz=zn;0wAQCx>1wT~?lqAsvvY5`s_M0DU!0EsR%&$4<@2oEJDk=Z zOrAdeDATyo+O$?RQvNNr#-l)UCH7M#OUFW5Xi7~-H=@!Y1rYEk(4M|J8?i?AO1ATf za9pB{kja;WBU2}yOCqk7sKt~F0=edhHeynq`OK_v+_6B>s=Y~O4xPSS8j4gma}Mi3 zsx*g`hoRSH-Y8IeV_I+kEl=pZNU3d-C{Ob~-iOkdNEOCOZW4tC>fCL*I^rV`IBF{p zW|&0?pJJp9C?z}!mJ_CRpydb#lX=8Uy1GBC_uJ!sYbVGNx$b$@@bHMl0uH}7Df<~Z zv^1Xnu^GKY6H-K2X|rtYG({`7g-BDI=?dqeQ;-@9l$1DY&_9emMZU(+AZ(lJ4)tFx zR7>6!&DFwDdED9kVtt%aC)>Aw?rKf6wml0V`bnbD0&0di*;dTAvjY547R(Tl>!dWgJ}!odvV^aT?VDKPavqPM#Z)>1 z7Wjbr*To#dx&dp&QoqTIK{MDPj3@xU4!H}=L7m9~{6_fcC^?C!!U%e$CqO1gv0;iZ z29!*XB9(AK0{`2i(@3TLL>@(65)3Qy4YXqpQCfx!U#CVyyBCa2l6HD({Thi5NlyRhQ?Tk> z%Y_r=JmJ2hYW)N5`Wvf`dFtH~=zElBW(DN(B9CJGrd^^!J*iHL8jr38Ot^MVbgkFN zuERx&a;5j0{XmOfzr;p>g$)Ppm&&^1a-J4T)SrB1la?t?(=Zw%a0H966(ZEsR)0(k z-j{V4Cjv$0Y zmZ6dBfVKH@q(TUC*pia=k&p{_inoV88M!Xr-67r!ceM~f$;Y4pd#)U>-y^XX-VpOC z%m)%ZG!wZ|qIR=osSG5y)&lo!54AME3>Vl|9?2ViufX4%vMu+)MC0a9!`{7PkLzxB z58I)@%7CL1?F`|v*Z~5q1A35bz&&*6zwMpC0k3VKAHS68tO*VUN%Rggt zROS5Jced6$>o&^MOe$zQ-YhkVlJ_XMulG_l=wrDQpBw4jRkFjY{8~}&3GT{67uQyu z^ThVmUN4)eqn*Q9@7h-FNiIq4a4S3TY%DjxSS8>}l>W{`q59oR{kR^H{}5d#_XW36 zu9cFGRc}rZ+sI!3xoo5LG2p8M5%MZr1$OABJ%HUKl5}+7tzyM#*$>jYW;RBx1$%@w zjOg+Z1}(QET(`r2JLxMlPh0;0mqW}zA{GXlRsWbAk%RpV`#6h?1hCFyW<%nk&NhZB z3cX)g&m&*j1n(c6OGYD5%O%S2dk6vCtw7HFpUXDj%GfA<_;w8!*Ex!vSttu$njN?v z!!!CRIPT)j(O0MW+IkLs1=H-1h{%wVVM#Ba3~#~AL{<>`7;^OO6O20QjBOcSMMz>I zGW^#;An0PiLFA-HiZBZ&ZZFV35r1_9( z7Y$SR7S44O8YP`MJJ&F6)mi>W;_Stt-+N#6_qSEwz415b#VI)SmVTI;S9+i9alvU? za1Yy~%{ymrsir3DR$NWCqskP2%#T$2cIPgg0wc|9MGl^sL8SZkyQBKmUm4@hc+4LW4SPv*wURJ+;+V31gdO@9r_n@>Zoql)l{`pk3u(FNh~= z`od^72dOwuRR}9UlYZ^Pwhq~6EJ*#BbVMKCuCa%BatOY|jsvD7usV2XOKt%mE|_O1 zgf+eKi_HixJL*IW>tmNQGongdJ(4Wm^K7z1?+VkxL7AINMo8qg2aj8sWl!F@W#?u% znvU#Rm;PX&XdzoZk{y54M!qkh$08;2U_j%{CLJCN?lj71at4GY?z|4Q(|`CFLTTj5|OX4B(u&_LdtvG(r4n#QQTSaF^IzoY4%X{^XP5X zI9fqSlD%ZqzrHWD>*S+TC9#52pai^EK+W*xo3~T1T^ur%Z4}CisD8nD5uksJhbGC^ zJs!Z@1Gp0G!R8%BlLZ@v7*d49p6?v&J3JCruoc?I;3q`-_Sbyj4t9=`*o@0M^3vj+ zBhxKQU1@}EglukfnmMsK#IX~AYsLDEa# zO52|N*i#ZX6pnL`nu_1|@~j&2D!Zq|X|=}NyW(V?3(Y>`zN|A_*cktN@5^`k{FC5L zE*5xQjXvqy6TR&LQ+$;&#B)j#v7xE0E9uF2J9aG&DY^nj^Q3$DYO|5z3%Ift%G!oG zcq?PJLwr_ZOF1Y+fEF|yx`V!>AMYwQl)drS>ILgROrY)C;avZ?AEkr4II<(6x?dUYD7L9s&WF4FjjUN4P?Okh7Q|G#ldX#cARYY!JW*I`61yj`95n+(*DD(7*;}%UZ#p!W6qc}S2SJH$h z5)h)k;nI2@wxD4sktCE11VUtl)Y!Tl_%pf6jE0t363|-N%n&w_@2c7=vq@6vOK=xi z7z@ufc_wa@wz2!?ZkNo|pyXFq!_F2QV%&(TIg}eY(BZ-0 zwJvU|I_iPE@+!`-1J+R#c8Y3~n9Vi+(cd}w+lxCkUOnEOg2f7XUw+qgYxsAFd_7{F z$CZtDxY+uGJHyLv-!~0+U)NRR?T}f}V#r#<9U+#>#3 zS`W({P@A8M1FF%V1~77R;*Ev$q*!~B!e4!zdH_eavr*^KwopG!nE{0L^Ot!27{uau zd|@@G`6e3wWG0|vT2y`csh`41ozHg~<-4h?XbsBww4Pimf|dFKm3(_l&`WSuUl_Dp zB&Y%))4oS!L&~jjK}F%klXA}H{*D2E{(WRO3M8xSu`|A-eTtj6MYq6VM4YRq{t1ZZ zQu=Mw9Q-b%SSqSOoACU&bkckzLioeM2F2;3F=s%c|5mWzJ&O7?eUQl@tdFXI%2}`3+~27u z(dP*=fz&cPPN}a7E#qYd^u%CwD8WJPc(dD{psRk8``H2?<~Aght_bOSbyYgffeutv zKde6C-`Ui;@=c9zy>I>Dx2GDv61Ibb=IY;uKWSdzVH)zyDZb?szRpZpaptwQBRPjZ`hTF@EA7vbDXJ;K^(7qmib7202nEN<6JIcNxm(Z)u0fSUL$H zxr2EFl_b&Q;0C^v*q-}&~wUNR0mmW12%OALcW^pBT5&SOL25~KK`uol%^hN z6p82>7gjAN;sElOE;-kLy0q)18X$GYaJ|6*z>64U&8OU+Y`8(E17YkkG`nOpo>q!W zqpbx}NMVOi!ZA@uhZMnL{z~e>cK%vTJISORVpIhPxn?0Kcd)V+(xV)qnWzkrz4;N; zN`jsYq#rimw+|6bRN-io#LeJx5QW{?Pk@vAj^4UPZ~$r>Ps#Ab*DGZUrka)Rv^M@0 zv=_;gdQHreO%4L99iA>?-N<(US?H${F;I_IH% zhJk~LMPS(a2&X`Q66=+l$GgH%gT21j!q?du+N~&cLwo9_qryt#oWW94YOHSMfdo&S z>AFY6@#~MKot$g_YMp+G#{;s{$=P{`_@FB&(LIQ-#{&ezqubIyL7+Nd`b#F*8dqj#GACBSJPG@FnZZ_uemu8 zC~*>wnsLbXP$V41LTwzAfbTjt?r&8SRBC^U5E@dfPRt1 zMZE{(lI>$;c_VxefF^xGB%;x>^&*e{qR-ysAoP7Q|7=Oyk?vR@8`2Bf8t@M8)0w(o z=YEb}MT}~zxQ&?%jRX2p<~nrY1~g%)jMa2Pi!^#Fyo}jksNZ0IvOwCpP-O+ET2s=2 z+8pu$keQcQKkS$;hL%vxD#WWhTDk3~9Xci{iBU z2&b;Qc5fcyD>k`nO6`siE9#-{#_(fM97Q7yp(93Z_E zaqTMNapfKrO?{1iK`@v~LiT2u&qxDmT9X6dWp>lg=&ec}~crx4MXCDUz~`0Qy7%mWP!W zEfnV-$O_AWif<`(C2%r;FcfD+`~#U+Lpn5%Vnx~F-9Zg50XO^=-6CuDmQ`l(P83s^ zAt<@CX$dcI0ffIe3;HECDjXhA&I6k3SgnnP@#~v_I^h>7u`i* zZV*P;$`-BPklAB7pC9M#Qk=|Y(0ZZ^>dgd8+l2)ys2kdfb{9tCs|s!OQ&Y@M(-Ka) z?di#I@2*Ggh;4J{N0asC!`Hm*Z~7N5*}b9C@WoG#0ZZ0(H@yt>EB3Ov7N&QQ;l|s( z8{kVny?xO5%Pm?yx@BuO-br#oM>s3KsPdK>`L|CuM;UsG2u|fl0+T^K5IcV%Gf2!K z;84Gse%;Eh$>15L6D6Wnv!cDdX?eWQFO-YX0&`GVmlXm;mz@YWh5ADm#!C<%cE%n2 zx|@M2FW^+iJ1~@eZdqo1|4M|IBq!4~%ev(o-W;xOxN7+z;f71>?|ki;B<)O#Wy9{lYqw*6-e^rq5|Q}_r#@9@iC>w<=4#euU}z) zyD_tk>R!AfH|oZY3TyooMepj}`wP+=!jLOt`vXh-0(u)u)^Kc3vdaqg<wR8GQDltm{uHc!YD0H2^jh_VdGD&7i$}S!%RY{q``fpTevA{L zpDi>7vss;|%vzJtITWW^Km`)%;T$j3DrhM*@|@rb54s8+HD|kLAA?QT^u{Iu@-7Pq ztKwMlqcmeVzFBkO-K56!F02XH@b|pARbrx9ic7;ypJZ7G5DN*&#^c8z$>->0V97En z11=x)_-63blROljH9I_jQky^}?&{XryV#;vq-mR07-`4`PdAajjf~xXN`QQ?+6ijT z#h`#%kT_r^M>uwtsn(quP&pk1g-ROK)E}SwhB*E?Kwa<$LEQd9#BhEsf)OI9 zP%cS#1wt;z@fT0V7!vry_~d^WMMpYl(KR3_qqnfMm~0-P2yB?m1#Q?$ozY?p0tH%( z6HHnYw?9DtBQe5#B$QN0ZBRy55e|c9Js(yF(z~V{XN`shX!v9BRnlkQIalS~Cw&;7 zk3{jkGJfPp7A%>v0qvTE###vMAK^9@AnFL0leL%@lDH|S`(Nv7T_mg)<7o%_0rp2o zi*Y>*Cf2aIp7xKS`2Vw~ao3_^EoRm1u%?kk$IX_iY=S>B`~y}GML`U{d%L~LkxiY4 zmKQ!7BiJB#wr`I}m>s&NPP|7}NtZ_{o0aM0RA%Lp;HL+Ff7bHK!aHqoO_7mNsGIG5 z54V=pUq2}H){7}U7+=0-s^#XbI^(c)O$8a`=Zq7*uKAsw9`_A83T&@PvLefJcAvgr zt)^!eKk|)cRM)O5=?l8Y49yYvjN~yiAyDbxxJ>^JDd>-T_|ED?=*4St`*qqTX7dhdU#Te4QwrTz_COewn_H+!a<+a3SGwV$ya*ng%=NeLG4 zZ^;r!IX@5{shSx18}*9|W|Sz$cP_vcM+3(GkfWxUyF}df-&uZP!0GNoo)mY1`U=<% ziQ%IIN-J1LAU{Mo^YHE8U-ple{=fW>wkiO#<9qJJ03Z>)lSOGU2jE(B<;IVGz(mON z4+-}AxA`LI?G}m<^z2XJ(Y`l=1LJ?blnCwo=kGF}iUN+;N|Os9!>J1<`MmMUzw^*| z%%RB(v0R)=7wsN|426cGRNe`MDTOY?=$}hZov$&#Q?nOLX%8&HyW8`t4AtyB5sm(dFE^mN@d6;qNF^6JjV4A*B#9k3)H{sx-e;U(g#cH({q zPs_6u>;l%Ck6Gxkfu~r_<;${hEoP~X!WJwN^n8uEs{*XpzZ|BqIHUvu-r-26GWzRazUbNh$?X@6BB zR(yh(Gz@%#MkyG;y^fp$pavbDCop}yg{H}pwjqm3rQH9Zh=SXxHYKR1q?NvjJHd$n zG;zEy(2(jEb9KjD7m4?Z9fS0b+h+*3JM(tUWGut{0~mbibqRiPMn+d>5UjKqV7W^x z7JqOJL;L>E1&72>`Yq8+*W~F?S7Fvj^mCuQr)#q9TRe(a`8_Oh+H^U8^ho!LlKrk$ zu^bi}B9Pl_F)t&un1?a*-Yg3M=ttd4Ev5*73F~p{@qCSmquLvOcTkI&48@#FHU6GMPM!ha}oI87J-kH00dIX|GGSKnR0G& z|0=OOBRKT@__p((k^KbSlJmjUifg9j>x;?-nn^(7cck( z1hb1u-9P$nUS1Iq6FYl*M51A~(IuLEb0rPQ z^fB1mj705(N#ts>N@=8y;Zs9$f7YRta(A{iGR&i?`T*D}QEyyDnUX2KF5Zww@0^}) z$Wng!e*D%};;`@Zy<4MUZP%}f(C9Xn+hYM@_l-Z0|{7=Zlk zCe63e=qZn=ExJiQzxW+Ymyt1&x_5aauf@pOxnHaYc`CAV^E;J?6WsL1N= z$Wk_5+RH2fNYy3~lAIJ}*XsrLuxP-X3lm zz(!%dFCGtFWZceCKL`A(K2v;e!w0;@^wyTAOFFu(V>D~;0SDEN?$FA_c>*BTGP+dB zQmi5MbzdWHqIS|RvdP+h&nNIUVJ89G_Ubv($-0y*@;Sk*?mkk}=bQfJGN}sR2^NTqMU+^=k6`f zH`SbIw~Me!EOK7UySsJ9ujrntKJ9M-KGD@FYX7$6t7Y^u_)$Pi#Czh+_5qohsTP7X zamFBuWNDs~h1V#_3%Aciza((Ud2x-z(>`G@sC0%#9CP!ozrtvprLz&&GCNDbFK%q? zD@Sc{@aR!^eovnLAo4WY{DFYk(5L7fxxKf+ZusU;3{53*MaICHp0gF7-enXP?k)tW zvt9;qifoE>EYnI%PR-OLY-yC1lB%Abx?5~g%I~*e{pgU~InIf=@p8Nl-#_sDDXg|) zIVvHkI=RsDV})|_q^U8fC^>DSagI8_Vc6!?#431vhRpGd@Xs)B!gmq+`%)>Jqoqs7XospPG;xJt0pupM?n%KpumW557 z(zG=kXLqNMOT`yA(=8l}vs>jWBCbhuHKd&E^Ems^sUlaXd-u8K!i5NRsPmy6yiE0B zFC48C*l8sO!!(FbEgp#R4z7C}LiA-l5q=XlTH^0cs$8fY_PG?Oi6@rHNBumvFTwy=%-^)Ef`zlYGti!_dy88C;p#vehvB z53!O3yV->;Z_T(&-O}djW(p2f-#1mj@(yLQTD-GGh!mC{>H4d9TAdN}Js{IZhbdUn&(x}Bx zA1BpUTn;biCTpMN4R)U^BwRFp-n^kl)rj3RHs@6sWO4`P_mI(*pK}%M8r`AI%AMBi zAhi|m1tuT|eZkdz)@x2%48J@xO=XFG;di+hDg-6Q90w+0ra>6T-F6Y&@p~S&dakY zOhaIVdLV2i`36`$janY!UiH_9+72`(eKOfq*K=v8-UBS-n~c{%_OhOUP^)AKx_1Pwl5BgM0OwqKsQ91l0>Uo? z;*!>1WMvsWWqdBCoPK`&*l;z%aPTakylvYnVd>4~ zh_O&Q+SM_g`m197>RikfU78K#JV%;FqTa`-uAWBJ90S@2cp1Kjw5vC)6t-+NxH$ei zwzafmlOC|VS??@Nl-av&4OTYDq_o=fb9DI@c!_d~9vf|*@%ZzUb(|{j#IZ zT8hRInlsmik$Ad9+0wpB&Al+Ti}Vx_hd6o@<#~!4%NZ-Lw2i!M>xt!OKMb5o>PE-# z+>zSRsdJcyx8~c<1h`YGZ1Ao(GAtd8p9M})5_CDd%QRGUl#3fxC8ti7+53~39qgHr zP}kL3_&LXJS95fW#?u^BzjdVd@l}~q#k5PakMS4v>&Wza(iMJGHZyOgpkox(U|s{t z6t`+>;hC&5gzD0sE8!5Al5#{L4;3f6-N3?H?8TjhJb z)-qgYhB*@0#&H|CyYu8Uw;$?v@d>RrzJat-kpitf_Luvui0%X~qWeSvSL+J~z8?p` zLIFofydK;6L)TLW0NG6aQz<;sYcSs`W%AqWD(G#J?MBj!QH)EV{7^vWDDm$Cfc4I_ zNL9`#bl>q5)mo0s6zl*^PZ>{%$w3Y}B?5Oa#K>&}l@!ok`+JRdlHWtG)$d9@_}9B0 z@VOuQF<45m$7Sr(!&Ef7;Hy0n1Xk zq1f3Kg#pf===Nk*j#B;h>6%xl-;IMs7w2&16X+lJyHMNVzNS9W)q?m;b3!nSk1XGR zW+lu_tEz&=v(z$4lwESWSTf>YbgW*%EzxEjGu8u%_YL3P^fBB#PRVurcI9miNB60K zKDMW`oHca6J|KUW_tjqlyk-LCo@%V1)92aCRP&vb`A+S;>lyq&Y%-*7Rh*UIB+2z> z(9IM6(@aQwu{Ly#>ZWr)Y!dIj?cHaWkkvD6n?a_jz#uN0XP)bR5_sjcf9eq#^urUGLtUwN4rK|9{n`(VF^*fT>(2@M!etqttEbY z6Y|SaeEO#%x}brSihHyFu7j*e!1$Os^tbABfAjc#!J1RX6I;RbMB;PmfI_ zY~mOenysEwUhDiZUMj$e&#&NsU(_wDxramcyl3OMLms#DK+UL3d)pM^;$}$DCAXP! zka&8sBrH%quQlX+3*q_vp&oJdONV1%N^UVhC}9tSuR%V*r(o48t}R3m&RufykuT)2 zAn(w0Oi9qLO44=yX4+|{=ut9ufa!JV-C|RK@alDG4zPsOe-ecrQN%Mk$uX@|DP{#CdF8}KULPWkktza!I_eF;&0Y&DAo%hoP!qTsJGbJZ zX8$TZ^AwdJ2fqPszdoF-#gX)6oe(?zS}tNgqbVRC2Ewred1d6Z8F0dNSLx-9{rw@{$}XP zXcHODN$oP(JmR37D`>_cv0HrUROS@kzGrigsNU*HWO=ge+?n9n&OWWMKze=DP2@;b zO|E-8RF%&!7!Y5a6S)68(1eiUGC|-%`OiY?nbmXdQz>+*?dfjNrKP{uBu)9k#l!m+ z=$I47vd8L>+865vFgy`+$IVRocgzB3S=mUbc9^~c{IEq(V*OX3%^xHaeZofp9R*<*6n9!=7tbM%2Od*H!nVI^_p3*GLf1Cxr; zo%{ZcpYJ&Gb`YEmZ`%)zHvaaf=Pazp26d*QJIU{(@Z&xgi3fw@t=l2BRm^s#3qWeC zC)=+e#a6S^JFUuHPEEp@j?Itxaowk{2?YrDBzW2bTiHAl zwpeH81H+ShcI^dx**$~9{Kfe?w|w&NxT!e>_asOmN_vp;{qR_?wt>sbCg|GGAke6JTWCR zy^87Nih-|gG|R=lZC*(d`Bu1c#C>Rs2%CAgLqL!N68saLdJs*jVU%DQW}c_TKd8bB zD3)VNPI*i|>ThyAf(15ox!_hE+U6eulla_=m9=o>Yh=)5jC227oJ|0asDr&B_M*xK zdxbk;{4qZ{#3l58&V>Fw6Ymkpy~^M>oyFW#m8%dmTAI`vGG~3{(tCu2!V_{%u68HQ4DEk*5xAC)1C9ugIJa-OsF)Q98d8sQ#H{^k0bO^ZqA!Z?@PbSg?Whr>e3O%rWGKc-u9 z1*eZe^Gdlb?s_A<-_!*5p>9IA%z^fUfpRvT6A#R5@yJ$zqay4n=-Vtv!Pm4o82UxZ zWzLCH0+(tYD+ecG|JIBE7Nkw7>&kO_s^D)Kz3ZjqA?m>M0Hx-yP`Z>X*rW5Sw9y^c zD@WQ*!4uFFZpX{X7Ak8no4bj~#seyYxQ1vcbndAq)*;>!O{sRmQoy=VVjjU2N3~x< zrK6e1!t2lNu>JF~j-C|s%iyagvO%M(9MlsrkaKv%tahZEpa?i-$P%Q~3y+P2(vc^L zak6^9RYQ~s4lG||c@ccrpPwA$P#oQmUOPyz12tQKyj}M}K|6uW)y!|~Z>(c@*D0X= z0~5UEbqopwRs{)(R@{aa6_M7uKA+$6EXnlUt=T0`uQ@O60)b4 zRPK+gaLAfBHLCDT7 zeHQRH6+s$-bW$5m63Py!f~cZ#X|i}*lat&W5A<=_)9+tTRx2)q7lJa2vg-uI(tZeh zRZXPU@oqcZ4go^pmqOqhJ1>urufU$k8=FPE*rR^TXTH%9xTD&OvYhM!Ca>MZ=2fx_ zGh_TIeUqwx$O41X*oV~p=m|ij*;$2Bok{~2oYil+LjANrav+6}F1`C64Hu6_LV&Er zvHF?RxKy^E4?qTDN6>9=DAEZ+NDxm+?QKuAeE{JGAL-eS4h_OLql_~@9BAJ$;Z^v6)_ zLC{bjp7-K%;&-J2o3fVRq5|xz&hV{mYgXG-@7g8+0rYznS=85{(8UGEYZ69ykSq#vS z>m8n8Zq|q)eFZKAwZI%jStSWr_Vn{1aWhzyLkL$-I6bFO<}wFB(v?m#spbl84{G*C z-OQnLcn(*0?$~{91ac49P*(yV@fVn`e1ZEzIc7bt#{W(^TbZ|NPpSk%Kj3fQoFBcG62cT!PhKN#_=qVv1FK2df?)dA@; z25H0q_kjA|(J3^`suVk80?ohP7AY7K$EK8f+p&=)`q81O4g%8!?9BaWL;0opZIrmT zDj4%NyR`YFOWr~^JS5NC9R5r@Sx3P7@b0DN0~dby_sNpdvn4q;w0T!C>v25%aX;ev zd+)U$%YvW5>FRw+e;MJzBmA9O{p~mV7WJsqsRtbuA{#iB(CmEd7trivbG7l@XO7&o z?8Zddbsu^`UxT*P8lx!&RCNNS)IXEL%_he+uW?d(I1K&r_kc)7xk)^*%q*H# zJ!$Z@w%%ap;Cq82ETVSdK`zQinb{Rb*rbcoi~L4EYZkeWYqvfKikgkEyXA*R=YSw0 z{5f1OhjzDmtKks*N!g5nOndsobXB|L{vuJT_XoS@yL0U9Epdjkv{Q=qe`55UPr&_5fr!-OD0yi3S3V@6*B z^0-U56DCGq_3Ya{ZA^)F4JQ&|(e?dYCp6*Pv>`L8XcF8$as|N;nE?YtieSwedxg>q zq9@14AwsXdrQ+h9g^pZo{SuFPX<)8M0H>vz^3z?D4BIf=D)FLup*{XXQSireb$fX! zC$bK!uke)_A_=3WriEgYPpVVV?fi-oC7QfQ0E6N{A1_CDgE*Xl-FRoYyPxVviXuMt zn&f`SB5K}?9y6&E4#5w#Np^U5f2% z;4T6ddtKAWuVh4&8E_v@BTkK8x)*tJd+jQ;^PI`x!}sEsUSt0K{)~+`HqKw6HH@C9 zVVd$>))@aQP_PI``)ESQ?=bhBSlylzU~D zAR?{uq(?412{-VbR;E^OlPX01WaStsJ8Jl-xAdB#O;CL=6K4_MN6EAJ@4@+hf^nVJ zf`%m2eFB66hJO^uAySrN%E$oU@(;~k1NMP!kcl_$@;Jtqd1*A~c5THm45-Ywwqhsj zRV*SO{C`*hnbO8aK1Z}RFG|hfuLe!>rwHCra7a`KCK;1Hk-=YWhxHwwrJ=-$DsDXA z4$~5XXwtg=6LR`HqD($-zL<(h(&BR$gjVTpV%(^0$UWmGR0m~_i2pnhN(o5V$bS(%`7-qbA`h( z6)>P)MZCRyDn;LsJajSew!zC+q3GcP8&3K86A29 z$IHEt@3BwbD#>gR++@wQGq_!@hn?B=kOrMdzKShTLRcM5yEQKP05NseX@{=899}_+T-gYk)#WS3%~ep zV8wrWx&4JF2tjR32?p@}?%J#maIPmci&??Y z<#6coXK27HR&R4PgqP^ng$w=AXENVfJ-XhiUa-Vgn%{orAU|APlQ20t**s%L#dP7o zRM~kNOlA%=@C?zPg^YEyH!9a{0AA~vl?Bp+ZD;g~>%^0i+DbxqRN#To?GzPRMSI6R zOR|;fv`ul)TqS3Usn(VVcq!U61UAGH#aa^{A}6rp^{tfq&A5JYab-fLdP8 zB-qPP?5~@XR*?Q32JF%+K1-FHRx4g7reW9i`m~~;G#dE)C?Yv8X^%5!jk_3rU?gJa41c|HS#BDtN7# z$wqKU{iI+;4&Ij_GdfwpHlbQT^62ALe}(cs`O#xv0qd{xpwncd#~F-Z4vbeva>38S z#f3mq7UAqdMI58o+ zrSYBZd;nBmbP~Ac63Vm)91ce&b*|MkbQM>rCsImgzQ7b6qaXKjS-^pI1e37mye;@{ z2z2n`({!OOuE%&5$*%|AB5!5y=o;N1sbBUwU{w2~e zFq%XZVW+G0n+*e%`fNT?@o&E1bF3s{LqrG%&^aZtAuq9Q;!*SRp@)bo)x%^Obv3-C zHr|M#kt0^#4`)LIzdr1$KM|j_ZX>VkEWEB(tqjz7MvgiwBKcSiVZOLT0M+ zUw9{SJy}9o6Re&!5J=ckxykmwKl$kzYdYJt3nj63g#EOm1=qWP6!{^=AWz>4wC zRu#>CdF9}%7&kYW6p~3N@kQSkRMikx?n0gaQfg6Mlgd(bk}ZZq+1tUe!U(KQw{upEb=>p2JnRq7F;gjr$bNIAuzrqQub`$O z!pXgJk63dS-|ge0m-A4kSS%2 zTgTD7&{6ydNsTJqKTYP^6{vqJESAVgI9M|n!}?3C0_0xtGbVJ7S5twBkltwafYbZq z?~L0sx1$H=pa{01Jqs9L_JNL|SLj%pc3s|Bq3(i7j~>s3BdCx78D0|N`_ScjA2X|b zmkfJs{nefFth6ChU?mlu4A)d4EV&Zo?&ffl5UPf5`A43av}Jj{@U-!qX0*EPV(VnKGb&)(;!;@{wuAxveEd ze_FhAaKJrDTMfguQok#-C?iM+-e%=z3H<)`1vU-fG~c@Ks$XlNdsAe2TAM-*VaW$3 z`Uyw$!GV47>Mpos>Qekt=U2$%|L4s3&pcAg9Xf8sQ}D%~pu4{)^ncx>8Q+`p%ERvt zhU&k~d#C*0JWNFcp_C;O^y;SjOgqsmJ97nE>Gp&lyn_JNt!T39+I4#A7Kyice}SaV z^ob0>y$bfzxY~Hp5~r1Jk{}RdP<}BXDE5}dmUYfcEOPfNPxbPznl9v-AV>1 z2=DWO4#iBtJ6zN*fc%ghkes4N7{BrWFnKh7tQ0_rXMi zcbJnL>N|7$w=uYB5Jv_Rg6ZM#I{(tpW1x9q^@ zsEwbx%l3H*Hw-ter>@{DEY#ch%!boAC*iK%6;BKPo5C?%I!3^+076Z*zTxAnu*4Kx|p5WK&dYIh8$M~8y-7`GWq4Ns{j3WQM~RDY{(9NR?)uRYM!@!I zc5rzhX2<(2C zmcU0|UrDPI?LDlbE{!6D%1z;0TMBSC7qOr_xTp9G&3uL`&bUn{MeCZ~td3-=c&3{5 zwl48+am^XMy9v%}9Yv)F%@SZ(tmpT`v+%wwlrX`(-|d9iz;Gh zTx`YgyRF*g7M(6Gw91?7EEvAIxqQiU89qpK8Lov{zS96yXb)Z}ASg48nPI$1M;Dp=R4#Y?1k8%msiidfqk*cI(=V3x&qJOIaTiv+;mz# zV0)wd4+j>)vinE7@87Lc;Z2OZi~?;Yk@qc>L134g55r>gFFJKDBHPEAnmVH?{#@Y! zQu{(}tP|bt$>psB0xMRqvaKYyoTt1LfK~5%UyE_#3#T_TCa{)e%$ zA50gxaC~;G?Fm>uVrrvq6QS;R{7<0I%)^K8VeP zt^NDGHw#kxEL051H=D^EH(K91a3(yt5}wG>UdA@*eTOO3hfPyGwbDQV-(&O+V=h0V zmx(Z#;Wx_TQYI}GW~FoO&rfBF7Sd@XMoW#OyUgrAcV6+b0~V88H}yn5_WV{ZD=wg@ zeDmi{`V`l%82fq~V&yT%P&3#?GyAjY;t%2N9V6ISq@otTD=5kM^Z#(@BeQHRQ4 zBdK|GSMQVIpwRzH{{0oLBZjI>2UhHAH(TdR(`LeY;tP~0DE>j+@PN-r%GuKQGh81j z%|h)KbiYe{|M66ftXx?bta)Pih&A#r66Y^Ehx9MT0Pz=h@b!fd)PNhQ4-tH+ISvJ&?az-1wQI}n|Yl8X>z~TPpRh$4DiqV9I|ov zupw>54W7m7kgDrx+U&J-F8NadL^F9WMWQJs)wf<*+D08Cs83F!9G4emUz0oqj z#V>KDX|RHFae-f`RC*?OL!_ONFxfdFUjGa7^Eg7FO#|fQo=3_hV)D(>-u8*wgsR7h z<(sMeTxA4J;e2R)7mqj0982!uLI;w1WA_zivJlCTGgJJ)NIyw|IT&8T#=i@hPOZ{) z2uRgD5Hefy0kP)5-tP2kIE2G)Wq$F1ljNU#Av(^^@d*q3w)$Jwj(STp|FIAwHdw^S zy8Kh>jFrAZ#*)H`tmfr-Wu>k=wO;NG+hJ+CV927CQnHxoc#?PWC#fvXt-t!pW(opC zQKx`1SyF#=RV>&55XqUsM}_RoK_{YV5fgP8YMLA_B%EKam8S70E2q6a!RiHNw2slu zSs$1NW8!}$PUlE`pJ8d%a0AJy^84lqU<^q+wr(kg6kPvtUwKJfr?hk^<*wAD@$4|i z8PF`vF&;=rm+H2)!uWiF5>3a6>>JT~cg+LRM~Zhg zvxTc2n@&2RdE~FKLSXFh^2=z>%k)=)-;<(Fo-MA|!V${7=W=D!SNbSB{logVM#2Wp zrqxHO1e5;jM~nAb_=mI3aUn7P_fF4>RF)*@l26Eh^MHxuqZSN$ZC?R^i9uCfvl+wPV8U>XrcAaZyL*@iMugWdWZn$5Xa26;H* z`zN&}Fu}c$f>%npMck~8*W*`Xnn`WcI%V?S9*`;d8f6ZV0d9L%Zzi)}w9BO`$S|lG z<#AdZFhc;G`RB#aS%A-2adX}DWq`WC;k6q6-x(h2J5eC_Tj8Tk~yKaPF&3UJkxA-6$U631kTn%&f+G+A+AS z=4>rjY-1?~@4V|0AG$dYa~$%{xXF?`_v`c&0tbx*pgvJ2_{BJ(pb!!KLaGrd-L4zb zC6vHDd#SDfd;|qafomG&2$(*PHoq@V$26aR_yS;h+O{`Fx%f;YuU859AyDur_h;0% z&8J{PO9%O!9)gm~$iP8wLbfvrc@1F0Y0c?#fDsE%!PYI7(2{QpEIJOD>Id3++A=-7 zvsGfxiiDF!gpS^lJ2aiUg6%PhxvL%o^vXRy&oSDIgdLe7=JwdCCO3kDGn^&fA;T#5SG5=+9Ha zH}_P;1PH{umL^mLz+CPGXc@h|Ea9|SGxIa<(XhUWe|qc|1~_J__VZyN%|9u}zsnwg zW4@sKUxi00f-N2s;sYh@pY_H6SQEyH!fxh!$JG+k1@d*h`}2iA+|6?u8)?QXl%09; zG4*Kb?#-`P)luPVsp)LP9T)y5Gq0*+X4i0zH2ODue6z-O?(A+Ik5G(Kg2=|w+>NK^ zN0LKUb$#eka|!ulJup1l5}1+N%$2p@mW8t%VKjX%lTTqPEn_i53P{mh$h9!_GH_MYG4m$WQ+H5C zVZ|p!jB3ArB7{-ij&6NMgh>9{N(2uFdGlV}$zK$Toe_ zps>{wxG!1Rhpqq;3K#{f^nKSd0Re)O0>)<1<=hp3pAamTP{6Q9z7l>qaS2tmA$u{1D$@nAx z6j!Z~Emdb~5R{LS@9HXH69C6TRCVWOtghE2<1f}`zo@u+#8@{)Rp2AciWfs@)(^)* z&$|LDZ7E>G5$;RQU#gpDRGy8!st-_}@@Sk{qpuO%^lF#CR#j46dfB3#zFGLvPbQ} zcT`0JSR&D4u#_FQ_Y}tU+Qq2sp)o6WdzzFXl~ zAwc7e_g&{m=``ZLe?ltK}!l4$)I=EyT(VwFGZfqBwqQNF`eB!5&gX zO=fYllovK{S}Ld9gwMn^GZ)hv>G#Vv5x*>Es4wh$Bzveojx!>4g?lx*5H0aRvpK%> z>OC6{15DuS7wmpzA0ps*(f*2Gd_f(-_@XM$;4H;*K!~wJ(psN?ljaY1Yn%uM5Ec?k z_;bMU$h_SCmNaB7wNMT~gvqM@`WZ$gktZr0jUzZo4fA-f>ioUZNxWLhZeu@Q*YUU6 zYsw%S6b`BEZ>%jwO>qmkvq6SK3kjJNPnx zHfW>8(izLwdrftfI{obcFxWbWGO0@A6jMvFt)6x& zo@ewAKd(pY0H^&yz;spHT6W@aFsl|NQ0b6VE{Js|?v@=B=d^5`#;)ikn^J*D$|#HpV(b+FeykIFPa$ zt>o|xbwFN>S(m!d@JH2Jdl0lNRP+tV?EF*pR}aRX#xi>6u(fS^AEl2(VlB2;Ku%Hn z%Ob~AK?PlwU~R3j@yes8sAOg1RPJROOMGJSUWatd$VnFEgtxpBHwrD1S1| zSsRu0?CwplFf$Iy;4$#RKwpsWV67Tg!Zq7+C9$XpTe>Mk!@uLVO{aws691?qQ4T9> z@TggDXHHA$V|OjCIfz`Z*gl5dRldV`S{Aoy+zeN_xIW^PG6WS(O9>Ncz}&~UNg}{9 zthSKINg{7~ejjLvnOe%HCIhcoxLPXSx#s?Ywl$&J7lP6Zdz!e}tf% z(5YK_x|3!TKtIF1owb>feAWTo` z@rG5U8)89jVWYM@drFy#7RD!pzyLc|{uI-)J;;#INAeL|0)(nX*K#PfHvt8#-?A%U z>zyk@95yn=-PaY8eM0a%=WHoVU8(^>)=UapJsdn+2n*tEvH$jXz3zA!Owha_{lWIq z5U45Ij?Z&wq=XWW(Xh4~enG@N^^~nUG01$;oAMUCHfvGxWt3qfM}Cgy*ApiOzTYoA zaGIk*0tniZ9V}7*JPR+m@e`s{&-X9rsqpYRyw`IH5DGp&8SX%lW_X$30 zhz-9{q)rnxVTp5!3Eei2YCh_ArlRKh(-9m%mx6L`Ty&}(jvdEXN0o$@QyK_&(TRJKul~^2?@m;YaWP;3r<&k$t)$?c!9tii8oajs8Cq9Q zUGz9a?zGdBNKm*rT0LU=cxee2m-a$9#zej1 zsT`$8yQf`oznkD+j{bTWqf^M)cYDkk$j>U=1AsQm{nEb6s4hagpYI*eb&jGd2^POt z((?(@(z8O`Etmqfer#s$;v+yzZ2{5`mF-+rza!s}WWcy%SC$oRT}kU%T#OMI$$U`T zhAn~So09RMbu*D2gO9axFSP3OBA2!XE(giEJCr3TYDmB;+_ zrw|skJOA2cx@TB00+%2+0vZj_9(S4U1AWdA6rv$w1~NdIKIXfh#8Q@#qaUjA*8M4UM22b z>TE02G1A<~*2oY!$`G225+YS_#tHQ?$GWG3>#0VOJ9j`Hzlp`@`#|P7U6P?ZDwsNA zl3d^7459c05ApjO{Pmet{d${l#_POYJ@NrL)$H$2vj^Xc+0g>8;c{hUuwv8s;amb> zJk8@w_9stFKXu{^={H(c=DSmp{Gd|n_Gj2XH*1Kq&z=~n5HG8`S&1l{t^jSlxBi~& zW$`eGuVvHKl}cg#S$pJm2sX0##~QFZxDA^Cv01y;3F2yr>kmc^)~-p?6ChshjIZ5t zPh-kV1u~o~jW^8O9R`<}VpVN~zvgNo+zkH@sP><5>wgh(-ni2AJ->?k$5Obz7sUNf zzkNOv=G;_$<3Colo;~~zI8RmARjO)kpDo)qXU;Ku=<_eJY@uk!LY|gfvvZ@VL!T=V zuC_T_4a_lQ2HZq_nx^kamlQTOD)F1EdHK;HuUUp#=hGE&cYvpEl>KIFIUZ2{PuwU8 z5@ELU#V;1o=rT>X>07>^igpM7UUI-c_b0vSiK+os4~4rmPMd4pYDM^t-s}gsRW&Tk zy3zoo16)H&Z<5>C;(AkQx?&V|Bs~{iRj2l?;q2zX)LC^q!pVxpOd~(`v?w|Ri@^^4 zcE~k#0q4q&40~TtW3Dvqu2Qg9)nOTHio8qeJ0315y>1FdbyL^tM@Vq4q`ljq_s=R~ zKy~6Z5W3uop4oI~!N!bj*qHkk?xxUi4kp|z`R}ps|7;A9mg^m_#6vqO$k^Rfywg_R zS`+I^%adz`0_$b zbeFQu77xKjji(=i(rA6$NmtVVJL=Ru9%VApo`;HiZSC07sJXp=|`b+yD z)BH1=TPa-KkLN--^d1&kcxZ0+?NQe4wB((IbYHvTXzufd^7MZYX_*K+rVMr0NYKP^ zCn=}R#4z;XoW^bDa^M~#8N1uf`?(-rzd8MBY%RhKmCRI|bLydrMJObHe&c_)+fT}c z>y3CCZ}?RL!<~OqSN1_t&7u9^ajxfPW2zFMI9ivMdEi#mpiF}I+5sjQ_R|iI?&_F} ztuZ%z0xUw+9u|j5zG#^cntNDG2HW+56uNgWCmdiCM`I&D-OIc~1az(~-yD9qLv}E| z{3qedit8bzfF<7_@ec{^^bE#e-#%K=SFc zmz70+6uVsT7spZN6hh0YM5s?|+aFF3RI~1VwAonn;1lp?h^F%ZcMIYf+{a9b)F=C|AwYS<+XX37I z)V#Cx17X@L^M!CDu9l$O$Xg0n)lYwG8i(4o+W^jMW7p;frzy^5y}>AC`L0XXGXAhZ zQ$7U&VzsmYg6;kC9}P!oVXFk-EYsg0!9`P)E3mTOWwgq}>%gR-zN*sXyL+(H2D@p1 zWB1p$XT19vb}_0eUsAX@5-m6g>~jzIDxZ-5Ig9b$1~zW76xd4iJ{#Pw71L>|+oWSW ztv^%vew@;b@z)TxD!XE`UtRw^a~AK}K~|d|WQ9GMO9fJHXH9hoRnUig@y;I7CPXMC zGBZ>Vt6f=clW|_p?Oq2z>o0ps53vxIArVQCUgu7n;%l-;)&A*srpcbM_piForx`KfF z*r%~8rjWP6$~BR3EGc{V$jbS*egj43>m(1Qkq$w^_dDL}&0Lg?c6mdMxaw43KH0E` zpdI=@Urqa?U-8<$DgPrE5YF}pm=*R&g!6=ckHey3nJ;b7Fu$Fn>R!WQ48b&`*VXaf z4}`w>cI;JFlbI96j`l=M-;3xJxb1ayYw`%VpkP1)nb#Y2sNl{M0@{tpx~ z<%DHTh&S52m&cL;#o3X!);qVvo|KoqlUookPuho~ z*7|Ork5mI%x@bHdL|*y34ke5Y(Bt)UhK#;sa|!sQB}^u-n_zyBHzmX#8PHI;jT=Bl z1+%tYXoh3s(vJApD_tQj2ao2$UYp?|vi6yA}|p@*s!F=n$WgZ{u5tX#T3v`zfy zms<8EOO3?8{Nuj`NH=s2Fe=?dOn`*KhZ=T^NBVh5JRf?nLikw(MCN>&{_Vjv7tal5 z_s=zcZa(z8$)52cZu-*pqxf%~n=x)}C2PHQ@ZaM8$IJr1aV_+Hec;Upo6(JLvXg8{ zkU9H6*dvr{CTwwt*}T|l8X`fpjlUjoBzs+*Hkcclc@Lx(8k`r+G5s?*T~u(% zZ-z$wSXR9j@K|1J|L*phGBh18cz^lnAENsG&}+bJCb?hag(*iFOeXKY(bcJ>6owQs zqF-T@Y&maD7yT{R`x{$f@WD_6uiNLY-lmGm4u_&4A?X{Im@di)Nujaz;Q0Mt|EH8I z4`xH%;W44KDKnuOnN9k& z7%X(w)!j-lr%6)cv#00^*}|`?JZ>sVl)&Q=CajliU@+m=HkY_t*LJ$e;?}nu59$$B zX2R-X>59nSS>5}o!zCxEVkmra-VU83;wmb5USdF@-@5oMv!za>QxquAf_?)~?nS~X z10O!L_!f>Vpc5_39a>g}#T9-jjE%O~@8uLWk6DfXoom-e1?8Q$a!xF#p#oi~5Ns;@ zy(GRE3#01shfHd7R_h;E^mYPo*-JS+9*wvE*oO4vkley26C}0_gBrkL0ub7rr0^W$ z24T}ii<+f4M~b4GOH+zjVPk;4yaNw`7zTx;_ttc@%7!~ma+05)-1#T{<;$|IslArz zA(BJ~yj?(uZq=v%BEyCza2UX0#Yu|yNFD`F*dI_G_rx60?Y7%UK}?IXc&l_K+Pdus z5#GW3Ba{>q?VIWF=7qh+gD1|p{w0VQbjwyjV}n(<*%l+c*=L%pYf>G<5kT2Fa5B&Jwr5iWhr107CL26Hh1%>(k>}3zJDTe z2AJ)*cO;f6Yg~Kh@a3!fLsP>-;ppk4fug(3ino^;{NJ!6SNf3hcEymVZfh@CpvM$s z=VX)uBh&-eJ(dUx&Vn__FBfj1!~15FmChRN`7XcBf4hnx^&%ID2~vl@hy0BadO>F6 zaDxR_@E{nm6PS^=uN!ew#?H9`k%{fKTc>@>w)sP`A+{pS^5K)`1r zkHCBcMJ8)+w{zRw5bk0fvWDb+P>uSCDVjjxTtoDBS>v=k!BMJ=ZO_gniXcS@OyTU> z2>&nnT~CosplWHgHD2!7$upSD>4%CXctBDf;I}eCjSs8Gt96l1wPjYJQU2BzLHu&P zMxX8N{X*vBcTe#f%J^5Hht7U7WZ!%_m;!yj%3gXID!yDfXCQkNR;r0o1EF^yqJB>< zAr)EL7>}ml;6V?*aCuQyap3@#j(j*fZ(zRe_PA!tB;mSpmXokawhaGRXn0Rvz=GH5 zJ5$o5VR8Icfse= zK?-SNalsk03YOv^7ttSUnpfS>9F<1p$d$FmA5<}^LAl;4$z8qi>RmHNj611?i>ktN zLE$=EcRPdW#_o=RWJG}{+f2l*&SOJLAd7S8;=*x7JNpwoW&NDrnyXQz^eQ}ZH$q_oV3PZBvc1 z^Aj_^J~@h!sOc{Zex|>t5|%yWDHOr@1TP=;vO;MFe6kb8`bScVKNHmJd`DwaR?~S1 z#*PZxoqHrhj};F)gI}(srCi(l4gN?K=o8k8J zk?il$3>hsm3T6J7qke@tc@O%(=16l$TEh^2~rT70Ktv^$oC3_Hk zhhEg=hNejvo+#tSkQ|a~231GDIWG~8R|-1wKl&VhXtsZAh2$r~=?*ZkFaP!9(iAUQ z7N$0pue}jCMQ(XireM#X9Tc-9k}Ie!zukd?^j@>ND3~%*a2Ip5M39gYN;uJm>LYM^ z)E6z4S=JMt?@r?-G_D<+6i7w4cOMV9@YEIG@UWOd;)2U~i)*v7aJ>3=O;|(?Ao{H{ zjwzaRbzPbb5c+0G6PkV(Z~}C;=SkwDHa$g>$a`3!x3=vHI zMG7^U3#A;t7Z+G+Pvuj&nIo@lJLrQ66uMSNLR!T=oDX;Hd>+8I=BdgaG#^sVq-I%T z8><%42<w`70a@ zLB$>A4IfBne)avB0P;I#$Hc1tI;}6M7oy!!Gq@m;&tM~Zll&j#}`m126D z{RT}#meIa0-1n?6Gu})D&;6QuhABt}_45#lSw}k+Em5MeGjnOaa;eSDl5MShJ*tJV zO=Hp2N>2r~BmVV_e+&DyzJ!+xt(f}zpN{7v$RwX!9@5)d8jhdmL_E%6G7HE1z?3aT zqFwa!(NwXG>D<1JyODt*{tpK2;E$g5XD|aZb$^ybsn~$wf@2%D!tq>rA`E4Gh=j`y z&xZtN)<~Qj?ZXGdugm-9sM10jz3z9p2-;fBxP^vfxdGH~hLG9v9AH9~re(Fq^jJwY z=oN22l!kj^%W8Al(Zy3X=X#pxXpU8ykcvN10} zmimcriH`rXZ<(LY*yiEPBJiO8zm4eiFh|;Vs5m9&WIFmAFy@_yvp1#7<@+ufB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-note.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif b/zh-cn/device-dev/porting/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/device-dev/porting/standard_system_porting_guide.md b/zh-cn/device-dev/porting/standard_system_porting_guide.md index f4f7640927f..f0676596ab2 100644 --- a/zh-cn/device-dev/porting/standard_system_porting_guide.md +++ b/zh-cn/device-dev/porting/standard_system_porting_guide.md @@ -1,4 +1,3 @@ -<<<<<<< HEAD # 标准系统移植指南 @@ -373,379 +372,3 @@ obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/buil 更多详细的开发手册,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md) -======= -# 标准系统移植指南 - - - - - -- [定义开发板](#定义开发板) - - [1. 定义SOC](#1-定义soc) - - [2. 定义产品](#2-定义产品) - - [3. 移植验证](#3-移植验证) -- [内核移植](#内核移植) - - [1. 为SOC添加内核构建的子系统](#1-为soc添加内核构建的子系统) - - [2. 编译内核](#2-编译内核) - - [3. 移植验证](#3-移植验证-1) -- [HDF驱动移植](#hdf驱动移植) - - [1. LCD](#1-lcd) - - [2. 触摸屏](#2-触摸屏) - - [3. WLAN](#3-wlan) - - - - - -## 定义开发板 - -本文以移植名为MyProduct的开发板为例讲解移植过程,假定MyProduct是MyProductVendor公司的开发板,使用MySoCVendor公司生产的MySOC芯片作为处理器。 - -### 1. 定义SOC - -在`//productdefine/common/device`目录下创建以SOC名字命名的json文件,并指定CPU的架构。 - -如要移植一个叫MySOC的SOC,这个SOC采用32位ARM内核。配置如下: - -`//productdefine/common/device/MySOC.json` -```json -{ - "target_os": "ohos", - "target_cpu": "arm" -} -``` -根据实际情况,这里的target_cpu也可能是arm64 、riscv、 x86等。当前仅支持arm作为target_cpu。 - -### 2. 定义产品 - -在`//productdefine/common/products`目录下创建以产品名命名的json文件。该文件用于描述产品所使用的SOC 以及 所需的子系统。 -配置如下 -`//productdefine/common/products/MyProduct.json` -```json -{ - "product_name": "MyProduct", - "product_company" : "MyProductVendor", - "product_device": "MySOC", - "version": "2.0", - "type": "standard", - "parts":{ - "ace:ace_engine_standard":{}, - "ace:napi":{}, - ... - "xts:phone_tests":{} - } -} - -``` -主要的配置内容包括: - -1. `product_device`:配置所使用的SOC -2. `type`: 配置系统的级别, 这里直接standard即可 -3. `parts`: 系统需要启用的子系统。子系统可以简单理解位一块独立构建的功能块。 - -已定义的子系统可以在`//build/subsystem_config.json`中找到。当然你也可以定制子系统。 - -这里建议先拷贝Hi3516DV300 开发板的配置文件,删除掉 hisilicon_products 这个子系统。这个子系统为Hi3516DV300 SOC编译内核,显然不适合MySOC。 - -### 3. 移植验证 - -至此,你可以使用如下命令,启动你产品的构建了: - -`./build.sh --product-name MyProduct ` - -构建完成后,可以在如下目录看到构建出来的OpenHarmony镜像文件 - -`//out/ohos-arm-release/packages/phone/images` - -## 内核移植 - -这一步需要移植Linux内核,让Linux内核可以成功运行起来。 - -### 1. 为SOC添加内核构建的子系统 - -修改文件 `//build/subsystem_config.json` 增加一个子系统. 配置如下: - -```json - "MySOCVendor_products": { - "project": "hmf/MySOCVendor_products", - "path": "device/MySOCVendor/MySOC/build", - "name": "MySOCVendor_products", - "dir": "device/MySOCVendor" - }, -``` - -接着需要修改定义产品的配置文件`//productdefine/common/products/MyProduct.json`。将刚刚定义的子系统加入到产品中 - -### 2. 编译内核 - -在上一节定义subsystem的时候,定义了构建的路径path,即`//device/MySOCVendor/MySOC/build`。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。 - -目前OpenHarmony源码中提供了Linux 4.19的内核,归档在`//kernel/linux-4.19`。请尽可能使用这个内核。 -每个SOC必然需要对内核做一些修改或扩展,建议采用补丁的方式。 - -建议的目录结构 -``` -├── build -│   ├── kernel -│   │ ├── linux -│   │ ├──standard_patch_for_4_19.patch -│   ├── BUILD.gn -│   ├── ohos.build -``` -BUILD.gn是subsystem构建的唯一入口。 - -期望的构建结果 - -| 文件 | 文件说明| -|------|------| -|$root_build_dir/packages/phone/images/uImage| 内核镜像| -|$root_build_dir/packages/phone/images/uboot | bootloader镜像| - -### 3. 移植验证 - -启动编译,验证预期的kernel镜像是否成功生成。 - -## HDF驱动移植 - -### 1. LCD -HDF为LCD设计了驱动模型。支持一块新的LCD,需要编写一个驱动,在驱动中生成模型的实例,并完成注册。 - -这些LCD的驱动被放置在`//drivers/framework/model/display/driver/panel`目录中。 - -- 创建Panel驱动 - -在驱动的Init方法中,需要调用RegisterPanel接口注册模型实例。如: -```C -int32_t XXXInit(struct HdfDeviceObject *object) -{ - struct PanelData *panel = CreateYourPanel(); - - // 注册 - if (RegisterPanel(panel) != HDF_SUCCESS) { - HDF_LOGE("%s: RegisterPanel failed", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -struct HdfDriverEntry g_xxxxDevEntry = { - .moduleVersion = 1, - .moduleName = "LCD_XXXX", - .Init = XXXInit, -}; - -HDF_INIT(g_xxxxDevEntry); -``` - -- 配置加载panel驱动 -产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在display的host中,名为device_lcd的device中增加配置。 -注意:moduleName 要与panel驱动中的moduleName相同。 - -```hcs -root { - ... - display :: host { - device_lcd :: device { - deviceN :: deviceNode { - policy = 0; - priority = 100; - preload = 2; - moduleName = "LCD_XXXX"; - } - } - } -} -``` - -更详细的驱动开发指导,请参考 [LCD](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/LCD.md) - -### 2. 触摸屏 -本节描述如何移植触摸屏驱动。触摸屏的驱动被放置在`//drivers/framework/model/input/driver/touchscreen`目录中。移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。 - -- 创建触摸屏器件驱动 - -在目录中创建名为`touch_ic_name.c`的文件。代码模板如下: -注意:请替换ic_name为你所适配芯片的名称 - -```C -#include "hdf_touch.h" - -static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) -{ - ChipDevice *tpImpl = CreateXXXXTpImpl(); - if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) { - ReleaseXXXXTpImpl(tpImpl); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -struct HdfDriverEntry g_touchXXXXChipEntry = { - .moduleVersion = 1, - .moduleName = "HDF_TOUCH_XXXX", - .Init = HdfXXXXChipInit, -}; - -HDF_INIT(g_touchXXXXChipEntry); -``` - -其中ChipDevice中要提供若干方法 -| 方法| 实现说明| -|------|------| -|int32_t (*Init)(ChipDevice *device)| 器件初始化| -|int32_t (*Detect)(ChipDevice *device)| 器件探测| -|int32_t (*Suspend)(ChipDevice *device)| 器件休眠| -|int32_t (*Resume)(ChipDevice *device)| 器件唤醒| -|int32_t (*DataHandle)(ChipDevice *device)| 从器件读取数据,将触摸点数据填写入device->driver->frameData中| -|int32_t (*UpdateFirmware)(ChipDevice *device)| 固件升级| - -- 配置产品,加载器件驱动 - -产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在名为input的host中,名为device_touch_chip的device中增加配置。 -注意:moduleName 要与触摸屏驱动中的moduleName相同。 - -```hcs - deviceN :: deviceNode { - policy = 0; - priority = 130; - preload = 0; - permission = 0660; - moduleName = "HDF_TOUCH_XXXX"; - deviceMatchAttr = "touch_XXXX_configs"; - } -``` - -更详细的驱动开发指导,请参考 [TOUCHSCREEN](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/TOUCHSCREEN.md) - - -### 3. WLAN - -![tu](./figures/HDF_WIFI.png) - -Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。`HDF WLAN`分别为这两部分做了抽象。目前支持SDIO接口的WLAN芯片 - -主要需要实现的接口有: - -| 接口| 定义头文件| 说明| -|------|------|------| -| HdfChipDriverFactory| `//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h`| ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口| -| HdfChipDriver | `//drivers/framework/include/wifi/wifi_module.h`| 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口| -|NetDeviceInterFace| `//drivers/framework/include/wifi/net_device.h`| 与协议栈之间的接口,如发送数据、设置网络接口状态等| - -建议适配按如下步骤操作: - -1. 创建HDF驱动 -建议将代码放置在`//device/MySoCVendor/peripheral/wifi/chip_name/` - -```C -static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { - static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); - struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); - if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) { - HDF_LOGE("%s fail: driverMgr is NULL!", __func__); - return HDF_FAILURE; - } - return HDF_SUCCESS; -} - -struct HdfDriverEntry g_hdfXXXChipEntry = { - .moduleVersion = 1, - .Init = HdfWlanXXXChipDriverInit, - .Release = HdfWlanXXXChipRelease, - .moduleName = "HDF_WIFI_CHIP_XXX" -}; - -HDF_INIT(g_hdfXXXChipEntry); -``` - -在CreateChipDriverFactory中,需要创建一个HdfChipDriverFactory -| 接口| 说明| -|------|------| -|const char *driverName| 当前driverName | -|int32_t (*InitChip)(struct HdfWlanDevice *device)| 初始化芯片| -|int32_t (*DeinitChip)(struct HdfWlanDevice *device)| 去初始化芯片| -|void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)| 释放HdfChipDriverFactory对象| -|struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)|创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号| -|void (*Release)(struct HdfChipDriver *chipDriver)| 释放chipDriver -|uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)| 获取当前芯片支持的最大接口数| - -HdfChipDriver需要实现的接口有 - -|接口| 说明| -|------|------| -|int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| 初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace| -|int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| 去初始化当前网络接口| -|struct HdfMac80211BaseOps *ops| WLAN基础能力接口集| -|struct HdfMac80211STAOps *staOps| 支持STA模式所需的接口集| -|struct HdfMac80211APOps *apOps| 支持AP模式所需要的接口集| - - - -2. 编写配置文件,描述驱动支持的设备 -在产品配置目录下创建芯片的配置文件`//vendor/MyProductVendor/MyProduct/config/wifi/wlan_chip_chip_name.hcs` - -注意: 路径中的vendor_name、product_name、chip_name请替换成实际名称 -```hcs -root { - wlan_config { - chip_name :& chipList { - chip_name :: chipInst { - match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */ - driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/ - sdio { - vendorId = 0x0296; - deviceId = [0x5347]; - } - } - } - } -} -``` - -3. 编写配置文件,加载驱动 - -产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在名为network的host中,名为device_wlan_chips的device中增加配置。 -注意:moduleName 要与触摸屏驱动中的moduleName相同。 - -```hcs - deviceN :: deviceNode { - policy = 0; - preload = 2; - moduleName = "HDF_WLAN_CHIPS"; - deviceMatchAttr = "hdf_wlan_chips_chip_name"; - serviceName = "driverName"; - } -``` - -4. 构建驱动 - -- 创建内核菜单 -在 `//device/MySoCVendor/peripheral` 目录中创建Kconfig文件,内容模板如下: -``` -config DRIVERS_WLAN_XXX - bool "Enable XXX WLAN Host driver" - default n - depends on DRIVERS_HDF_WIFI - help - Answer Y to enable XXX Host driver. Support chip xxx -``` - -接着修改文件 `//drivers/adapter/khdf/linux/model/network/wifi/Kconfig`,在文件末尾加入如下代码将配置菜单加入内核中 -``` -source "../../../../../device/MySoCVendor/peripheral/Kconfig" -``` - -- 创建构建脚本 - -在`//drivers/adapter/khdf/linux/model/network/wifi/Makefile` 文件末尾增加配置,模板如下 - -``` -HDF_DEVICE_ROOT := $(HDF_DIR_PREFIX)/../device -obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/build/standard/ -``` - -当在内核中开启`DRIVERS_WLAN_XXX`开关时,会调用`//device/MySoCVendor/peripheral/build/standard/`中的makefile - - -更多详细的开发手册,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md) ->>>>>>> 2969611b3e2a25755ebcd7f632c8fe3f7f0c615f diff --git "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" b/zh-cn/device-dev/porting/transplant-chip-board-bundle.md similarity index 97% rename from "zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" rename to zh-cn/device-dev/porting/transplant-chip-board-bundle.md index 0999f32a530..8e235f7c54d 100644 --- "a/zh-cn/device-dev/porting/\344\270\211\346\226\271\347\273\204\344\273\266\351\200\202\351\205\215.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-bundle.md @@ -51,7 +51,7 @@ hb build -f --patch ``` - >![](public_sys-resources/icon-caution.gif) **注意:** + >![](../public_sys-resources/icon-caution.gif) **注意:** >最后一次打patch的产品信息会被记录,在进行下一次编译操作时,会对上一次的patch进行回退(即执行\`patch -p1 -R < xxx\`),回退patch失败或新增patch失败均会终止编译过程,请解决patch冲突后再次尝试编译。 diff --git "a/zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" b/zh-cn/device-dev/porting/transplant-chip-board-component.md similarity index 91% rename from "zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" rename to zh-cn/device-dev/porting/transplant-chip-board-component.md index 5f2a6f6f6a3..618fc8acfa8 100644 --- "a/zh-cn/device-dev/porting/\347\263\273\347\273\237\347\273\204\344\273\266\350\260\203\347\224\250.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-component.md @@ -11,7 +11,7 @@ 系统服务框架基于面向服务的架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务共进程、进程间服务调用等开发能力。 ->![](public_sys-resources/icon-notice.gif) **须知:** +>![](../public_sys-resources/icon-notice.gif) **须知:** >本组件在板级系统移植中必须要使用,否则其他服务组件无法运行。 **SAMGR使用说明,请参考:[SAMGR 使用指导](https://gitee.com/openharmony/distributedschedule_samgr_lite/blob/master/README_zh.md)** @@ -22,5 +22,5 @@ DFX子系统主要包含DFR(Design for Reliability,可靠性)和DFT(Design for Testability,可测试性)特性,为开发者提供代码维测信息。 -**DFX子系统使用说明,请参考:[DFX子系统使用指导](../subsystems/DFX.md)** +**DFX子系统使用说明,请参考:[DFX子系统使用指导](../subsystems/subsys-dfx-overview.md)** diff --git "a/zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" b/zh-cn/device-dev/porting/transplant-chip-board-drive.md similarity index 100% rename from "zh-cn/device-dev/porting/\346\235\277\347\272\247\351\251\261\345\212\250\351\200\202\351\205\215.md" rename to zh-cn/device-dev/porting/transplant-chip-board-drive.md diff --git "a/zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" b/zh-cn/device-dev/porting/transplant-chip-board-hal.md similarity index 100% rename from "zh-cn/device-dev/porting/HAL\345\261\202\345\256\236\347\216\260.md" rename to zh-cn/device-dev/porting/transplant-chip-board-hal.md diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" b/zh-cn/device-dev/porting/transplant-chip-board-overview.md similarity index 92% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" rename to zh-cn/device-dev/porting/transplant-chip-board-overview.md index a5d18d9bd49..732872af5b5 100644 --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260-0.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-overview.md @@ -13,11 +13,11 @@ 4. 业务功能验证。 **图 1** 单板驱动适配流程 -![](figures/单板驱动适配流程.png "单板驱动适配流程") +![](figure/单板驱动适配流程.png "单板驱动适配流程") ## 板级目录规范 -板级系统编译适配参考[编译系统介绍](编译构建适配流程.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下: +板级系统编译适配参考[编译系统介绍](transplant-chip-prepare-process.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下: ``` . diff --git "a/zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" b/zh-cn/device-dev/porting/transplant-chip-board-xts.md similarity index 94% rename from "zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" rename to zh-cn/device-dev/porting/transplant-chip-board-xts.md index 44b37d01442..00253685f75 100644 --- "a/zh-cn/device-dev/porting/XTS\350\256\244\350\257\201.md" +++ b/zh-cn/device-dev/porting/transplant-chip-board-xts.md @@ -12,7 +12,7 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat - acts,存放acts相关测试用例源码与配置文件,其目的是帮助终端设备厂商尽早发现软件与OpenHarmony的不兼容性,确保软件在整个开发过程中满足OpenHarmony的兼容性要求。 - tools,存放acts相关测试用例开发框架。 ->![](public_sys-resources/icon-note.gif) **说明:** +>![](../public_sys-resources/icon-note.gif) **说明:** >XTS的启动依赖SAMGR系统服务。 适配分为两步,包括: @@ -46,7 +46,7 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat 请在如下目录获取版本镜像:out/hispark\_pegasus/wifiiot\_hispark\_pegasus/。 - >![](public_sys-resources/icon-note.gif) **说明:** + >![](../public_sys-resources/icon-note.gif) **说明:** >判断当前版本镜像是否集成acts测试套件方法:在map文件中查看对应.a是否被编译即可。 2. 版本镜像烧录进开发板。 diff --git a/zh-cn/device-dev/porting/transplant-chip-board.md b/zh-cn/device-dev/porting/transplant-chip-board.md new file mode 100644 index 00000000000..f5d7b754b53 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-chip-board.md @@ -0,0 +1,15 @@ +# 板级系统移植 + +- **[移植概述](transplant-chip-board-overview.md)** + +- **[板级驱动适配](transplant-chip-board-drive.md)** + +- **[HAL层实现](transplant-chip-board-hal.md)** + +- **[系统组件调用](transplant-chip-board-component.md)** + +- **[三方组件适配](transplant-chip-board-bundle.md)** + +- **[XTS认证](transplant-chip-board-xts.md)** + + diff --git "a/zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" b/zh-cn/device-dev/porting/transplant-chip-faqs.md similarity index 100% rename from "zh-cn/device-dev/porting/\345\270\270\350\247\201\351\227\256\351\242\230.md" rename to zh-cn/device-dev/porting/transplant-chip-faqs.md diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" b/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md similarity index 99% rename from "zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" rename to zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md index a4eaf54ec51..40f82e0cd77 100644 --- "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\345\237\272\347\241\200\351\200\202\351\205\215.md" +++ b/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md @@ -15,7 +15,7 @@ **图 1** 启动流程 -![](figures/zh-cn_image_0000001073943511.png) +![](figure/zh-cn_image_0000001073943511.png) 启动文件startup.S需要确保中断向量表的入口函数(例如reset\_vector)放在RAM的首地址,它由链接配置文件来指定。其中iar、keil和gcc工程的链接配置文件分别为xxx.icf、xxx.sct和xxx.ld,如果startup.S已经完成系统时钟初始化,并且能够引导到main函数,则启动文件不需要进行修改,采用厂商自带的startup.S即可,否则需要实现以上功能。 diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" b/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md similarity index 98% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" rename to zh-cn/device-dev/porting/transplant-chip-kernel-overview.md index 6f6b4217488..34095a2318d 100644 --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\346\246\202\350\277\260.md" +++ b/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md @@ -21,7 +21,7 @@ **图 1** liteos-m内核模块图 -![](figures/zh-cn_image_0000001072304191.png) +![](figure/zh-cn_image_0000001072304191.png) 内核的目录结构和说明如下: diff --git "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" b/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md similarity index 95% rename from "zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" rename to zh-cn/device-dev/porting/transplant-chip-kernel-verify.md index 4604f13ad9b..fc16eeb224f 100644 --- "a/zh-cn/device-dev/porting/\345\206\205\346\240\270\347\247\273\346\244\215\351\252\214\350\257\201.md" +++ b/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md @@ -55,5 +55,5 @@ LITE_OS_SEC_TEXT_INIT int main(void) } ``` -第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](XTS认证.md)来覆盖最小系统是否完整移植成功。 +第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](transplant-chip-board-xts.md)来覆盖最小系统是否完整移植成功。 diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel.md b/zh-cn/device-dev/porting/transplant-chip-kernel.md new file mode 100644 index 00000000000..e27fea3d596 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-chip-kernel.md @@ -0,0 +1,9 @@ +# 内核移植 + +- **[移植概述](transplant-chip-kernel-overview.md)** + +- **[内核基础适配](transplant-chip-kernel-adjustment.md)** + +- **[内核移植验证](transplant-chip-kernel-verify.md)** + + diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" b/zh-cn/device-dev/porting/transplant-chip-prepare-knows.md similarity index 93% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" rename to zh-cn/device-dev/porting/transplant-chip-prepare-knows.md index b28e2b5d0ff..6c0282c492b 100644 --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\351\241\273\347\237\245.md" +++ b/zh-cn/device-dev/porting/transplant-chip-prepare-knows.md @@ -33,7 +33,7 @@ OpenHarmony整体工程较为复杂,目录及实现为系统本身功能,如

    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 Gc>N#PT?mi> literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png b/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png new file mode 100644 index 0000000000000000000000000000000000000000..39c6cb96611a7ced5e17bbeee96ac77ba5c1bf58 GIT binary patch literal 55221 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�`CQ|RV#ExZUQA8abUl4YF<Tjw)MXG`sms%vJq}4 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" "b/zh-cn/device-dev/porting/figure/\345\206\205\346\240\270\345\220\257\345\212\250\346\241\206\346\236\266.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..dd8e1c235633c3e42fcd1360b66b3ce3452db02d GIT binary patch literal 612762 zcmeFa30M=^x-J|=L_mnlGR6^3@ zA~GA5Nf8K;0Ii6~EFff3kVz^Eu_Q_5uRi-f_y5ms_kH$0`<(mSdmr&Bks`HfjoBzcO5v-cDTP3fch}wP?8ZfSY!nJQpvopsBT1TW7PO(Uz^o z7M8oLcJHx1aM13M{ox}HZpYj`Jdb;M2mE~MbYM_$$oa^q3(=&Q*n}&INy#axX*V)& zW@YF6`djYZ!h1#ci%Uw&9#>V@)Yd(DTHnfKwY7Kr{`^I6U;n`1(3{~AE|352{lw&l zscFHd&kKvfFVNSeKiahnCG$VJ?5_>`n|7%n?OMKKh0F@MKiaiyc{Fm#sH~7(zkQ|Z zJ{LLv2(=A6F0WGGfBnv*7Ws`kT|teL=Xw-0H(78u3;t-@zqRZiYgqh$s%8J9VgFyd zMo_C|mLY>Dqk_Vt;0dw@N228o7F;f$&UoM(Vtp+yJm%uLabv-cr!S_q#QeOSS<#`Y zdD8g}|De9c54?IRhy|A#11++GR4DqKy zDGGcbh?b(TTcoJO7%uSjeWet|_2tdOexBiWs0a*5x5Y|Pwlxf~NrSHx)%gO?^&=7C zm{0)nBt4U&a8A1SK! zSsPp2PzY;GCQ4D0*>y+_qSF~)V|*LczgO^k4}PD6-xtYuGxOb0fA=KceepjF7ECyJ zb*Qs#iI^(3zki%WXAKIiFEp0F@$z}lSXSQ>99(k3XLP@TW8L*DN83|$?4y5rdiwMx zTA#JJM9?k1Hoi@YdQ{B9EM0hZ8{LaeVt-msBEZer#3l1*u{@kE@OvT`FIw&ee5jxM zfV!Ku1-U@RNU}@61$CGvOc|)oo9V(H>xE^-KK+qnj?PaDI*<0%C}L5h_=#6b?VpBu zPpTWLpQPEOhvvm>%#|-Zax(I|#wEFW7vfcR6-}&`C)_O{&VB`r+6*>8M`FrJ2`t*m zrnR9A018oc-pw^{*kq1moM$jf%T~(v=r5& zo+(8sN4H~OlKQfxU^~hwDT?_>it?ADmNwh~xUV240^62Tp$qs~ycBiNl_1{3UJHEX z9F?0Y()gN#Jlr8kmZCnS9g(7vZTLu$whDOe8!76c6eUqPf(IwbNLiDYf56?@Ht;feugF)t2OJG~NWya2 zbI$|;txcN$e*@#m7)a09{yt@`|>+Nf(k~#(K^H zU}h^u?Ti$4R*Fh*S}VC*9Y*BPS=3ZKDyIWh1+mG1|2uFzkMGFVfOZhpKt@a<4YM%# z`Rqda9&%U_(IUqKse=^tm?qAhpBBB)31} zwCJ?E$~Ed+drW z%4tQ*F<4$r*pQJ!33SqA2doP=7SKT&YlZ)wu9CQ1a-T3$csw?;sVcG9qsHNSp?5{O zTd}JP)4!zMjqX}BeQ0fL)T3W_FplYXP1#YZ7}X!*3CjG%6IBZxmdVDT&upXhx*lk!@8xUQ*+F<|;&eOJZ}bRnB>Qwhr07$E{T;MXj~nUM%*9wuW={6%T=D%Yy|zytejRWNaZc za{?lAJ?9EVYbh+uY9JIyU{rfD=?U!G{G6+}wPZzN`bap7KB_A`3JxZS3@LANtytJA zYz>PzV<#V$H+5D5_KD7O$BJ741F>@xm1m!5CPqR5g}(M&YHCF!T@H%pPlV1xM&hN8 zxj89Hc8#E$HHYCbI)D*#kr0sNk}vY<78^q+%CC$Ysu$U7Sd+RJyS0-ZJp9}y+A=^-ZQ<^)J_hbyiVSsrV4gD+>>prC zQD*ef6k#J|pqv?8o7apWDM|+(rpZ(*=?Ym;Q6c<_QH7Zu!pzDGXgsS#aRi4ZAL1=R z!X8HG9EMvnDOPu5;w&L-D36HpCKdCDR8AjdJ(SKg0X_O!aprd8 zzGKW`l+R9S!co|G&}A>0RiG>>27>0V!1`dv>`p0a#Rn)(kj!bLCO54P6- zhEmiVgO5)JMs~h+v@FOMgz|GzqmWfNp{f+%M|Ex*I4zcnY1oR|ksO6A35~45 z->U^H+KKE)41P3|mcj;)r4u2e;xt6_2Hw!;bnHFSf;4u70NCksXlK#`%={b;6LQG7-}xr!+$qg^_~=#bUKD z9+C=*CS?o&-SJ9dzdA{N1em^lD&sQ48)4f27W z_z+d^;Mk7KuwjrJ)M}|kQO`blh~4l<1l)4K)`yF%b^cIm>aLllN0!c@DwXY(qU@zJ|%~qx{DO($I4);}K)XCUh`l9|0 zM<O5`;H{45c~bGv7sifqK|5pU5m z!v~1OByJ05OBB$w}V6#{v^r9=|Pii__|~kI$^{!y}_RgB=~KI zdN_H9fxvY9)dB?&KPo=JV=D#0TD`Ur0-5#;ON2!7Nu25w&JYR~gtmjE1Ff#!q-=t{ zUI{@hAzKIU$qX<)t$OEB;Z^_SQhDCwTHbcbctoK?ftviG429jZ&KpNg?$ld8QFN{S zb&>gQha&4=pFA(?mQO0S9ti&YVkgtR=r8^5Tm8qd!QPFwXZ=0pJ!(}m@PVf0xb&!P z)h3?Q=NM)D8M-QYH5AH|s38VBAr;_cFsgSw$Q@!~^+*ob3no?Dev@NA8ji97S?Vn{n&GkLgii_os12{nfs@4pk3@jBD&#tGVli zBqLb9Pvk_hX~kD1Q{`BS#N-RH-SIdr%D8t&5*aW00UF{>w&ptk85E^nvf3TWE1(+F zTzQde)EqvWPvFlbcbpeFzZyq_*jBv8*a6%k47Zg=a)HqKSfAS{^v7-iEL{K+6#zFbv}h64U&b ze{TH}8_v8FB)tCnYbe3TL#<;9S;zR{FT!<_2TdD+mOVIg__cvKQrJcjo_rFb3492G zz-tTPDO%ptmPTF9JhS`F0bvQ0_+Xl`!jhO=u%RJ*<%itjYvhfA0wmwH5oDw-c56YI zzF#HT^5Yf;}&^Dy!bTx;%Jex#xG>dEzcrqB;QeXe~cNqQ#;4A?a-Q= z*~Ytn|LL=>2Ub6c)%Cvr(W?vv_Q}|KI)bDqmt=~pFX|4pgSF>iN8kEmZHM;9^iJjc0N#@{7-b`!xrNkCIvVbo^?@8DfTkCZq=12>Fs?DJqDa zidRMk>{+!VK=(Z)l zEZ%%#fr=nMBcmh56n-E{rR)}KKu)K4jL|w_3xv?T^x@Bl`8UAni?Nbhz{&FYQ3B5j zK?e+NcoXFXrpi2zr#q*}V_dUfuVI4SKR$&L1*7e36|#@OgQyHew_3*y=7XP)L4i?m z#mv&_FGuMUXA40le=l{mO=KqC1t}Ghe}LEm8R0caimfF_iW;>N{?Y?uNZwKuudb#0 z%}PQlTLot_!&uX_<^6?#86>%$PxHG38@@?mn0`l974Q*t6HZ(Ig7qWgewfoV0 zqs-+ORU^NpF>N2jBq?kY|60m>w5VF?T&rtXp2Xyo+xb7Tc=(tju1gC!wew0TNAR$n z7aSqOee1jBWvuM@bR9oVG%3FLDb+*S}WKHSJ zeU$?SaE9h~ijE*5g;64ICp<*cX|N3CCBzA++*a~Y(630K$Q^3NCfM zwiKlbuOmA>0>_&Qc0*o(;cxi1aLB~-5;6nOkRfK4FYw{eGK!!u0RwqCkDg3>jBh;% zzABF>ff6{3_W88&9lfxc*jr%XU7MB>wF0QB&do`+btxv@RMd_0aqDY9>sO9lZQ9=R z5&ep|4BkR%M?CpcQSdk#GPYuNLz}b9%i+G7v6kf1 z#?~OCMUHSA0`!zBNF!g43ns5JsuziA^<5K zs7-?SON$Hx=vga8>va@51p}r*ZX(a4^$$S=Tixx8-QvpRmHm7?1oEaEcRxCzrc=G= z>7ys!dXBlKo!dGa@1D!B|E(is`jo~vc2{x6^KHNC$qCPtn?A19j5%8A?oPLk^4IIY zmeSgexx8;V8S?JQ8Jvq=^y5B%4FsGJ_{nWzk5#U-k4WgAp#pI<*~WK8Xj#qatZ&=L=-JW4Z~!_q7D$jLrpK~SEZ<*&|ekcF)2z2&@>r~o??~T=+`f{ z+`Xjm$Mq+Ui#`zhr+fb(??tCcQK8tcmedg<+$BZvv2ZzEW$3lWX9WKtRFmN&kt0$& zh8X$xKorj!g}8uI_^+011cCmJX_=RJ7U z5NqGJZpX)`qHA|L21fgzUs0R0>&EkN3xeWf0|K|WH9V2F($=C$5!ws(A#S@BklQ@h zey>0c3g)ntNoq{TlCh2zp5E~v{IvQaE6u{so~)_8#{1x%I&p1$#f?M90~9}~A8i~y zb}KSJ=unnd4O2<#;bs2@_H_QmHFcWHIR`^HZRyPw20M!F5BAN z4X)oX)3kN)N2dx>j+gJQkvAc+aK-B%MzX77jrzl{Zr3gU?Z@D2X=$1_&Uqhc=|%qP zy*bsNwd>0-Sq>IuyUFH}rOzJ(+1+1saq>Mx>D@YAh&$3ZnRbzI;~w{A&AVIti%0Ie z*r}sD_ZE>HTXPMnc!0`>g0-NK%ERdTPSq!0t(h~i>x+~Gw$&}|$_%|drPX9KU}kow zY3RX1rE+_xUEkR#ua6Utde6*7&UmK18sFk}=kB$-nbY*auKPoU!MmOn4a>f|_yb5y zwB3qL2?QBQhy{Au;KS2pXptU-$smQtkeztXL^ev+A{M+p)48@TE|g_ePsu8JGdAOW z{b~OL(}hvR;0J!XHj&hP!WBSaBbby9F5#2#XticP-N6Nd8Y#L(oMbSdhv!xeh6)$2>5r#i~I@ICSRI}M53gh*np~$$G_SvDjc#r$JXQf-8 zchwmV|B+1mCoZ`O`)f^FFNelIJJGoL*YcxzQq(F4VAWa2Ws3Lq zek^$PA})~7m_0b~@pLY?l0)JKzrS%Z$^NvN6qR&VlF#^XS*(fhzFwSg*u^sjF;zx# zq65GidoC3&57Vh1f$z1Pep-Mr`Mu=z%ZP>G1IfF?_Gg*;ZOGqk^q2R&A=?rUw_9a~ z4V%=C&%%3NJr>KJ5v7z3Hgl%?b5tYLvK)R5*?FrnpWi!i>-M|Z8xHe7Xa6n;hfdEA zkHRUKmT<9U!Ae8`seu8z*j06sHTZZo6l$v^MZGW<=9&O=4U=%vFb&q?F}?;*0;f*V z7R;Ift^q<}XB8k#SUo1P0eWPhKU!1O%og7*gteauFCYZB9Ed0wl>#p_zS{Zq*!?qV)D0z z%G3HgJ$h@jBcCnSHC9PJ4?ewAaCXTUS5(fi;BRfU5(4UX zj|3G<>TXFcwOKc_HBcRJi+`h0EWTgr2Ra zf)k&h#T$`C(5I?@a14qvd0$#dWNjWgr58z%M{6QJV6)G(&&aL94IoiJ3e7frD^Ws&^&&6 z4W|df<@~s_1SJyo$HB$Mok+Tx$lDzm=f>I@WT5q!QD66TXz@w4654xcQ*ZUJALlde zdo7)uZfknSy%j`84o2Uy8MS)JHoc|)2r3RPX+4YmQh#LsFPZ5>*}r5}ZW@Vk_A&4~ zQzc_Sx_FoDFl4s{DrQq*7Qb8IOp@T&j`cHMy%9np?&qV-Go16%H|YMvu|44${Zuh~Ks zC;*{0M-M%yWfc8_SRCwg{Om0*U2^nP@h5Yn(Hs9D&mL!{NKuP1zsjn+c>IFI0Z3wV zouKX#SzEM&)XL|5X+g+RIi6?hp=;fqg1U5kAVCx1d&95c6g#=Tp>{)JjKH}2I?WEVzoC+cd`yG6Vv#EZtKk+&iV_&%Yr*+ixXtgvp{Ur>Kjqp-?c8YmkLxFK7SAG@i+$%8`u) z@z~Tp{$x8o1*av+vULGF+@MB;(!=TZSHhj(GiI#Z<%VUUoOu;!!;u9S zInnW_p$?G}WgP#wxVbx-xY8Ur9S(V8YP2p}%v-hNtBJFx_}$Bbr6>(C00`{c@QO9v z@icXSa|_;x?EKhy5lrSXSS6+w@?=Xc<0?gOFv!WM%mVL5#7wdkdnFh*`5cKmrcsZ zI|2AjtXvyahU76%5ExxHdJ5Sgxr&bQbx=mJUkGdo4HZ&`D7&FzaFl~?cjFOLyy41n zQj@P^2L&y;9cAWrv`L`+RD>tFvbs;*7cU0-h_Dv7ww7hmnO}vva!JgeLV$Mr)UJrv zucl6BQfn)zMJa{OwN?ft_SlL?q+1tEwq`kNG}~h`mdf1MJ3sJr94%TrGn2I4a?))F zv-O&tX#$qc94Kqgf9Sqr_+qeeOk@PcJL^Xcvei;Ew=GH?^J(}2{K5lJ(QO_#fqX^V zL&q(lQ-V>uDsb`|Igo>W)4{4QPO@)#-lR`HG}y424u{=heHK82yyWNZ<} zoialfdG*Htk%bEs-pqhD`*vTUD2O+M^fvSxw6NtFl*#Q*f)!qi?!vigtc1*tCScN->85{Gd`^rGf8B-MT*V0l~%-gSO`@ye+Jg(`szy&hms4gc{%^ zCLXgE5ij_3kLtF1FhBx*6vyXUb??YcVjtT!DNZ z7)cO@ffy!DwTW(t5WY#sYUy_9A@9?#*apRm+IEd^myg)M+Ao5qq^@ z14u|E1A#(77n*kkyHhRaW%maN@F|uIjVUuE#vcFz5kiKd@=Q`e))!z7NosJ~l#!;5 zl7cWGh?+{%rEHx>%yOPS&0eYs` z$~<`MGc}ZBuud>|N3gRkHmQ&o=7)vc@r(X=(1$Me0T8wDi>HX>VFhj-Z6rrXYv=(^ z(?)%`nhAU?Wb^@w;fiP@NTMsgUUKg&*+sDYa|evSp|93T)0hWB*dt74f&LZm5bMYs zgVi)1KJo0CajyouXl{^clwG zJYJym45|`&Sj|dNB3n|z0cbNaBrA}47fU`Wx!oR>f7`5)5b`X zt@R7mbJ^(}A4ckhTpMiq0#FsncrzsI>9LhZYBLF0mOu<)Gn9FsyhVVS4HoF~+VglK zM0Q~KiYD47UQbAX1?i3n-XwGu!iGSoE6vKd4f6MYRIuKj+% zl-O*b3mp-d9EWHTw}Zyb1vzQhxw)owVk{IMT};}!zwR+(z>=tXWZ6J=bPkVuGY~pa z6i~1$`&9d{tIIPBGRt#Jwa^m_Ki#M#E`Rtm8%XJnFc{yR`{>p7fzZLCw6>F5TaVf7 zXy`P_4rMM@p=Y0PCf%-lUd_dyO1WFY{Sa}Q=xrHy-ymtn@diU3nqp6qw*Q^f&WFdc zWC`dbdP;HX(j=2s&7RZZP=~98CvG4nFg(%LUvRzykSh{&P{pTs^lMGlNSr>~0y3L% z%fYk1Rff>kH0`1cjL>HnD?(!BQX9PP5rc+=IL$n+a%l-0x;Ed2i2B2PAwo-T2X#`Q zBnK-ha?xwan?Y)dSeF|fZ_RE)Yf;|l&}Y3)`v^;Vc#<1Lo?i~>dP zE4n8>3^{SxE5%{GK){wrr33A_O%S~pL1@vJ7DdQts|uP@%Yq(Do_Rn4Jf%aE&4AJ( zUKz@3(=yl!Zo+9*G5R9S0vv8AIZk|*4^)2=ezh1|!QJlGeDd>&6q;pU>(fS|zr%Ct(%i+gd{^ zO-;eayzyO?NfU|QnODJ^zr49x=2f)Xj(o^QEI;YDPGd zVrCWDzOg@QFQJ2mKHH?-!c)5FHL%FgA>H*ogw`9KoC}AHv|2xqZ3Ks=iV-5$fz;mF zGQRA_P^+JsU}zSxyRuIuc{u%`?7NOivL{7WVs#^g_n!nY?V$npUYS{7Nt zxY!=JJ3i_iRJY!?3x^?}0@Ns7IBkLFEW+Z*u7zmed@CDtMs_wG0Td~nwCbTW#?SeR zNF~=+m^U0Lh6ejO0$n5z837q+Kf#Nj+WM9Gad-5QaoYkeR%X-*Yp>t&KH){UI8HVO z>2m>h5LL+heM&b?4j;<6yfcLTI4py~+|A(J#nce4;e!cRWcV4AtWJ@-Ad8w(jTs3S za(fr@klYO9e0))nv0@~IqCP}+F~|=Nh$(&(6k7=09U2ZvQcH=bc^GqS>+80Ow-Jdg zuRFoT53elF$qTOh66rZO-TR`@UQ6$Ojp+jm<4&~mp8HzJE~db~(v$+l?kK_TkC+zj zqu&~Xhl+E4$v@-tBLypCi?4a*sVF&JF{pFv^C?rSp_1-xS>D^r27P@-8cqcFEp>DB zlRFrYL&JeGQXY>sw^33mP~(1SN1{#@Tca}Z50YAdixCuGsv|ogEd2*Q`0+O$7TQxT zG#s*3WV9G!S8uWopKSxf=L|GR3-9}C#x_I=Rz6!o!m$;J&=ilILaW2F=2xMqh_IuO zu=_s z>0S#`3PVjoJ@KbWqs_EhYO5KR=h-};Oi_>&*#>Y;La|r;c1ZFmd*Bx%Mq;%-?ilq7 zZqpRbAbXy_f~|>DLwsY!oLWuQ4Y39i#ZH_q|8-9h zul2fVWgq?wI~Aj0K_8KGhrB>4XSKIcx@nU(Es3ZhHsd&j^K&wQ(_QwC;I%@&uOkas z+oVK30u2vSzmW!ak*SedsSD^RXQqcaMLn_0iS-MQIQV~cfl$;6Xc+@9XZX^(8;6|ejH?nV2n z9~LC9IsLlp+{@TnMdhlsz3tqe9xVvg-a-$2{t>Nm085HhKT&#&_0tF5xe;<^hOyUG z!R{YD2c`&UPu->McIuu(7==Hy-X!*%q7=31054gRx>N_J()%35osv7iyA<+KWbYu} z0}*mtE(H_id7k1lQXt%Jdqj#Vd22zTbJ60fq;k0V2?Dwaf^{x-8edgJDSvQW|LW!0 z4m^|-Cjy9^TZHdUCoYx4tA>WN1hm;@Qq+3lC zqwN@>1(YB~IS)lG(f@oia@o>8a1=g>MX=r*)lMnOZYcbOJv034ng%0;aCXE>w0s-? zs)PSK7pu>8g1blYGqezmXfn0UvNnpy!mWg$+JH!()h z4_2`dg40N*(n;a>O6_dRpOuRg&#rLqhJ1mQ$WF;hGLo=t{oKkB*U+a|8_MW=n*KiR z+H!K*El2s6zN=H*a%WY<$?Mfze0)_WcB+tl0Q$10-GA$3gPp>!6}CnOn|YR7oNIPJ z$IrdISatPY?uF2(f#|)v(mrGV{DwkUi`c?gG9j*JfDIrW$@qtc&%W%06QOzWCgjH# z;-T>vDT;^~>({5X5ZyKs%YLGS&i}*31;H<0GCmNmAx&~Xs3Uq;9CuNSmaOy#z`IEJ zZZy&Kxi5&0v^a4H42RQ(m{>8^)&wD)yz$&9u`ZI5tO1e9qS&o~ym*lMw{^pOui5uL z`(xVvA3e`D3KONM8|wuJV3q{&$Ong}iYRvED5wT3_k{Kew0`VuG9=^r7m;`lIl(cF{k!%uc)*4D;Z z{y}T#;iJCO8vj98^xsWuJa2q$VdfBCJ#B5C2}C>!_&gsuYExQkexW$eb_cHQ`N*?} zJAT<1s=7gUH+)XIM3BMIND@VyuQd*;GVMv1mq-HPi__zy=^vU>XL`?7lalRP|pesa&c zWZWFTYK7jQMBU>&l9p{OI?`YJ_S4PExVe{O4}ujUr`W@Ni8k}kSG5aA#HD`Y{&woe zH2(nk|LUdjE$D42JVg!^p@82#h4Y9ERSeZ2fS19^Kv9zZJpk~0Z+{JVcR`RW$-u3X zqL8SNQa<#jdnn3Z{&wT&kjmd8^dAsr^aoiIcFrw4B1W{0(j(0Ni&Ioo6sX0QZLFzj zAna{xLzKs8vYq<2eXB!yoh*8Hbf~+O+g^K-Qk0@Gf9$9nA3ZyU1eWHK%eGb`8$=KM zks!ww5&s`_t>71 z*{U&z0T-x{QMkka-%J#nFR)=_hEvIH^h+8PYcE!-gQ*w}7S@VIjF*PJc<)A7epHIG zr-BG-Rcu6zTpGPEWQ)vaBiP_NV&mozxpW7lh~Um~#MZRAAZ<8|*fvC()x#Gf$?(>B z#3=E~7e>-h;^&B9{2tI^1AGv`%MmS2^nHZ-MifK6cuqcJfh0vO1Hfl}08}Q~b@vi} z2f&@efX?hCTi_A{@zsm_o1zJKw< zS_U{K%&VB1_^9|M`x5@4vB`6Ih1j>3f+w$qd<6_9tSu-`XxJ+VZAOl?N#@QgiS2q# z#dvpZk*OJfhMEut-Lq;$DT+>?L{-sqxt?vP6wT- z2rGVi(@y<{dPe-lTJ^cVD+QjYG=UXzM5du5et8dqC~A`WsC+H2hgAcSaRCSe5buek zcaBEsW8HffbxHFU5=W3z`T#2o~RvIQvzxp&79QLvD{Wa1iQvPu^5_;vrU9^RD zFdGAv;gJpWNJ^3}JYANNU$@L#`R8l@;-DXNIxjt4&zhpXT#m{Eir)v!l^ zAOZ$I>?wo|LPfiP*9jsrz$-x%Ii+}soTV^IJ?;?x^C#jt^xRhDNWLeM`K5V@8D;yo z--`Km+4QQC!fE6Y+6~cPfM5a~*D?Q}Y!k+XDi-IwO%OQ%pFiR+!q22AN8(k0JHe<5 zl&r$nb->0{SRoT(dd}N_yT3wbr?)I!1t#A$y~B*SA$5unu@~7(-r@ixe72P2;Xmw? zG~toZ7(7OU6LRt2Dw-JRV&9K^9>4j^I=Gi67E#Bgs0UJ1?+_mY#n5Mmk?khvIRO%{ z7b3Ie9&+%fUe7m67g?v_3Nc^5VxP(h5ux(rTgn$nG@Q*q*f?evaJqYG4G>O6VsEhq z!Y|&Qp#Gi0hlcxI7LjMVpU3@M~e%PdZokXI9_kTl6^@=7vla z7ZsG&e4b`}Ysvh*)!3JeoQGgNMpEQb+wf>H5hPM^y5vA)?Ia<`ju{Kstz!qpULcKX z8^Iep`-NF=ew{lO&AsPm(nk-IqG~P1Tt__z+gd*u=u(di(8=~?!Mm*e?wk)BX0#KN zRLCdmB((d2>@2x5s(&#~-7@AQS*+L2c|mgDKmwA_Zbb`31OGLoC^cPm|N&?M@OYA3#fnyRk6DAwy# z+dn>-MBKtRZeM%4%odSszkf0LT-k1a(&p~pK2_{8(KW48N;x-tly!Pr!SX~Ok@b@| zor=z`bS;_5`MM_qD`Zzf=brkUU)zSp6-Z+gg}2 zk);leC$KxnjN?W7)#x4>k|OJE`CjeFwm&liD;3Q`)19u7g?`&3a&MM&=4Dp|gub}- z*6_}j`^B61T86oloNwCFZ(3@PraeH*e!PG8Fr7Pexye)Bh@F`t+0qHAVGtSsD|JKU+)MUZngf1Ks1l~g+WNd8mtetK<^?l2<5FN-@_ zX|0#}KBu-+!DI5)$=(i+8}|kj%LM0d_vX3ZE`3p+ZGb zn^d3k9Ww~-Jr-Z*KGGxg4MvX+Y1-udlzYCBrD!NcW#EIlWucvXVl&}VMj=FJQLH6* zEZC`j8$mwlY~R70BOo=tNh3(dna-o>lZ0UbEFJTr`=pN1dCw{eG^u0<4}4- z!0nME_k5;^BO~ou;n?asa>i-ydroZN2W~c2W3{_DceQa#`&p%CIJ$FDsA!9WgXSqK zgD7WZvy-_uGONesd#;&VAU^f|k9!>!wz?N9hg`2rVfI7_YfAT15IXLkaQ1Hh?p%TY zJYw+t6_H5G^o-1a_OuW$}J#cv1X&JUVX6}}R+A}dO!?D;*2#`K=ZDf50a z?HxB(ogQ8~m7}GZ>dzyr4#`DdC0j<9Lj;z$W=#pbbpI!6b#%s7&l`^$f?A7=-6}WN z7b!eRQ-ALwx?bviQ`farcKw8<`mwPsB@Wfw1bOFNvNseNFHXI7jkO-w;veCD=ZMuF zSLRUZ+9xh0Lx|D;Hh}v!IGm@+AtnJUxlL9I7hpM)=@ku89Gk9-ZR5HR1-QK6(vhj$ z>|zd}K4Y+2pf(j=_T~+8K+g7=CCwtuOrAc@hK7dnesn}m)eLkSwB1`em0LM^g9wjd z9*rk}6Uf%J3?LYP1*1q=>qGVsd}$U6hS~w`Df|ktRfHgro1A7#;IMTeT|$48nG@&t zsJ(&q0=WcRm#|fRP6H3B0`HE8T5G&2zFQWe>?r4q(eT8KwbL74Frut)ZfU*G`1CO< z;&_M)jcNRA+8U=9m6j&Q-yUduIQMBNTgSug0;@IKuo|3qGHJi2sOxczHowtPKDC7Z zJh_bD{Y?P%chT8;1Oc|V1Drg+%}@q%42DrW{w#htlNZPePp_Y#bLWv0Yq&;j>{Vpn z#%KN2*wxc8b^t@9aSMug&(Jbc9!o0|%T9Fg(E7em_`YZL@q0IPyFM8-pPe}TJSs18x;3VPqq$)}BixW# zg*U0tv8HZNX@bFh66JewUtRw~zM{{wzUkevyPvk6zvWIm`F?GworlnsKAY$1H}vL^ zdt?6B#+#>H-=;p^{F}4du}SCcw@NzK+%e?u@#h=K54ptFZ@(2N?|!6phqJk7x_#OtYdH7bTl!KU;xZ2HAw`M4HJA?tw16 z3(5V09L@A5e^$#l&tacSG;7C&q50 zAF9;0jMAwta|?4;P3xQa_2#ru(v8S`S@(1O&UtPAQ#|m+-MS}&-44})W9pT2zbpn1 z7I!(j+^i4(J05=M6QT)|JuFGV{~SKr2P?FQv|+^ND*|Cp;MIh^jdgSEJ8yv&6FjHb zqt0M^AG~^aUj^AHTWJUI<}0?r9^a+=qP+9 zL4u&*^f};1$t`^F{4ig5xxZm+Z~(x|x8dZp)05a5^aiVd(yqNtc^By;BsEt3VmlT2 zKOwxw_60tJVp(NIyB zbw8?c424=w`=-I4tR^65#?FTG_lAr*LT&=Jc6Rm3>k(zaOL`17;52&pGjeKMDMcpO zyG!JAwwG)#I)t3CAWtzO%YwBQVz_SCXlLbaa-woM=+pP>?+VE>4b$u~@p#;TXys9pX2qxN>lCr96K)P_ePA)Mj z-_CY>cx5*))XZQn-lxAh-E5=J>-i|1r7K}t-6qa%SM;-rjUy$Mhub8jZbhQ!ZNBX^ z#-_qj{D|9$p<>zD{>^*6-(@(IW$bbM>h91zyzkjo_mErRdokVYf5y5mXeGnj$-4!F zHcSdzb^)Uj_l!qu^+h)$TM-ht^x2FHL$HcOix*3}L6Gr7_RjhRXD_WRmpmz0BT$Q@ z9UO=W=lc%3%h72Z3yE3e;#K8TL1dzmp=87+VXIT4qAt0tF}_zGUV7X+Bj~tq{n|>8 z3RYUjd3%3rH>kM2@MFkjr#rcnAvJo(+48GfYILjjy_w!PTzSwh-^04DX6Rl?w8uem zAZA^7!1u~e)(8LK?dc4-blkW5Oatl4#1n(2t$#EBXQbtSL#B){-GtRHaJWE}{z4|q zF)rkP2$IwnX5yYLSIm$!et>u8i_QGPRTHNVB3E(G5L%b98$(%WS8v|vIH4LNGCd>L zjl98T9Bc3NpB>3R?omKUSg6@i>cj}@8taf8DH(f-i^$`j{i&ceOcq>n}tF0851~BPb-A$A~a|3K};RRcxTnN z_ANVZq*6V(+PBissUU8+IL~T`xpo>Dns-{g_S!M-50A_TFpu3vPmIA`L^DOH0+>?t$ks)nGk+%KBwZgaC? zZr_zCWqEo0N=kF>Bf@q1$(ANwlRTV}N=%f+&xghT?%Z$vamwfyX}G5t)q|m-&7C!4 zVN0=l7Ef#q1;|>ZXw8Xv!npBg+Q<3uRdD7@5yoJg8cn);Vqp24>J=QF$!@b;)Csnz z1PTJ~hbsJ)sy`;e@ogvA1GT>Sgm@3OmA8JZf0a0}WVZLtBWu4qzUk$-ONn>9_kBHg z_g#^s%GEX_QX{leErBY%=cDOzSN+fLH$oa7@@Nj zTq~yE##$%>fwUB-$FB!IuHQRv=IJNfckD|GJj-0bnw$(+zTpC6S?{wEOZ=|6#u$IQY^v>ZE!W_wq{cD-&& zMshWK3mca`Axo3=t#N&tb{y^kmd`1gp`V9B-(5)g)%lQG&SKRK(nGJkDOw{)RaD;%JUZ9uZ?n9tcRLeaSTgOy_(yp(4`y6Xn9(#VI(Cu=w>Z`&mK zmu37P2EIJ@DVQEk(U`w>aHOCtYOOIXqhgEqquNUEk}ESl&vzZuG9N0sM7+QE&#&K# zJ?~Dnv8^KKJx=D7UkNCg9m@H5soJ-sy64gNcR0+A0ZgMFtJgZ!UdJtW{Y~cmkKM}u zSd~sKb%KookSrBS`}4`JkW}=K4Z3^}XpsaI;}LegIS?(QdhlyK>ws<5wT?jG)p4|z zr1Mr9)B@%O-FFIfBDTJcBoxmmEX=ir&~C8XgKJMZY7v+21ICBJS_6Yv;TIz1SCMNT zpwdO-feu2`*+?@T6 zDV}R2o=5ikH4Jfl#JxnF*%#}1)ScN0kM^ho!)mLyetf?kS2t_#V2^jTzPGKd2*s$t zQuSr4z#yh?srujPB{9Q^4?gN!RUaBWd9rq4=X9UB$7@R8VCmRPAAj%Syt)y0uV&V`vh+SHNFd z+elv}Gkn~7QqJk59^7{+JPlw3UY{O{%C=2j(m-;1u)0Hvr1BUWNtklm5a0OoGnLM$ zeL|A|5ZR$_-muK9X*4-PvJ0Hh1SgvZ6l29%BoV%f&-w+3Hw_g#_K|lX#S(lP7e`pg zPd%<`N9bac)7!pwVNKt*R?gF_JLw>9AP zrOxY=z4YCWAXCJNaM~w`xN&j+rggZw%7rWN`-4e;pN*-mKJW1TJ*LN=+%9+ZlHwdv zwQpC@Z6n8Xuuere4CtJZ%@!JQIgv0Gvrx&mflpx4iw9f@n3LPYgU$$qA zV_AvJc+!3tRUD1AOn1JPP;QyW(YWUD#pyOv)R%N@nC)fbI&AmZzIfk3>q|lTK|5v# z>WZdg2fJMRQ9ki?HXRExs~z z+I#O_&0v5tt}mXBV!LCZe(`9v zxKy_XyLXJ^WnQAvhnnwJ#+6~-C2S+=#$R>qsrzckdf4%}yCU8<76MkkGabULaK~ct z%uVO(4-tOXfWi_4LcG-$^P1z$&4;-u10<(HExulJ10FnC_Pn91>r#^)z_?B!=t?`S+D%; z1jhpJ>u#>T^TxWvKk4DaYU@ii(|!8h4wW}Eto(_hfanL)@2aMw4xK-^rDsY1s6UMQ zU&j9b8QA}-bdfsp6KtfG8I)B7^mtUV-Q!!zDe2eSf&NSPB4DGMk1YyIpIT5xE>}9$-uTas+QTKR z4GF;M%{L*prSQMFmPkcA)(T;ilOpAq(7TIM>!CoN7^8s{pHfZGy{V`$>iKx?A&5Io+u0xmDN|6VV_r)asaerK6XB)t|$n`H0!G zvsNAQfs~)vpCqwWg;;a8^+4O9PTz0+|L13on*kHLmuOfuSjb0Zmf6C)oec9-`==15 zClXOb2#)Io2CMNMW#+}*-0vY3<4I*2auux;h6E1z!xnTJW;yIg>Zx~4DBZaU14eZ) z64vE6%djWWRO*RfGc*C+=RG0$byJ~}^!HRgP`1Bqs3u+ODl>smixH3suoAuzsKj2L2w-Y zCrZWtMnCX+sRWAO=pUU|LoJdg3^=WWVh4gWUP{!`D2C)6z}~g=M+F`@Dx*zF@-AH@ ztn&pfGi8b9L#pr^KEoSJz+AY_Zi}T&G-owPvRA5 zgW5!jcO7Io;I-qOPUlgs49#gg5R{R7%}nbB1xdT##;+F_I`GCGHEvpSTUROZG)s#s zUghu~d?Gg-5ugggiv^?u@J(Ku0m?d&O0|!;B`oao3|D!=*7MO_X zkhP&C@z`yyE%^kj$xP>(DfR;g6>_SSp(}JvJ;J0ZEXAj-=flR9ujO9HPW^qd^)~;+ zv)0xF%?7EdV>|b*E3NN-^UE<+O0*nL)@g&I+tJ@y<`Ngl5pq0&>SpL-Hz2725T4$2 z8sE*`1leVaG1{a?-(lNjy2g9P+VD?B?zcI%iAiE$lF!f}<$oM5>zO=W4ANsg!>n$r zm&`c*R5RntcqaRqzMF|6dYXmPoCBuO2`;V(f;(l}Y+4CU)a*sSZH>dE_Hzc`G~` z2MCE2`LP3SVSq0d>qW~EBM1u=khX4Tu=js0n|zUKZXJQ zs+y%+4w>7v9(Nx<{`#-x>dQoC`A|mpYtFRcIurMz*_IK^uu>g3=l{I;UrN*eW+nfB z(Ow=*9RJN;J_{$x7XEdckWQ8P0B<^+GLDt+AOrSF%>V8>0DWCx%Z(_1@SfrM{hDMw zBvpP!_1bs_0FawVQbF0y#%C~d!3YLDvgE{yWfwkMWr-9%i7CV$d>xeBA zK41AL)=5FwBx!2NF)``w*CKHICjXH8_>yW2bNwqbS>7p=;cxFTv)Vn>ANi#)?6(G{ zR=Pd(skE^1_OI~!STio3K40oVns6wvpj`bq6Sa?N=QjALs5&&y*0=KTi|pDS2MbgQ z?i^u!Mub=Br3nZvn8l6q1jTmbn*2n(xt_8K7eg2aJHi{lnK1G=QYhk$FNuWh3GT-r z&8mE8vK_m(X+(j8#suii%crgXmKb&sjYyZ@4)ugvb4Tn^E%A$wV#3XalAjPncG+@Y zGC`Tc6IBbJ3fmd^Q`S!rVCkhALT}-nCyYl+@p;^Bh=gkNUU8Vw3GRBX9ch2N(~>|V zeiC&4quiYkB^Oo;L=Hv4_NV4l_K^24vEurR$Cp1u|M0gR7a8H51?zLFhRRxT4k?yv zs|LzeA!-qFcT$d2f&wcWv@tHaG+vgE{PgcthSLLIsHhL*2*i_#_({Q|l(G~DU{=nT zQu98_j^Oz4Z3s<-Gn^|rPnXz$v5nYeD`~@bL%=AmV-ID$0G))Z$KvK-gMRM!#J865rfOw9H00Jy{jZ^Hlk&B2@u^EmPAqPWLGkr55GN_FLJ64%6${KQ%gTu)e@OhXLgl4KGgfyM!sXP zb54_FRvO_^x|^UWVy3lQ|9a3@Ts+9S(6Vhs_;IGAUsJ{BtydkUygC4w-8ZoZsU3#A zSX;+nB=r%=PoP=@skPUlZ-Sz!mc`xrNwpP{HOeg%{>nOF0{fDcPtd?(VpKLTDm`I2 zp0HjucvaAe$>U;RN+C4UBSh6V^&7`)3vgd@3HM(x7JTHsigPs43{V3n5GFOmEj_|? z>RQEhXh^zSwFR+}Z<}MRB42^;N{Ag^#2;ZIzur@d&Sm2!aMFGn8@DNx#B*(ed0C*= zUK0~KEn!Tqz0!E1KVU#%xSlCWNCGXox{LhC_Gf4swWVR#n@3EAPOVBkW1G&STY*0U zROX}mDSE-cgDq!jHy>pMriiTrwg%Sg=ctASqxr_Vb+fy`O{Zc9y3fM*#!MggPaaFYzm2^i>is5rSpQqJk2E&ujYT+v&Gas8s+z@X zW~I*$tqj&?bwzxLdw&6IIIcQH?Fa)3UYQCF9DdAkB0zgwp_4UO`DDDLG*#51(8fvC z7F=N6u)BV@$7Ey=F2SAq64`mzv zI{W;2JR#kDAEJNc&6siJ)YCJ{E@e6I>~)MxgwPNXlWrc|9Z3rWF4u%cG%jk`# zV+Sn+mhv;;DC|-kk%v;iaa}__cSvPFPX&`Hq}It$=h%pr=vXvFpN!@XakRw@6k;Q| z3VOO#&V)zc4h7IoOU9SntQ6`7PiX}4(fk17*Ohj1gvBw5FcX&E;E#1iB$?XnEN1!{ zZCW1^n&CA&Slv@*`_Ta|RQ~zX@}-r0nsd{BE z?$aa~t@!(e6WEqVaR!4&+GNGm3z;oDqP8V>SPWILWR zgBqDD%nUbCrU4I7))rE#ctp4$fP81#i_~(-$KiMxZHVkD$v5oWPui-$Rg!YUhnl>M z`Jtl=$%w-d-`*dGY>7{zZ*`6yxPV67sNzs1LvEtd&X1Ny%j5f0BZIs~&dYD) z?Q%dz>a>xkkYkl>fNIOB3h+I~Cq=w=91_TYa+HNCZ6V^1-4BqbCBzda1{N;qx25th zl@1yS76KOUdjga*%NWPK2OB=sI6yy}uziuuI`?8n#H}Mty{9S9;g6a<`w}aQdb^6o zt$_^0t!g{=)x2Nc5#~soq`>2K`cve=$>~dvpFZf@^*WA}=eSm&roWRFW<#TWNusz@ zLVcO;7Jae)_e!vho||R|Qz{5rwbxT3A|fk;$77443aW~$W}ENJj4zi)BxsiAXXKYy z5o4pGVlVzOIWZABDKIsVL2f^HsPFLE_OOQjS{beKyCy=*UB|ju$~Y>`;fq=}cz(YT zzH{C#@uGIVVBO#)yllhsufDA;k8=#)0%#G@;2gLsh~k&UAFTh1H>v)DG9qDQeq)NQ zk~ZUz-%`P&6kksYhE$E`-_03gnb(seUJa^kMn^kED&e#PLBPX1jr*eW``jG$(}L+PpLU>~G&JJu$s|3nDk} zV*MevAD-UA18?;$WcGzyqkONb*U3E#Yeemwea8lT0Kx)>IgeB0c7VN{%Al&?3LJO% z8W=bU;|yH~o+kOwFjZ{NzC+Mb(gfUX@5m-8%8EZpg~3C~(HstKh#E~FPnCHNJ70Mm z90ERBjV8?dX*O;xssAVk>1HVm!GC<_Qy~2ziTMMglWPI}5XxL=k-ICxklHoK5dZ2_ z{iASKR7NDE{QUDuX=ZE9M0bj2+sq@?5U+u{Xe19JuR^>;xGX{wqr(fhe|88b3Pt^k zhsFIl*iFg;MM?xzagv9aNH-{=#F!27)U^)0327G=Q#N$6?Uo5%d)@%ow4UKG{rKnE zBFZl|wSvzeyHj6&eU{?zj-|q=z;xXJLQ5&8lYN(_fY~sg`aV_a-pMka8(oS_F)Il* zq$}`%)u4{NDkoizaj<;$vb7AHP*#r4=bou~e9qKs$!A;d*Lz5zHmH(_#FOb24-(f$ zWfwN(g_}1A{rVG8Ey|$eQ+K4v%GBxN2%CtSRv+c-QYXJoNu{4|v!(VSPrKSPGuh(7~I~6$l#&6*@z* zJIdlOlk$3ktXP>zu|)2wHp22FAxMsA${6{YgpqCBPfNxlmT#+?TYd@auAZC+tr{RY z7~EfxXe34?8fKD%F0VBRjhb!#7A*j8HM)a!QwW`8y~oJHV8X%?0EMjE0?|8o$PQ}P z=?x0|Hi)rMDb05yngpu`s2X7aPcm}|Lru&`Qagm1gh^vTRtiq1zjp40T^lYB?FTQv zA8I<(l-qWBjxURr&=tC2e6%i3^czDRchLyDbI!?;#xblSMfxMTax5l&F$JTph(LHy zg*)(j1~-^os>PPX=U=vJIzkmq{Q?tv24b5H%1nlV`xrrOE+{mkVC+^?;AtG4(ZCSU zw@@YkNhX0lJ};vo?odTfnFdHCj+XC_!=gY=t3A>yUCLPIX_1B`gbdZraMJD9#I=-R zYU9QFhx3=O($bUL4onz*X1`qjtVnhIZ0yIDcz66{V9%f5?&BuLdio82-97hmr7f<& zV9kx^eA=^xi8`C=!ODDzxkZ1&I2U{SbU$A6M&GlmUOwH^`cnooPWGQZ{_2cwEYDcs znm-|IsCj-BJGocFHGbPL9DxX3xRX7DWthJOvOkcZ zf6xhqj=N03L4bZ^t@J54P|1ByNJ;H7P$$xd#9tSPq69z5521LvGuo~|VpFBOjol5n z#r5}`7pm;tIB8F>s?C=7#UtqBn1C>@CVQr= z;YHCWY-BOO)-Db;KJ`g)4tjF)H90TuQT zk>KX5G+AJAY*ghe0BiXnO?@px{k3ttxLYRZqeE=^#JoteUf4yQph;OB#9UD0oDVbI zqpQKa8vuSCB4y++ax7=W!KT*M(xq*{erXM5498x|Sf1`e zRJ~ZaAKx|{IT~P_Rcrk$-wD65u*YG>aiOhJKd*8*y3Z;g;K?Ufi**?vyZkbYb2e8S zn^Io;2B&!JtMxsY*X?m{t9-mJ>@`!p!6z@$DNz<6`Bu4{8&Ng0v30PN_;UW+ci=}l zrP!=20T9l%*s`s_M0<0g%4B~x5JH(z<9(`C13c(4RaAhr0uMkDMj0U(+3p6R*|NLJ zYOaamJP;qHhxTX?H$-+%X$}So9{6?dke%P9L{!ED&f8G3{3T}nr}JJ1M*9~J^e68uJ7wwS z+wIdOx4!e}X|TdR-fhbjzW`?TYa1u;6u;WHvx7-&!{6@^f*bFni&>KvH}32E=f#6j zA&N9RSlo3CztP=Va%%S+D=OyY*~I6;y8?(0Jd!GnJo1?TELU%JlP^Q~g-Q83(qXWL zb`AnNAz1)J#)gTVOYi&JUof&1M@6g*a}7iT8WJ#~hEy0*Hv6$dn@xMT`Vd8%yl#k` zpv<)^eIoenJt-5tY4)n_Tz+a*Fah*LmgGxHhCOdw@bYarN*;vqS;FVd=A$D$&gS1lP(1YXyj^=Nr!MF8%C9cEHDUxsOX(u8|9tmpd zkxC^~1)S}rxHRk@Mw+=be!Nz8AJ7taF%{pZVh=SS_0Toh4T%1}$;-y?7RDUeYF`W9 zL7{fS0%Zs3?D9}Z*tZ>H&PVJG_Rd??#{O}r$Ivk6HFCd1FYzGPqW5{DU6)__^u~zC zo|?XNO_vD?a{(Syjl7Qi`0Iu6ZT@h``2fKwms^jg^O&Ip-ke7548HU^waB+T^Y^{2 z>!Xg<|7hh`ox9R)+^SHP85GqY#anc7D#cdSXBv#gw4z9#jvchl1@Bo&a1;GKo}kRc zox!E?8VCzC!%iV$Z!b`vQ@p}?&TsG(8Q3KmaB4BoNrRra$+Gh zF>oo}M$+vJUk!dcRu@4h#df>IlAesoTCr=1J)6wi(ji$qgrWXsd*VkP6h^1rI*-}| zUa>H;o6Za6=+Bg4p4OUYidz1GAHM~qeRcPk9Fv7PxTl16*0}nRM8y;lbA*kk z4At5XlztwNf{+a(F*!h;lK==8*HI^+)NUoJ!zq(@F*N0m&+c3jZ`cnL&#=zQYVr`j<>kGNqAW(S6RfNM#9@=?#NBpv)z2Z z)7b4VsH~!ye1+w2q#)Vv$bJ^GZf5MuhKM2OLjYBm7{^X{y=iW78m+!uO~K}xgqA$d zh^!8;GAJ}md~%j~3@gy|v+L(z`wvoWyCe1lm|CVcM-nvBdm?J&7ebjq8aV;;5s}X3 zUVp!j(^a*Xr$7F-H%a{2sADAm%8U0kqyCb8$_ z+X&xG0}{uAJo!6S#KirTEQH)p@*nS4|9e&41G(GS$DoCAC|881^I}1u{CXCQQ*8iU z25RG20#8&))&C;L<>8<@oT!8XE~NBG54srBVUtBMqsFSnz>E>piOB*V(|BQ!W7#&j z7EL_4v>tRK8*z-tI(*$9@%Jy|*u2fuNNOI>%-L10hsdP@L4Rf_ps;|V^FFm<{ z<9K;03YwH{Q$C|c^Rk6(8YoWD^a-gfYJg)V_g4*0*(j@0@ap7fWfs;7SmisWaoi>S z8%f(c#==dX!Ylx?5E(aD!dVYPXSr(!KYw2&ZND6}crAtUm&ciF*RByQ*SO3foY$44 zRu^r2cDQ-6^w>k$gHqhOGJX7H_i*Lg=YCnU9?AaE>aADv=B@{s&`AAZ+93fI>G@W> zUgzyIPKk63)q1}vC`YI3pxm$*8w_h5545gGEO3rYq>ui@mS+A%pIDLw!-csNO-h#m zZq2_}Mbz8)EALZu72bv2;1f{jJnRinmT^&G$V>;&k`W&c)M1<*epCEFegC(_LePQE zD*6@SQ=zbKf(}mXPj-h57{ppvsgEQ9XsBWnhUGl65B+ylx|mBswkvWf~4l^-hT zVU0IRcy#jWx=;7fns($^A}Vh?G*wMFrwCEzah(*WaE(hn#r+eJ?Nh6j&w1zj{Ceg^ zjN1fFYIOa1fyh0Fvl`y-`))e`O6Zc*g+3`AkWV)|AD0lmBk@5F1#qEWewzW-zn%go z%Y1uV8-ckxT$phd)EmArJp|mAKO)6ZayRB;y!@mh5i0EI&kr|60wk!LLXBi$I&U2t zeFME-Wdaz%AgA~rUW@7J5MWk}+k%V1nF0H5Tt3GIWP0vwlPHOjKPNO_))_Ro(K88Mw#`y zQ%=}f4Zi;Cg!gv!#^&$zKD~X&a=TBU@rTm#oi3K{o}b?`D=CjM4v34052|;2aym4p z))b4<%;9?+EV;hsuOZdOKKWWo=NPrQMWIh!q&5&2ij#o%tDkHPIUWziFQOY69kV>K zZ)k_yj=TxJXCU0f=~r`9e1FnKBA*xPg9(iKtb*QESQskVHT>D)1@#k#f0?j3A%$mx z2fw{8a`+T9t!j-;gl0S-;ms7D`aB5qn24Dm8&2T!*-Af&WnLYb`s5TT^N62+6RedX zW@R=TggSg=lzWMbb{$!4|B>>-z zlaI1T6$!Xp1zxn6#4lW#t`zV~ZTOURqY9gPB#0kd5epGwu?NPM@mXd28emmxqGZdm zm+w%QlVK*;_<|F_Q=k9O>F~1DPK)*X-oKg{w2fbu^8fT=KB=SMjq8cQqay zd-YnkyVoeAwl6RJRNN4MY`WWHOP0H?!=m%~*w6#__8Q5OviPrTyn~IuRV8G#doQ~A z@aychG3*SyJWA$$KJu#v?mZ^Y%Y7)rmZDdXu#=ThX4(u)-Gdbb_OJ*sgRnwh1Kb5q zl=WmVICl8JTQ;p+GfKZu%kpJo8$yT8Wp6JTU*F%Z+Bif$4S4HQ8z4Z;G^dJ+2u(pC zYym&s*v&9dIg<^?xE3+kL(0e03u1YM>JOY+(-FU}sqFw^s)s6Mba%yy2DnlMnYKz0dGObJGJ?&{mx2$66@Y}LoH4l3$P zeEs2euBP#QHYP)H=uzL3cpU;6%;IbN5Hr|QMpl+N$BGEKQvgFqckd2uS&WdMCwmTk z;VrVXK!u5c@ZBJhN5bgBuZkyJgnC%@u>({ha=7cNU4ydt$REI-PS(GmjN^Nc*nVC( zvuEI*_3PTi+dHp#QR`mE_M)&C`nMLn-o>^K;Igz%x!Dd^25Dx!X*jt1z+ofTh-Zoe zr_(v7%AGB&lZV?%_H&FMRqSXmz4QC?B8McWcX5@wUf;J6?`gVMJzAMwnOjZEPYv5w z?Mu+63^6v><6;@eu9gK0(UBi*R9!zQjFnZYy`)s>SUPq$lGgr|?1p4lE7lBV7Q<+f zpqrWzZU;d6D$-#wtAm$gTpRoERYqhhsiuWHK=9{WI-TBJrQJ%=^yvL78EKS7{nJ+f zUq#g)Eka#hf)Jq79S$jB!rQn8%t9lkb7`_srCtEvmEAz{<)JaDT%8eN4?&B?v6Z{W zqjeU^IQg+~1TR5%&}rOt(8oqpCMU>{Pt_p1!Z!hL(UW-!N&VUjSSvF%40TuF!jk>pp3dqC3ziVL0-9Y88C3AYMYJy)ds7kHMdRfe%Zx3M96E z5`$aGC>>IC&)w7WiHeg$%eFvy49!tC%ALVH0zRcJ$YEIlSYdgQUUu@J9St)V0T^ zFLHMyV_l;!MjN1Od{h6e4tWJ3KK0gH$OfrdkM4B#>-ts#Qwa?JlJ^rUUw&j#06(Pa zdb;@WS!mv_BXUnjczkZ|ZJqoREl>Qap5Cimyf;7m=BF)A!DEg}0Ws8r(fB#fBO@7E%| z6!&*vHj!P5#g|{gME6mJhKR07d3X8QT;LRj$_JBq6BEqhs}vMt`l8zl?`pXxvR{Tr zLf~jw2EvkWpCZl69>I>8)L6_UO;)7LRp}`#-r3_;ldmY#IctE)qcwCnTeQIeXC708 z>s*UeMzhEv2w&9+!Qq`p)z~cx`1?b#~|Q3U{aJ-k&2rU9)i0`{|FPH~VIC3OtfJtVCy#4dT#c7e}$0F;`g`Dr40ELwA`- z2ig}4NFIpbp?{G9n13sQGNJ-xlnz`vh|wehY(SqA7R^-nBD2zeuL6yy`a%Sx)c{9^ zyyF;&ObA)n?XY7G=g2wkMtT@rkLv*YKOXp335#fnBcDFbTr^8odQ>;yS>_8Wt1=zCryT9+Kv1k-!kA_*Wx!aEN9q~N;3jeCkS zYhf3O8xKZH+`Ca3IH=Gv7Z;C1yTa}Qm0c_Hi#9&CQcD^y@tp?xtKJ>D;(l;bjaQNkOleE>G-Lgx^kfr)Z6rI(>W!h(YIWj#&vKp-&)q9VAt}n~OrSp(XDjXEjMSIiO|^e12_9U6af( zord6?Wor+nj3Hx=CGI5;va;*LcD;?4R!7u`?_)MGGers-DksB3Uq5D$MuG2b@AS^b!-hc=>^BGF=ZK8Pi3g=hkN8suvCGNIxV zXrr|3U-I;3#~is296`tNVl0aco|!H+(oI>5JuvHJ8om|jgQ8_3h?+~ic-=*&qs*nO zpQCIgWdE$#3bPgsrPsr{siw}6av#O{V#)eS`96i;FegmB7$yrB*bn!NW zd%UXm3D`H{Itc4NF^t*h?_&OPX9657yfMC8MD;J=tKwBTSeGLZfce z9u|*ta8alm&PUgdZJwC5NDlLCWgp&s{Z{+C&LMtJdbJ2DaZKl5^GK?7^8X8K+Iem~ zvcP&@Jzigb*;sEsGhFX))AM1s-#~hQZz|LXC3*PP2((R|qn+l0>je3Gf1UDpT8WM? zjs6xGAJBSstH;3<9P!uDS33$WU{C)l+Jnsc_F)bMeT$UoBSCUo#bNN+GgV`SjAxFW zxHN_acQeA2*(h%~N0s+MDDl5nrD4q#``{b!SU&Ya!X>mp?0p>SOCOqFH1fGcJV{XR z-PvMscW(b|^NK$;Cf?x&dcqhabL|HUPCtT(JYucI=|+({D{IbqTX@8@cMF$&MArZn`0v0Lu!Pr^(Jpe0eOcQJA?~ zg`O>2JxD$(rfYs6VZSc_E&kjlA?lG(9TW?gd6Nxf|9fDy3^J|`sTG6f47mm(CvR}v zt7ijSiiBxwls4jia)e{c`hdjy7R|UbLZOdL>chA@A?(i&QXER4)}`u$BeI%1wH~*% z9$B5N$gcKCDbqDsgx`DIn{nkFi89>nW@6->mQU8&kHWCTdy*Tzojyg?O|b|M&Y9{7 z*gFj6T;lsxd*5N*i#p`(nKM)AyZrPo)@}>uD5Joniacg^amQJ>u`^Ot`?tG758rKW z0l6=%mJ^ZQj$(VapiTi0eikLH&A{FmScBKO5Khxj=#%X9Pn+0qXrjfgflFw;}QW zQa)P-BW=e3p=B(aMR7t7dn$j$TF%Ox@Qc@KKaic8+7Lg{qT|VDkm@c`(nK}+5c5KT zHAQTq&T#eNvhtKzC7<$+vHraBH>^I`mK;JJfFo6e&t0qVG;O1gay~3~3H%6wnMOka6HM^G)kG@b#(}J%_V@+LzxN3Gc7>^3HVB?nEq& zn|>OJRR*d3`cc2p@{oT?{jF}7eVqcs%)07`22Wd}Ik(;&6>?2Of5Y^^NDtRQYZs0mmK_;RrlM4@7=TSZA(V+he^NGT<{~Ri>oNvgt%;y;@F3tY zG3vHM{`L;;dI*ReH>q^MjCx2GZ)VwXl~QnpGBFqXRE1adO|TY&pm{NIVZNGVDQf9r ztW%A=FjVNdgD9>-Xfgnqftj*$Wj&zcFtW^dLu34YWY;Gc*HO$;Bi)s{XC?y@j0wk4 ziqaAyCOubsXp-mTMA%x;r9vTM3E+VE4)1_lGLwl5?qc4;k!xa9jxnnnl|^L-3D6UE zGhHtnY4$i{fEPP<0PotivR|Z==w+b`Ed?O7aWX98(-@^#%tt>HjUA0@N@4H>MWee z5vB=o$q_-tMxG`C+s}pG}8%RZ*&{v1f^ES z=^U^6U8ds69Td7q04!B)1gB+fFU0C9y*SS|{+fw3p!5**DVn6a{~85cGC>izS2J)L z;8C|Z;lB%yKVV#QYAP;Vd%!ueoHXRtJcKC@NBnBZ{~Acy5cC6YKwb3ds@hQaX7x^tUU_tC* z18{)Q6JRB~|2M@(G@B);4?7Cc7v|-=$OoaIbh1Nb_$QS*;wjE2s0`OvK0<2!2JGuS zCff<9reDckaBmdka0oeOnCa^ekDEsc z-Yd)vH)hv7y+g{YKhMD(p9y~b<=LzxMgkZ{QQnNr}ygbs>6&hXAzs!Bw$--OPsv2QhL&>|O-5CQ)Q&@33)Sy9{Vzni zu+dS#G9$@*aC#iKi6w=eZYRN%>{5*s{!3Z6Y?7-npYI}7<1@6HnSd85!Y{6?m^xYk z9)s$ENY2%g{;PS2vX-oa zluGg=1!XoZ%1Vw|?fikOoBp_08LI!R&ebV=Qu}9WTx&!Cz828KF2~;L+ow2x`c{u* zL~VKZq*~XNj~KhR@IB}~x#o#h#_rFV8iqlu??=jOubF!G%}T68Zzr0gA2pQxQXRHB z?N$7_OPwDB_N^qbPn=)xjJYpvICNx__s-^R&4fxB%EgjdoYlaq5LV|>=_aJylJr`-9U;@-GeRthm>7a+qfe0tedWie;# z!`T;wU3fF(u4H}fnPhbSl+|5-IIsc^I>~NgxIsrb!_WJ56yfmK4(j9@mHHuRFM5(L z(^B5%>SKBsp@FPtWE;6;f)K zS#%H2z!`{qH}lRhCIhFr`eX`7ghsDI#$=grkV5~~lB@^03H1Xw!PuTf!)`y*MlX{=E*d$4X$mhWDHU>-C{!U6%XSH~T&8A4_d|{9{D$_*>6SFEO2+HYNq) z{dL7w_tn+&X8Gk%3pm+SQ>2(br4Hd0hA7pBFez#a@-l2t;ULCuB!!8viKKx{E4BN8kxO3ErXxT+1 zKZ2?1=RI3$$8GpT{VsvCPD;$=u?c+To_-14WJ=+V-G{g)No^P-{S!n!0rEr9Df&o& zh`L$z8vP7Q6DMF~^-4N$))kyW2=dE{;|N`vpxeRNK#g6>!0B?r>SE0|A_ek|lzxf< ztUgOIhpH;BQzI<9j~E8s#ozi9N%DdZaP5~g=ePp+rMt2PL_rD-8K#I@CuJLguMY1O z7Zb<%GAzP`{W=&;yzDcyP&qzLW!WLWGAC?GU9bfBxoe1IU>TJy)O6ksr3%8gH$Wd5 z5)=wa67cl5!&U=}1)=+^f%#otTWQ>vzyEmPcc<-BuV&|a&id$pnv@0|P-|i&iNVLG zeai`&zn=ZczR~y@fACej1hRA3>Onf~CnIrc%^WxM_@!F~^jSsz^pt+Y^oYmE(>(!^ zS=GM9ot?g&oem8T?rW9eKN`qY8|NX{CVKYNUce9Vlqdy@E}+#u3<{aPGfH$iOa_*Y zw~ig57|m3{>`fJxxs zBKt_BtO==<^k)clDOO%(2Xi1_a&pw}P)CCoZCB4f;<58i;$le0!gg<_hM=zWPh@IIxzV{AsxKss4TQ`>7o^4s|oeL>*YqMzlAiO1_LdWnBjPi>aAf=4+2 zY(y`^I6xn{E!5*hp;sffq+!F(IN(PWh#Zw$g^)q;D|i>4jtOvRgcg9<0)>LA7j5Y5 zqpXnV75hR>WxAuwICRXKABI1xr7N~qkp>o=-PP8B=o%1?`zZ9l%Nj*unydu5OBC-! zT*@hLCol^sk75~+*Gp;vTzG~&7qo)#!{%c3eYz?oSjjratE?kZXo3LSciy;n=(W?#I;n^>;xg5qk-wX z!f}z>dcXKK7x9$zDI&(z?S6EDWS>H>_K-60py|$}8=c)#9%Zq3!#h6WgOdM;z4wl4 zD&6}>nL$NCh=_oI5ET`r7*U!Sld%8_LZmk#gNQT{QP3zcQ7NJ4j0!jkWDpUl5dl$z zL`Z<6h;%|x(p03$j!N8;WP2aa{p0@DIrF}^tb6ZY?;k8&Aq^cFpQQgGhv+EM99)uu}CtWsa|?lZTl0!md@x}LgxilG&pVCS7&l;@NPM58aJ4r4#rqn;h3)n?y z_zhw&@$Kkd=4$NT%QBd zC>xLg^fI(aWmXJ*=5ZefwDFOCyea~$CZM(Zj;M1{E5JemIuSKgug0e}F{W&3fH)|? zfPB0O_>LPaE+3(c@mM$@cXE*VPq9&7_gL(4l(4b|WpLbIa+^M6Ij3?vO?Q_5m)!35 zys#)=wmXQ#`XJ)B`F@))%M_g;qHA=;H*vL+0|APbNyY71`ECI_6~E-YqN@3L0!Ag6 zRKmgQEo3VTP@HFnM1$D*%=}+=-0C070r&-Cm?cRarrO1FYqpl#L2c_$zHMh%X%PXN{p@#D<5D9CX6?FoBgR{vF zSX;Hs>4s>t^L^zNS=qR>m)4T6yOvElCuln-gk!y(d{Hm*At}+mu42$K$FIOdm9wMm z_?dy6T`O|BzhqbzuItjw<5h$GHg+sYn!uBzpglr9XFdxJ9YBrl1!d}~;2(5S%z|6YQc3U@{Dkww=*y%U}NlVohYC2;DV%APmX*Fq6aZa4762j2D)xY zK~G5lQo5tCJzqBldm&b4kMt2$YU1CTarGN#zpKmvA`=`ixb!7p4T+ktF|y;a0G-*^ zvbd*}{fI7K^Mx~E1i)H+a(YyEx*F$Rc z-qf>lKV|IZXXkTe%Xu78NKW}Rt}re)BJ}L5rUcWIdV4S3M6c>bf)FlFUBXC00GZH= zW9h+E=^yZdOjmBNs6o`_j<6Wwxhe9kh$Cu86$SN-Ot!8(QH&Y8h4cjIPi+fH0c2fs)D!N1vl5HTacBE$68ewZ;OvO3g1b0N)IZp zEZaqKJ3BwvO)lq^5mq>&vlvTpD&$|9U~B05^cU#~Maq25CyE|PRWvR02JrY^yx=~1 zwY5uEdb3&S;l0D95-q^5F3S|Z-7oTqWMU&rS~c=TcW5_`4Ty637uOio$+pN%71vlg z)Yff?KIsdW3c2A&1Epn(QkEt8h~nN?ehOQaD7AzWg?vr&?~?gz6s-JgZJ%}Q+6ba1 zSxY)D0S`Ei<&ug;1wq0%qRQUK55cW{3d*y3A8+sLN z)|Y_3VuRZgXo%sSXKPTj$KSdNTJ~I!;uY5y*rUAP;AaqvCyj;wgeqqI;aD-}ujorE z@-?2ov{FkA>sb{{>I`5HeyX2S0cY?ATP`?@b_p3BY%Nm74<#Q-S=MQ=d5yj&Z&pvO z-HHa0jtMQ%TzzY{(<-k@ANr~u6=$zF?;Rtv6rHsZPMX#ph4v#a!r)7fa!Fll_*<4~ zM}$VVB~+M>m|h%w(0*WD(V8hQA$;7-k%d;LKM$!r%XRbGI&|;p4j1jTvgN{=%N}L* zdE4(9=_CtjCH8(zqw6Xh?NZGbn*fHJU1O~XgI`s!$t;EV z)Cr@(h9@{Pc{nHmRp$fYE{I2fbW%Xn{Nvc=@FZ7vF{eZ%L#vab9s7SD#(I`HnE(rw z3jPFY93xNx^U#1m9Y-Omdu!x}-~?!wpeMx|pag9N$ZyAe!lW;&Tz{U*@R_b*sYW<}|L{PTewrvsdW zpdoi`g5S#y&)^@IWnlG$jI1JKMPVu23GQy&Xm0~sgKVE9y3dsDIeZU!)nt-QcC(0A zI3j%E>r(X9db7R3ZD!s3UrYHwy{fVGFR@e3j;AL!L8Q~#B6A~e8Yh@JZ0Yp{do9)X z%5&#k9U{ve+!LCwcWCCRSUy0?ed>*USjN+!f$^W};U32}WV|vpN#{zoyApR*r^RKK zxIOkQJYEaGY0H}WeX6hQz#imPhu7lpvTWP*QfG$DJj~vkx)t!Ku}N%od4g;Yr3b__ z6M9DOh+;c}P*O2ql2^e_BCyqSx^1QNipO73N&h02!x^b~W%0&lUR7`Um&J*7ghL$-AXic_yb9FJW23V;;(D;^-*$&L`FouDQ+ep=r$ zKt3P=VL!_o;Mn`5`2&qmS=%I>WK$?=@oi<@q6!$q`W_BDg9s56MCpF0rwx6@w&+&{ zFcC#Wn9+)D+2YI^|PKNDPS6Meo zU+w%v@~7-|6z%>OFb#dRtn0>L@{Z*9$0KZ(j5D-= zw01`F#3l&=5IOh!f)5MLEOvDU(79~A%L>_XcwU+bouiBc*WOjh1%YixATtfUoE;Gh zn*d+A!9fMR`66U4-v}|Tf+KrAel4KNSNBL`d8LY{l)aJv_^Ch}E)zPz87wXJdreH~T0DY>svp~-_ zTE%E1f+eAq0Avk4t%P5rfeN+xqNp%X^eqYVQ?CqBdUe1iKm!V27%Sz&O4e)-yA+Hzlt=%pMVaw_fa!6(?arIZTOc!9?Z*pK}C7@UP z$#=n_Yp0G@CzaX>OWe*0PSvUCTWuR=9#Agu{^!}MrPw7A!`b%p8u01+=WhDCm#hsV zO%HTg;zu<}dJ4A; z7)mU}Ot7SDA%+w#zriM5#7;sRZh<2KsD}7b^Ti;>IFAOrzXsys@oHH zE(qsNewpi0CT~}?VBKX=2vBWO_E26Ee?^SI*#0830oPC-!XAJK(u!f+?kEcpGyOcH zjvH*)*Gv%3gBAwN*`CC^Z=wzeJ04nfv6ppAY#qMLEi9KiRl>o`3zDxLt}{SS^Sm2HHE0#DvRVN4_kxARV6+`*vW`*uPd&l*oJg&1-<+nV7=| zhw1PkYYS!X7Mvvj9kZ9c{KCO$L9w)|db{Ss4?6FE98SnQZMFt_^SZ(LB4UE_xj7v& z(_8M6{zV?FZ+8l;?NPr!BsEu*Uiy0W+q#om@;1M}{__}PL+l#itc z(t~t$xYq~+zJ57XD2UT)?=SbsvLwxJ*(}^tXG--hUhqyU{*$okq27f-{Q6U;7X0zy z*%w5%bA@HdD_!&woGS8`v7EA09w~9kYW5c}$972rzilVO=bQ4EOOR`UR_qD@SE>a*9u9%1vprB}>kg9Yx90#@ zIV_O%jNOp_1wV!8`!D+*9t?p{$@tTZu|#o3^d&~?o)%x1W=Uyh>-=)$1$&7c9V&Wz zCYTd`xq2#qnJJI_g3n}WBBPY0H0g7A4@jMMmVo_az5ImYSppsmOswM3ry6|752ZD7 zU07Y0+l5I9*gW6<4T$0C*_Y_;3Vi2JquyQ=H_e!S1b8TeE?>SJy9Q_Ui1+nv+|c(a zk9f-``p!UXg;{*>}`bXm7n5Capy?4*Os?6gw549JpB5mRy)=)57wJiAp)qMLF~`c>HZ zpVX^4m;d{dqN=FSnW0i&$vDvNtIO;FItqF^t4L$-NKf$CCzyuv%dn*oo#9eBg@>Ga z(g1+Pmf6g(>rrz=*>912EtUZZBYF!kSRqOih)bI&FY<~s6$MyZ$?KU;AG{KIvuF=q zn>5gB%UUlv&k(Q0;1*$Pa6)^lNM%QXY+%6O8w=;J0+%W0r}UOfZOosQ&y|qz3Ocgv zBUPsc0XkQ3{C1M;0_p0pKe1htB;0zK>L$6+SzI#>z$ac>EM)_U(ScjnM-GLa^Zg<( zHS=yeHIUsEDeM@+ugK_xz2Yu*sfakHEA5k9R1{LfQ8cPD&KS7*E982zjdC2+$$e`e zW_QG{CRL#6!J3L>xuwhsl|}rOqD{IG1o7w#bS2Wbz^T0p6n5v}8(z?sq`0`~@)P0`Qvz^08Qa`)|ha75SV-nW25)KtI)2XKbI84+`m{0$i@ufzh z1+~;e;YpNTWJ4G%o`xWoqAa=N~Q zEB_Q2Zz-F52+K|M`d>Y9(cS8u9Ov2kZe(3Wk+(j4^HISTSMFNs15w>d3!Le@kKL1V zwR+rb&Nqj5<^*PBFI@|c8aB2mJ4PsGB`I9@YL6T>!&{-XnYxYzyDbyGoT@{wbHFmS z%LJ?SI0?FN132{kHb&qqm8l@E(NJ+K;vQc)VfE9P!6+&J`9lzs3C+adFEKN zP$91aKdJ?WjL4nYi$XNC9z&g+Ika@EB42JOjLpoW>azto5B+CMI7Ds09i%z6b_Kb8 zk^aUI#y{q(#|LI>ad$)(p`mUX-F%~Du}9RM=+hfZHViER&GPUo5p5Fqt#|@h26on^ zPFgpe!$_wpvrq7slQ3NMijVo~RV2Fbex1y5g2X=(v$4nX>F`%^@i_dgEhpC6)xL`` zm{Zy4^lVVS(?jPJIC4_c^r`YS#$u;VgKp&)aFD16*wfDZ>lC<#8ujrJHG%~2qP5_& z0^)>Jw;$nVdQde3K)O-{S`%wXRg@*(8;{`e$I)Q}32I$$@m`IOvJ6**Oba7rUZUY` zZtVHU7oMCmA0ksZ{oF+C!HDkRSJ5Z^lcN*u6Q(~DxZJA9HS6OJwB2QGvCFba-0j%S z*-~Vnp(uDdNlb%nNV!SU`fy^tTHbqj<>mlulZ+JXvlOVIRMqc|HMy0#hf(j#?RM&< zLjD%Yjt}8>*%8VRzApGrnKF#vL1}9uq|Mq&1_Vg)eR+U{H`^{o>&Oiyj1;T+(LTAS zxMvjKK~V;l_IalKcZqFsHL_mr*B?*Jykwg}wiWYf{1x%U^x!SMps2Vjq0hF92v=8= z4?l&&!4go^+w3bsuOm50+wQamgwJ+^*HRum>9bZSbAS?S7xF5=n*|g-DoRs$y;*8_ zOzctUMQ^h!RCyFu3zcBJ8YLDCqj<>X-QCBpk@AdTWfVXa}=lV_(BtUvU!wo0^o40M#rEkXz3e{xm$K?*!Ej;Eq=K*`QJs+w(2;*@~ z?bMVi$^?&%I#sWTbpc1U`kk}Ne@%OII;q@x;#;}aE6+WR9NY0{jR8vav}O@5<^pVC>g&>gps3XluQ9m*zzd8*d>nVv1tA1GbfpCJrh-DM`aKX0Ay zo8uXnUhHG0>v6rakMnMgrM9KrF&kV_Y7*4YY%KGm{FA*po{__-S81J3`V7v# za70UuSKP$?DpvuA=wG3Od`;?!%P#F~C6)>}N$ryvlX}Dud`@iW#MPSCJww_RB+;E) zQ5rlt+69e^7|CyA9r%;fOmei$Hi`k}t)Sxeh1ps_u$b$V$$o>)geJ3-Wn_(B?6yj3 z>!s!clJG-t0UL#^kIvgEKh>LX>l4U3cVP`#$KX)3Ma-PlbyC2*%Ol==v*C#%gCXnG zW<^;(@at5-^Uu*MDLY(+hM}VHxuBAf2-XtFVp6_l=I3%cuTFWvP@9#zmPFOQg^AK5 zillmQ6%NZ*GJmB314w`1<@g=q8i97c#TD60qS^K5lVXGxCY&*9ug=f1`E8)!TT-(g zFd|llUZ^E4h5)jO7pmzO<%{X7 zBlWGnC1ahSZ-{2hIl;;%U7A%-%3~LZO_1oe;q@;qR5)4-N|p=H+*)_~V$?_&_Vmux z-A@?yJ)gg~0afX#&fh<0>BQ1X@5q)vRZ!Me#iE8q$0)`-+n8Ev%gPZRb+*ad)YA(}cwjzv!taO%kznv$9X!T~iV{R` z#%R4Fzk!*|*8sQY0c#IjBAPcM?eUbjP`dHp0gfSD1uusG1%vf~%g^d1skQMRb!Jga z<=RjTb52Ea?m40)@yQk|Kaj7H=yHjv{9hLoi6WB>`RmS5@2~{L5j&9@au^VIM4Pfg55oUxaM$zK=*Nn8`QrRx@ez*`M zTTG}7vo-=05~p;hJs1OIBldEAaBEV@7UD{D@@0Nc0nxS?~NNShl z>2{+AVimRONfS(|c&YvI_Z>IK-nYN=chk}fsEl&H@5+60Og4TzEZ9BIsNVQS$PW0_ zCav-`PPkTCm&biqmvPD-@iJru zJ)**0%EEB@8Z~hfIT)yLHz6b6@DCA&82>B6p=e6b9QGQ@1RwHXkH-F#6af1!+MCw+{_d5l|zvuTDig`*3*eZf)Y1<-1I zoUk5}D_4-}xB+?0ixOQ?Pli>dC#rRPyeDHt%?RGn0w=x&sepJeWh@j$)CfXO z0HAu&NH@O0CR2AB_`p_?P*GTP z;%QEp-C(lB3fGuYZNb}q(b4m99F`fd~E2r^rMmDKvS6UPmN7#h|V1cdDpfzWZ-pq;f1 z{!@Tn15b#BlQ~t*;Jn;=$qQe{yT(6!eKpV01tO=xyta!_m zFM;P|zmtt&Z&?fogD2AD{^Dm3a0W=X4S#h!J^8jaBL}xVh~)DUA!Fp1lf}Fq03%kBy=6Pe2caG=Jt@U?=ls0SDn& z*;TBzBzixb4Hh{RDN))4qa?OmWOJ|lvM5_k7{p79uS6@s7;aPl6zC#ka!npnuBOue zJ7hUj^Hruce;OW@ts%__=Q|i9C1UifA#@I4WMCvrBJd5mNqlKM2p_MaykxJev0{z| z@SgK-)6?V|s^ta>2F`9IV)1dVh`Q|UbkpN26rG>S$H{j6R3<*%+*-|l<4_|f_#(xD z2oyPzc(gPi-Ps zQg+(g|FQTw#B_D(oT4TnwRO1M?dA@vsezul_t=+3s-+Ky;_Mckb3$^3m6!)1(88mt z%>jCkU9Ysh_eQD||Dc9-5k?8ZymDdUe0uO+cu0a5p|cY3nP@}AihOX`dQV}vsIh~v zdg}J}d=Yi+2+7UW*BxTF&97_$A!M$oHsVSgdOR{%9STqR>WV)6sG)^LJ38DzsHhZR zMrNc`cnWw<84dGu8)Qx<977cmaqh4FgRC$Ss4KV zl|f@0|5`w2dPDVv;3tx@%mgyo0-CG2na~xqU9BZ7hBeHf@D5ITL}gVt=Gs8FwjbN8 z?Pzr-K5zB4;{5*7)T}d4E?rE}CMd7mu4CC2VodWpW$Jgyt8dc5A<@m>Er!Q+D-Fo0 zuMnBNZaFNnw2l(tslhd-%@xN@MU}e;+r7%o4^DgK`g%C5aX)(0-C>Q=|N7(G&VGoN z0}U?-6v6jo;ukAf%Xwqoe;51Oo`bCWS@=J$>+NELcLIQ{@!-G0USI9KayMhE67wY; zJf;7f6QgAMg-jy(GR7ei^8#QFCqLW0dc(`1=oC}0ww-X@}8tc^Ue5y7>DoZ9p5O- zFW_3Yu4Qcf|F{49{})!QAa!jh2y$fgGc&2bJIHuBDC)h){|>LA>df ze}Ac0WlDt;`+Ze2INAK}f>D6jtvIwg``vzsp}1%Shh|DwPA%tzJ#;{Gbd zQ6Dknx94Za0d$5Ed_yXGGN)@*)r(m6 z`0YvB*N+w!@!cCg9X4D*?Y{T9Bz1+0B>|98sdbORbGrgiK%m|OZ~*)J^blbz330-Y z)*&x#v+)ZAlC*Ya!TiShe@?&qGZ>?r-=&@2(Z}UgdiXVaZz{xg86+ofP}Sbn>fq7V z`gri(s)&-1_T z!+}GCfFaEPp|m$(a%+hqSjb$|!pQAT8W9&XXTE(`S$yA4{AyJOhGrJXSj-US)M+}R z|9TurGXaZ+TuTn-?qsEt+`6z)v5G(k8>k5k=6;XQ)0bd8eV;@l$>4e#dbE7S!AlBc zA4p*ERj6+R-|yMdA4&j*s$2{N5Xj#Qd>>eT!@=Y}s0FrVWCfx}{W4T@HUmHON&kmZ zF}N%zHRSydC3hn>^&cRH!uyBP0cSw2v{FB_r;)t>%Ogntj{!vg&-ne%_Z|%EWS_Q z{OaAO77U(jNp>=I`I1Y#16&vX0DHlWXtWf7brEz$Fk_Wjhv-=5=C%{saqzm84{ufM zzE4d3;8*1u;g(~j{-;;D-u~w4?Wf6`w>i4UMV>Q>|GMag5}o?Ct7n*aOS}!J?q1fy zEbrvv{c+W)?O`{|U$|vt#+_;R_Q<;7`lR8s=d}LTyKF1G@4q(ht#|*miQ}w$*{6V# zp2RrV*X$ykzs4|Xh*9R+`!H%EF5S~da~}LYSbsU7-$1eJXsTIH`YczhGyia;GwKE-B=Wrg1mlL_1>pk2XII)jmIa{Sm$hBA;u&RbZs0g?*hBp2j)K+{)SB zcDBPia{s-X7mK%@y+7uA{{-#dt{gW!>?D+gc=>eU{{wJQd-4raHrFgmR@9giy1*%It^*^@( z{J-x!4X@pu7F#&PuUm-lnO9i$v@vh~GisqLgZ(j*0KVl22Jux8``@Dfa}%Kd=f-pH zraQts!&9utN7exo?_%15OrG>V1Nc7!_F(yP8Uh$ zLV2^_(efJw;0XM?A72rCa#FAkFbbR9F8)v=Liok9uKgKXnFqg%-^Heb;q94qg3fV` zwm}3gb6iF01EIMD6|Oi42AzY(jD;pi&5@=2$9Hrp!|qQ{==0?M;Wd%Imr`=ObGxg2 zZ%4UWRL@nvI@$#==+BtZPDHg(wu(%F&p`*co|HjQ!>Di`>x{bz{7Wh^PC6GPU2@WSDi;V6QFuzE3;3cQh$~Zu{jgE{mmv4Tfrok zF|x}QgmJS~`~b1FL2;j=EVoe9QN!3O5>0UdvfKiPk>QPXn5}%eK ztaWwNW6CDz^iwf`w)i&ZS-3dt$@ED2`$yHF+wY_wWm#pC7xX3BkUX7Sd(7c#o5*NO zTzS?D=zEc`$34@wDoOl9xMIY4E$RKAqSA$gv!~3X&6jKy`D{MvH)|2l-|m?ku-4hH z3a5;D74?1)1+RZ_Ho26A{TRGgt>K$16a1jkC(DHar(@xfS;4QF_p-WD^MikWB28Xds%7#hOV}Iveq7TR`(-At4)I7xQgSQ-Tsw z*bgEX%TgzYuxJq-O)_iiL1!5E##hJTfCpqC#@eOD4Wqi5mq~K!Bx)~EY1Gxt-m>4w zK?(-hUuGnCg-afgx}-^x$yp{;B3fW`>EnUY+`(q|uu#y#VmGiWn!%0YlVugi0HO&x zOJIb=0{GFk#bg>({x!f*@&y$1(Gof(MUnUGz_Voq%#q~#v6^C{!n6*y35 z7m+SqS}Ehh=xIWl)Jw99>(yns78REET=cmqL85&QtKt0*7xh0s_&@WTcsZ)`t5*9y z_ln7NHcqPXTR&J$i#Fu6hrvgJL#}0G%E$Ct^!qAPtFOK?N#P8n8XM4a$wq2hJ9>VR zZ4hB#Q`BssKtX7;H_42lMx)hc@T;t+uoeOfW6-(Y4V1H6-O|fpK35WXDfKBpmW@No zk*>!)$|hb(pH-o!-;G0kcUuOvTm}-<_f@x-7IOO(H=s^YI1Oh3JN9%;Xb(`Q0@1 z9B?6>=-718oaq0kzVR_T!j)^e(M}tb#Esecnb>HVFR+{8R{D{BLF)Rrkl!9_g!BR6 zL&u7ljMkE$gBactaKM!tK>KIf7xA!Tp3~i_>RaxjoR3H zce?4=Sk^a}sRO!MDeHz4ifK&WrS0)gh$y#A(j_|1_NMG)yRa|JoEKTAaV(RH5__2D)^cR8%EE1Yg_rLay6nI-dllA23_{0S@k=)=YH?_-gRS0XJB zulb1`)00W9Wz0%sTLMUdQZR&hb%|nndK0=6pTW2T`PETHTVMvH2KtJe zw4YCH-o_*`I1}grxwpuWTCZTpsS;a6b*Tg`CBumlwwTyX{}n`g8@kG@DTCh@ot~pJ z_^YVlnAIeim@%jPAbLzU6K66_*$VFwfd!$&6L4;v5%RXBESf;4xdo10_DsBcUVgYZ zYFDdJ7Pyu3;fGRSp|js9i-6pgYL(QK!;Z<8q$56r_JVyW-2Q5B$AUbQZGt!b_l>G; zJ7J zb~jX9G!LwTM#k1Wgqs$2L|%4Y%m28VbxBdh!h+AX9eD-xrl6)|!VXj+I3A>6pq_TB zCRK<+-T(qD99d0-9j#t8U}mZCA$+ZTpMox(H+g~dBHSTL_p?_r^$r^}ccv#3y_U5D z=^s;>JS0VBqItEESFB}^>%QMWRDY=;AB4e^y5z)D zsH_ve1lR$>=d^{4RY<>1FdD8DN29Os4dt;QE>QQUyhA4%w;ujO#9m8Y2NaNuR6w!s zglTQTY7h$Cyj`$yCv_|!ww;=`bKlvJmcVNJPOMwZ?hwnNGgg~D&J>xh)o;)~Vy*x6 z49Ic}G{`DE<%k~fTx9L$7&vEd3*GzJ-z1HRwK!rELTkOWo1o#DmvB8~mp**yW}IHC zyOSlyqoUMf$E(lbTvC*k(5=BdI)(hW09q)s_rnI6$2eQ<@FSm^5x)2QW-JE8WT3FD z6_pLlg)G%*>PmbBdsVP}A6sHw#1>(eAzj1Qu(gV&5YN7`t^9wNI+57o!G4Nvf9=`t#emo|WBl9Aq|%fVy@s|;f|t8mBP zI&mg!U{?vR713(0g;3eeM4<&X0aZxgv_70No;1X1OHyZDMg1L9m{#{m&z2_s`d1InV-*Hqq}rfkXF&tq*p7O5U1 zLg`B?$s1}e=(OwJ@zpM)@hL4; z`4@&)>xJGoGzJ?YoFdX3F=4M^=&U<27v4 zC_NXeKO)Nu!)%I9jD=l&@>wVi@|DUI^z9%C+6jcjf0I5`{L!3HEZzlS9tuNwJZvFqkLP;|5r69H*eop_yvc^V&O zjUMSlv~4@>V#q55LD3!(dS{`Q_`|ajPAMtz*ptBpA08I7>}uj7UTASn3IlvzazWY- zUxc1X?HFzB`ftx;uU!hi)*LEekClmla0M^S%Y-If;7U;;Ui6_%7^{W6VEo$2?bexb zfpfmJ3tWxcgLQ^KH6OV5k!AR7@T&sNwf~kWSD%?2y-`fez?BBvJ9F_^Wv@5nru8;}nUvcn1K_(!(%5Ew1K92L8KN(|&Hfox4=AXqu$OGn;qURM3v zozwj1kzxZi>l{}X@0J0p@k09#-^MAL2ycMw1oO+0o+2B?9ee~DI6^n)w_T*{8a?o{ zaiKJB`0M3FAS`a`Y2DRb8pTioUWObqjZ%%Lq_i>0Q;n?o=rxU+hu443BTn{6FVLia zwJ6eAs$?U00e>ywttV($0mAAxf*ez@F|<9Q@1r|NQQ_dHmnvfCb9`!!DVUqJ5*+v;gH|VC^1*$6k zn1L4&-c0yIKu<2h^vMmYNT72DZjfS6nhb;}^zuNUh6MM0N**fcQJo%3;HSN*xpCpI z?Pd3^e0^S@=-ScwfrLGN^Gxl7VdJ!icFhb%Zg2OaSk#wK+qu7=X{hih%ghEkLK|Nv zW$cM?pU0}_a<*61T1OGos&*DE^&_mD=_~2>+zRUQFk5`&jg#acjvVi_tEx1;^h&{7 z^OJE0^z_eij+WdKn6(v5x!*1I{KQU1H8KD>xO3bYBj#N@yMo7>v^O0pE@}cE=Is zs9bF}6!TFa0(fj!J6^eYvuytiyKbVoe7b2e4diW1cItPOmwfakh%(u#B;Ny)EoG%| zBPEd(>;QJJ;X6cGvibev>}t`t2lR;vmXsY-s1(tkHqwv`m&s86M7a?RT7iIkc+`kV zyOa&k$xswc-xkCuYe}y|_;dh*Ff&-|B>7j_5yTAqqnwlwQ8d8-rU}*a+bw*>L!D`I z>zW|=oEH?H*=#0`)#w(vZjpVpLDTR?*aN`4@Pf5l5}t_{6i+Ny{MEdngnWUR^aUAN z#K>3kyg;n8$@9-7TbCBF7*X550Y_9zv@6W`t1Ru)T=P<}c$rBwZio$y+ivGwNpJ1NRas1@6H4Q!3Q3tSc?Fw9V1O6r}&tTfr1U$ITvW%B;Vbo*ZfGw zOY)o>Rz6#i-G1`viD@_Et*wdn71~omOY0q;uO5WNc~m>0X@wELS2%6$c)w6yanmGE zbf$UV^-#;R)uxsm10~tq;}J(+elfQo@&M;Y>C>IqsVHOZAS*+YSC6wH+VdV7ZYhtl z{wJZDTdG|(I(c;*c)yt}j* zWrGAk#?tSw3z+}Fk;RTAWPD>8!Ri1x^{s+!K`i#ql)ma_mpH1#taD;L3;LEqRxXa# zjL=u_Nw*Gi`|#qE`YVdzK+No^>+?qkQ}XVFB#;?k_j}Zs!!oCI*vHOwK|RiJphPU4 zRg}r2Wufp5|39!R?o!)!3wpHV1TbSm(I5iSH^-W8M2?ocS){h1N5w*CQknmgUhL9R zc%YqEw5Fx8YVP0@AP6LF| zr8Y6Lte$=%Ys*aK7zsZoa37V%UM^P_#O!hRm%ED9FUbz|lP^dDf-pXCia61)zS;=5 zkDZ~?tR}D9zsKE5AL8t9aX!oGG!ed<+}YvvE?Yl#_o6g9^Ce_0)c2~*odR*In_9)< zrPo?Rc0T>!f1Ue5axs`BdFq2grF0IzE1!!x4*6m8Qc#iR4kYtux~WAW8O6K3^VCq8 zox+e?Lv5l>61xKLfbYRBw%0hJao>qwQveQDPk!JVE8Flx>BW{|{A>f#hhA*Kt@qUo zV$Xt8$fi4fV0d}5gVgD-@YP^jZScNrnLuGQ;R>+yi=zt#O94<6gORNQhxWz7KNv^* z9JIgxBKzxq5n=rD{qj$A>%}uNV3HqMK#f0?j>f3A+;0y2DOtF29$o=h@IYZK^4FMl zqAS&5lK6RdH+wdm{zGZ7qU>`jsQ5NEHzLn>P#5V(w%*P7q5=JP;NZXgO}XfAKumSv z{P*3MYiy|*`S=f|0cz6B{B3wU0N=BNx#XS>b$Az+KC~$0_tNOZg9yA|r0srj7 z?|%TkBInS`Z_Eud|FpPgFT|WmN#aT52 zz&gEpBUjF3zbo&-&mby4l)S!2xI1WnWME0mHtJQJCcIljrGse6juO$HIVWi<+(fY= z^&6g_KhpGQ0P8_n2f*+UDN3!g?Bn7wX@H7Ug%hOuWwxo|b>jn|4-J~;p~u+Ai+TtT zzu>bOkCNF&%^}566l>7?5IaV;=);DA=#o0h>j}d~Smi!>E0631(L3x>T$Jh?(2AEK zaQLCrDUQTsHCqD%#Z?1jchwCYa$`9jnSi6uH_OTt99R1jiy`f%^W9|JZFr56(*wIHb z!f-A-1;86xI3u_ij7y^spBc)N$CSJ!)%}*lEz<4V0tXu1sg~oetL+ob;e!fw+bM?8 zn{6q(FMzV-pD;mU;%d*IvlaIMz<^>E7->05LWy2Rbwk%NqeT)_Ds%3>B8#j7jk%g} z_;pu%vHJir>kfU(toi^F%jaAU*VRIdc6=6pP4nK9kFQg1y8B;tQR`ZsxH-zXv6ehA z$$8DfTfLh0<#>IN-Z~Y~5q`0LDs-!J(e@N`im@6Po=v$+`&JI1T|uv&on>1S_qY{o zYa`b`967Qn(mC$h&5zEh%1ia1TzqM)WP(E0xz3aU~R~lIh6rI%YMEaO7_Yb6( zxR!d7sr?3?c@BIAx{hqv^V~Uc(qAM-s}5_|5E&(4u0g8?MSsIBl{g?bL$~S#OcfH#v^}1fJ?RGo+m{;7; z@!~ZVp`jr7!R}?oaFMCinYH>Znr6dZkl&$gpM@VE#5E1Y>dtL>x?^ZZ{9s^Kq@a?Z z?Qvh@W@toz>ub{N3DAow#|UmFe3}a=v+Y2yW(yejN8#-~Xp&gultVEjrOpSzWs$-z zbmr|XS0$O^*sCmk^2r7$w`z<^8xZ@pvVWC3g615UEZ30ISMi~?+#Y4PBC&h5n#Jlx zmqIf_ZCxXU4W0@_k&E3Y;3pd`1A|3Pjb~l~Di@v*)z%#??CeC*@v68Dpl|GMoYhKeH zepu7e0IxEi+nhdWLim2WwBEu)XV1R&3e9ToxOwkR**c#M`$~hEw$88Wv`syM^R;mK zlcTrWeLYH6INl7?_wdHJ?aWryj7vJ)k-cfCyp6w^G!AmJ^W||d(3lE*p`46sg7Jb6 zfPvrz!z(19-|y@Ih(9LVM$Eah3?dO5MG-j;;fbAa*%f7p92=qb=;!ckL&Rp`;nq)gUNkUSi?{HS3?xv5EwFL44_D=yCbd>WM$Z z^GjhdXJBg4=8q|KU94P-DCn7;63sb^xfEHg7IhONKT;le6=Xn7g<}XH28Gn#67oHhVZsb{7%)1I$+9 zh}YV@%ZMminRE4)N&P?ARu!KU?RZt=6uzdjs%3FHbIwdS7&2?>`7XQWemK1{c`@aP z_hG@1sn-TtzF8T7skT*kX*2g1I;~Y4w+gb($l9>ZxpJ)orU<)1W<^4AhAE-uP^T-$0ZxUnTh1RGx3qCQzPU z#9okSNPAqGV1}4z@G}NU!-jqXMEnz;QZjvWs;{@gCUBKXa)k$r{EIM6RYUhhyydZJKCRo7b5#BbeP*2`o8___-iSWjh;m z1EDSS*Nzz9x_!Q-wk2f`>QsgB?s+h-qV9Wvf~=M3hNrnGG=*u8|2u zO#h_Y?mM=<6eJw!!O@(&qLqwKs-`o-2+?Mb1h4m|?BJM=hA49GF6SrHqq&z<3lEvw znC&S4^8>~plT+bW;M{p!7*HiltJJd#l^i{6`p0#a+MO}?V&5^&_C?0v*5iAtcPqlx zk}p!0dF{AGk4#O5Ze6T6_O*EP_e3!Y-i!utl`f5}6)wY0>+@%yis#kfI>CIJbx#)l ze`D|6M#h|#&B*pDp@>OBLX+%D z%*5DKl0Bh}8Oe5Xj?Hw&%=8@H&sv}NzN&jY>wec-&-1>|>JK00Y&Okt{*K@A+kAiD z@7fX_hB$tvxfCc0G`1xdFVHqk7#U*M5q2Z-oKU;I3XSs%M%p|#B!Z*Ycp;+iilOD0 z@qHia=AQW?hArGT?Z*)@2e?N#bR<3TD;sArZj**Ud;+sUXAmt!aEDcvw|{M_#ypxHMka{E$?}1%(<$n81AUI zlyu8debdjpJ*D4Sm{hcSM0I2fZ^uHl^vqcAgy2VaKJQ;z2A6* zi~;~q4T4k-PaoEMW=R=H<`!_k_XWcP)U_Nl675t(s6ZydXp{q_%aE&Wp$bJE=( zwqz6HVytDwTedip^~xF}%-tty3^~>%`sO_u=|)>??(5$4aO~A^ZDe`Lrg}=-+STA9lASnoz-}0km>bS{y5SgKQ*Ze&|5t}Uzg4-_E z3jA9~kagv237W(71UX|~y=SF(spYh3W02-fo;Qs!1}WQn;g6TTVi*49M|kwpS0M2= zHY_1{4$%1g1LdmR3{F6QmB4CnScQKzAey!q>21%}FJ&Bg zakGr2WuSaBxqs)KIJH;%Kmh+2p!iyB6H&B-7k2l+9ly|Qb#U(YmTO$tTO%{Vkmv2~ z8CarMSL9a|)L~-5ri`y&TOmh5_{Du4xAxUQ1;YhMZ-k|Sy(dtTFjFHN`25SjVaN3f2=CAkAe-Xn{(Z@@ed zJTzEOUKb*Lr)zV!AvS33m0UCTiEf8;xfZ?_!G*2nJ=d@2$n3DF+%!D3cU#7p2kQaF z)|rp_o2u8>Ze#h#_T27@cK$Q)y>;NNJFLRKq-_}vzC&#it4?eQh^g^#*mKJ+)o-6u zu{vA*55M%7*8?Jl+-7IztZVQkEGG}YTH~YHlLEo$)#cfSk;& z@!Vl?#O91m%DL-z2e03KH|Re(c%gD3z~SVzIO{lbrEBKLl*-MO@0fdEdjrxs}B*pDg=|pbNJ&rpPGVja;6ZkBfB9-DG*!bO0R5{D~} z{0hRCWlP7P7sbR*P}B_oJ~&c;F!}(ZdQZ$}T_80ic#f`{;X7t;q7Wz% zr)#C&6X@?2X|KR%o%r@HeEZnQjeoZW#Sw0lf>zZWfS2g!-PCGemBf%%oI}Th8e>o9 z6XmXu{-YRJ3=VHbq-vE$zKV0x-+2%e* zw`1SvThD}+htkJuJ)a!WOk1n#Zu&rV@3rC_7YUr?c5|k-p~enn7jgT>C1p*AJELlf ztgIXN5NPBf|K`4HHq{SzKzv(I|{XYS?@Eg9lf4m zz$cb_@z;f;dHcSq9KV;vl!A6<+u~*}202gI0ZI|NpB5ws1vC%LxY?ilez5Eq)IPzM zd{ApKPFMmUj*|e>{=sPZci*6cpS)xWbqIs^qn9zUf&&!Vy<9%A32IN?vQ*Y4APV!0 z4;KkYGM@yZFTO1M{E8s-?JIJZ(A)$tU4Zfcy>+j8GA|Mb0bnH`T+2}~{^UjG@lZ(2 zO-KG(?HQg-%9mwxHxS|PUSr0^uw?)!UZEL8S8dUl&nu~dJIM=6;Mze$(#JN;X9Ud= z+f7-N_hKO0Dgd0n3r2nSn&fE+@C3!~PZn$+)a3av#j6y(W6mDAiTZc>ihetzS&(e4!44;4D<~gQp1`) zcV8=1_SFf?-Cn)mW0Iehe2evZ!wbCEmgZAE+6nCLJd{^dp3Q@!xh^seoSfAzD)DFI zYn^+qJLgywS?LC~pPmLrqH(aZSI|66ycyyd;lE-us~fQPswheAsoJI9`)S?tN)xvo zcY?3!35zC3pY?6~Zb2&`cU-(j6Aq<%I&U zG>>RGl~Fbize>iufMqJ>^xN!qU02*&Xa8a_*G(^GYb5k$u%kq#i#A|w<7|#z1}eRR z4)XkgX$YSFsvrNS_jk7ZbvGvdbq{#_+ynpo9*7WH(#2~vQiTw=;ADB9v<$7-3bX>x zffLf3;(7l-iE)85!eHUzYFzT2_vHD@JAAUG=TGg4Ki7Uc(Q9svhN z;ZgtS=TmE=O7Vn~W06Vj>;hXcOG%6C@})PEcCR68Y8G8f)Ng%Z%rMt)>3xo9X+1AP zvki^*0f~Ai3uHT8#!w_z)+yt$bB|JP^fUKulR@q~wm-4EZg-sDG~f;5n^DxmzjySQ zT>>edK0nV0P0&U{ht+78GaT|lhLe9m%<82K5-E)VqK$q~AhSdW+mT;e85h1>=d7#w z$u7G5GmERwi#D$n3&nlsY?l_}_$z6#Phz&!o;Eq1vL*GniF4}x7iI=PC9fm$= z^?)6EC$G6Ed(1f-Nxh%nVUuIIr!DtLqP|Uml;igE(faoexV~?FYNC98FuW@0JEw#G z(MPuYy%&~+8gyRL#skUF@GJ6{Ww)CDooB)Zi1MawQT#pTd>EKr0_SL~Pb$M|n|u-a_9W4PzS(GgGn3l^aI};>ulSreJ@;i9`4VUjc6~+MH${K}?A?$c=-<0P zt^cw;g?{eNe|~rV&{!~i(_Z{lv*@RwtvxpU-^Ezu5U`gL`e?E>t4A<0gneB#Qp~nh z_|WFwP$|oiM07*CV--~;lFsGs;c}fli)~C51+9;-`Q!!4K4{UmgN*O42Uw8bV-Ikw@1OMv8+Mu+R8E|LybFN+)k6Fej(CLhU@MCflU z-W*mYxNX%>0KGil5#@vSuE&njnbXt~65Zx#qPniqwYyoLGgD53(3F#W_G>WwZ~dtK z2<*;QMXI<$;HaaqLCMMMGsg>L1)+7atY&B}8nj#nkBxgW05Cor{CS5M4YGv~3eUba z>KsSSlA!nJIV66f(Pq#Ot9VB&>ih26GUA^EkUL%#sfW0~KKin(BV@2o{991`|HPvI zI9#V*r0hcahqEkMxH@t?d999LrksWcOPG#UKvc|Yx`$Z%_jK8CaM21)&<~kL51{{8!o8s~!nruT=S!|_>0=n+ zsa6N@B=rP|LR=6`G^P+caC}wOg%9lHweiv* zUTlP=1W4+@|Ly|ByZLF8Bs|7broncMMIF=|unHTkmQ0}ed!X4BRV7#hiVCKemX<-R z7c_5*AXO6WoC7ie%IMM>-i!1LuG(G~SN+1I0V0#|9Z| z=bc=^dIq8zz?T)CUjAiS{5Jj_+M=CZgfEH511|<9_?*;TikX`M1f>Pw0y(e)w-%~* z0jMv~LeBk-e-Xnu$tVX^4~w{D#1aB`aNZmJP*|Xz$&LH6Y{J@l;XZl}oFd9#X||$& zuG7zT`fp`VA#;xGUBl1{H&A@1l)OVQ^?lA=h^6h#g>W)zLVGe<=lq2Hxe8uo;`z>I zStXw>*Q@WS7OuIC+V$ft9_HAL-T>8Ed_YV%YqX?@FQJFM@ywfsyY4-xDgrR>HR7DP zMp<@DwueH*>r^HiD_EU4%*Qy@Bm_w&GOo<)Z!^uun58 zOV44gb=sb2rpgA&#?I;s`_!iKZ%xv=i>`Vp42m5oc2E5vVNp<;k&qi%;-kEctz44P zSGu@-cxEMjAD!!bD(5zWr8_J0s`uyBR1KI$=S@^yJD|R?vqdz0&-sV1IOgis=1QkW z6%LJ@w|RayR1!Xu&I0-r`dvCq|D`R0XO9NsMRxsK1{~BOjCXk0-6)slQF9$}@L2VX zjg0G_@~g^?^``Idv~9Om#QlS%xlv5;b1X7=6PN1Mrrc)TbF297^pm@pkH#q{FX$hy z%#+=aV!+YOWH#83E0kcp zMlzUU7S;`TL+5UO%)vBc5hn(G1?R(nt!c^H-UgvOHME#BQs4$`G-+~7usYD^o^u2R z`!s2j;*z#ykDvoj*);QJv&h-ze{kq8lK$C1g{~%wjmEdkc_HigcDTip_heijJqp9*hIpZn!PY$E0pP&XqER}d5&$F+7 z!0ZZP*DyxRCqtcR$SJ4~xNI;~Teukx?(6H)qi3z}6^f87dFr;xZS-@XePMT$o${;h z2lLlDTSE>_*SSww7w)hlsh)jA=(sSa!ad0_W?$HT=P~xs*Ba4(E=u^D?*HFL`tzQV>Z&Z5&AlT^l5Ldqiv#{sV`#@n{ zY!Gc}!ztV%$!UR&68u(;;a>(Y4!%-Mg_@QzsA_2@1Ac;9%$H^6TS_cu0Yr+zCy)i# z+bl>hs5kfBhZYZl(terl-`Ds5@;9hQ@b6&WF9AtB%%@P?VnMJ4e;K6>w44W zW%bB=9%0Oe$I??*H(_(rGlxBiOzQgY}+&GHpi5a%JA!#S7hDU zUA!x1Rc+r@kjESb?fWN7pe)MTBj~{JCA*g|?l&Qx{fvg~+7{Kw4^aZe0Ja3M8CSEP zPye|x|Nk%oH@T(5(2HNbPUoC(D*+bXNGNy@)!Aak9}u5mkVINJ@K`1xVYud1&~TnH zQ>sCc#fXC*z8j07F{QhqN;YBdk`W=ibD@8pAK8{{*$vcYf}FahXQZL~*)x{ZXp~mK zW>#$y0Crs!m;r!70{AFfZw0e;&~ws0;ATw$SJ1tXNb)^x?EwigoQ+7?$!*( za9Z-79Kb=-%*Kc+tc7F9x{uuI&~XII0392GR<~xFoU|urCc0uUUJcLAzvQ=MISV>l zt=PfOwVvhUL?Gd3J) zJ2zlod$;PE<@veiLsht2MrJ%oZ9&}FH0V3U4le!vW!b!=^$&K`GGemz&u9PD%lurE z?>+C&HTk(F|1p2!SSV-&Fmnx_CroLI*f$bEqvvuYhSS-rN643DD@)-bGmajKAjJxY zM8_3GID5#HiJ?uL&?_|_54=+>eMYv=FSV$VB_=17UuS%3w+fJCy&1R|k^ZlU>+gvJ z|2MM2yGkNXJG%Hf%C zaLI%f1(RpMv{8yV$&Dj*B^Z*LH28P}OjqnBC>Bi_5R2KTgXNw+PfX!QFYN$5{Re_p z8uvE=3Yx5e+0Z`BuQefBK#D@_>u~kuQ^ePL&SvpcJ)R5yJ`~Wln%GWMBh#xC_98Az zioA`SWHx8%pf6F0W7bTbZWG5luQCi6`Lb-e9A9s^t8|Sq(h<&h`9ZX!g#*R8!Yj>KIELJN3aSnG%WTBUm3?YTlK5RO;-IbfeveQ7&@fbNYsn-3g~RiS9RGIOjR8NV60t zH8OX0<;5OLlR~8*rCfQnJFbgwhCtver6MvMk&)0wTFj!#Gp)gN2gC=i?=$NpHRDzZ zo?)tz6Ln;a)EZt5VE}UtL|W9Ft^rKJ!_bvGA3x zMl1Pw&}jyEvP_Lmb@BD7p_nwXG!sb~nOV+LMHD%f&9wC^pD*Y;;C9ZQ+}4N8X1LT&<{ODf`H0q zZj0G6hp4c zu}rHt9lC+FlX293XZy?9{*yPRM|R2|&?GTT`S?iqBWmfbb7F^-{&BPXti9xvWPkr^G_TWT^5ipIkm8 zatxWAVa>!4m7qFp>Q?-Io;blju_`_|j4B7!{a)iiwuxkIXO zZT?f%%tai?2pecCkNFzVNFRs0hr3)Fwtd!k`)q!l$pVnVy z2KZ^v3B;XzP-Xc89aaBn1T){| zWF~V*DUmgp;Z`D}KEo_d$C}w{Y>`-|HA88_u9zZ9@}C%OAnZiKmwW`B=v9F1$KM<9 z1`xL*=_ZKl@E0I%uqR!ZWQbnU#|zahx>nx(L^sj+4TtR6oPP8cJ# z$qQ7{U51}yh65!q7au&n>w@&;u3Rv?CAKsvIke}20!=CFu&b2`ticlaepM>^1tB$J=fy>I|Ua+itoY zS~YUa2piZNl9;DRo|@vXP}DUl5l#v%S3O+Yswqm zA#kiwh)v|RhW<;M;~53bGyOx&^|*3sva8mz@2OS;l&x2a2+KU z(A3wF<1VB}8-@kJpIE*=>De1x{iYYsKLJ7=zEtt90+^cTRWwzd9Q9?{E+a`^5R%Sn zVGIN?XPU{#b_`FF=KK`#SUN(ufQWetKbt|ojBRo(kqZL4<38zaZt%)bdZfFj@xXbI|iL7UNf1j9r}qeZD}r=T^4G7)zW zg*K*rObRPGzWRI&bu(gi8)%K=wncK1uO%MB3a5Wic>O?S^_7Bp;&8hjEc?{MawwW3ZJmt)Y)1$hr1XK#*orfy8k!_HBrcRfJbMo?@r zhYVP3QCC7x;>0#gDQ&uLNr`~t2q&Hq$oW#$!L7}G++7pI85{|{tozPyIOM@iSkH-r zx)=<}5;T(=O91E5Bltrm1%KIfcT<&aa2^+A?r@;96jky42WcC+ncGK$ zqVJt33_RtMcG4!t?bfy_R#5RK!X^W0--YeW>x!~HrO1`;!pqN?-tWua7m`wn4tR{i z#X$o%UWS%9i^S{-%Z6;_j-(W+N*iWMnAZ69On1vP$yXC2z)%v+Agumo~hzwJvvqmrjUBB-kZ{TgoC+K(a0^z>H@Pmre@thO~ z&UJ$jO1+jaUeCoc!gR>rjMW!MIKafM!COoYwbbbT6hUC!tpN*YTO80A!oh0XH~cij>34giB4kHOC88$@<%JlBiId7Zp*8?c)Cn~6{g$G0M@$++uXRcW06k%%)&8U zEOuK8wnxgLLaI|iUW+fT&`cv#x%;3 z=T|T3TQ2S5?IyW>9hy8fWhGL7p8QCUM3lz|;SfhATcu%7FOYYHVhy(CumXe{jh+-c z>r$?S;5PVFULePYB-&^|4Q`ujyC0khfux7B0-VA#2k!P9SK5_2UaZc+4HSu8CRHRl zRU4Y$Xph-e6DUz+D{{GRc)QI@??3z)x{V%+E;7m4E3<`Bn#%TD0qf3MUAL{3n{1LW zGSSLzHMgL$dvwXw9?Fb+WyXyY0iSv(s zyX{yqgI=sg3PC;oJm?VKX$*J87qCHDRY`?az`rs;5yVSQpZ&y3p2aN5dy*G3f13p% zfWaucj z)y94_r5(Jy?z^!JTjFb686y&NN-L%hBT}=X5Xp6f`F#x(V743H*Ki^}rb5M9u||7& zuAHi-U+>^ucANKD?I-OJvvt=vV9JiA*WVG$d$Tw?eV_cW)m2T|oB7Gg92#2) z1{Bo|xB(AtEOIFaC|o8M6C8ldCC1NzQTBiYyFAO@)6H8xf{ID2&PtrQNb{ly6M{JM z2Ex(2aMt5sKh#$iLI3o@5aY0-x*~I*lNtyr4)d_FISEh#b&=(C7?QlL-2`*a2opO^ z83wHHek1AAoB&Q6bF6+whS&nFGunv1uZ(@$~j_jj0b@+=aL=dRJp$V|9<|9;^C_1}x~i`q7(s_yVmwM*Nf zDji(p9Iap(bUn}6cC?T^axlxuK1#JCc;}n(4|Zp-=Gg4c6%`HaNZaZp8$1$OWPnsS zL@@!MQq^dBEMV%tj$2JI@sHr3t&tYa9FAYbE-33Y6alX7SHQHQ<8KR=E8xMnqmgno z{5pBKM2POD0OOv`tR_fYBG?ys5AES+fIPII?#nVEs^+*eDUKT~CkbodNA;c#f@PlJWi(YKC zC2e9aV?6=Q`n9}=XL(Y0oVfe&>G}QP)}1s2uLnbG6Ug!#LE^O7&(IW6eN8FeNiVlhN{IeOE3}#OQT((2*gMc$cfgcgIAB}93s&Jp7uu(l4!24fQh zTKJckX&SQ4h{7-BNU+2feY3SVYuTZK)pPfa$b3qKES8^=r<+7_PgXnJrJl1*djX~@z7QzN32i^u|#@x0? z)?-%Bqe*{G$)ckLYJSd)n7%r<l+d2=Hfh`EA^6WH6)#Af%p_ll3*%%C@;NcFY_@|nVDkLY@4uY_1k z&h`&4gLfhX)xHZf(xyq6eUfs6dlB6L#W`~e@A+0IQ8+@}OUUJpmH?^7q8OMxMxPNgH%f%ZOyOP%3ysDXG`(Yd zyKcb#*4Pd+`0KGTIOG5x%$lXz+rVQ=x2Ei}!*9N}f1l?_R<5&HZ(Ywidp5tYWlu2k zV3M3%e4a6CRa5i|XPew3w+61;qouSH40jwP0dmf!giQu#(!vs=I@7i$Z3{|0G-`2o z%C6*KW>M^|Jh$Qv_qq#Jb$xBqGYN+LsEW4ejF~1mN(=(egS9uWU8Can z?gf9pl6J@gwbq+an*I#x-#W!j?$Vv2Tqa8!tspo(L5d2IAo}^m^duETW9cyB#f{Iz zb{i_^;tMP~=3Qo_Uod;&ilKr$H|W%Om26b@=2G}=ZzTusS@okWoQ&9zK{_>ljj$W= zV2jk#c=zvQ9T-en;*G zVjK$=DsZ;?c*@PrR4>bzbJc3%>h<g+fP=LkFJU6@TSD?oX$ zmF|Uae~~vt?8KDe=xqaXEU7xJ1X(Ow5ioKS5IXz|`igS^$Y-uVD|DfY18HSw5>a!4 zi0-V3U}kyH0YjxYFBl0coXF@VZh%L-Luqhy9ZN%V$~<{V&Gk`5O*flTK|2-DKgR^x z@An9v950@hmJHzxQn>URGGf9R15&DJ=>t(5KlQmDvLgCleYCvDri|~ zsIWc+THDxw3F7XI>vlmk$0dAqPh^>h=Brkz`}J6J-|~u5(%xSGYy?n`QBUj1^V&!_ z7(8(f0O4~7D6EG@W5&JUPXZtUFEIZ~+V}&<{e!z+0BU+8N??@#qaXPG1Qno{%7+Sa zKpj5_e9=2Wnjn^W4X$P>(7L*2+7Qbc&>%9#kZ5p7J~#`k&~Q55RuBWBpy4Si00qoI zP=XBwb+kn#vM3F{3{yan^WKln6_)%-^8Ef*2yO$#u`wEDejdZpJOv;HM?4uwSOZ{* z$?aRb5b^ojuLj0bXVyUNZOj?oCLbCv1-Ja)c~{JM#tA6`(i4h61}5`9EeNtnJd;-p z!If7a_(tiI1;Kzi5sRf^n3`|_UsM24J$1dApc|$G)w?pWi!!|Zp!!z=R^^)CFy{OH zll!CZ9UFKJYX77Q7STuosM88)U7(a0`vkmg$KG^^IR-AiPR314d;(LwLm6cT@v#+SGmDo_Z-@Wz2vk#l-wAEe)3EqA!PSXVOY z{;OW8v`;6t4qsm{7pAo8xSFKc<+>xmGkIt zgRYMT@3P-@y>J8xkPtO-7N^@?Ywl_(S-oxBlfJC9Z_$Ok0?R7Hy4&lHo$A?=dv79RS^5wZEwCo7dPAQ08mUo8lf= zdU94PL~h@)%01_4sfN#&+0%;d$8Ya1!6c-_RMVsCzLJ4S)6Ii7J9r#Zi&8o>d!_wRjCuBq3eCezO^pLDSW`%NB3_S z(!_E5Ub#EUq>bK;n&^D_u&coQgTCmVefbGKBXEvqXslcc8<_Qa6|F!4aL zOVi`#ALH+(Wv@S!$@WOEFF8CYek9L6eWYlZUtZX(Rw#Rh@-Sq7MxpLnPlYg-8~=&c z2w;QX`Dj>P{mE(h`D&qML&q4*yRt$rSge|ISUAKRVp z0sqYVkR;4{Z`(0}vwOQqZiy!t8-UGZ zPdt7=4KS8WbD#a}dHvDL_B6Ddt#naweb{yRllT9ClTz-?F6C#LSlchjXLA5gYye?YqjSpsV z-Y4;QO-((&RNwdssx2`mFItPlC9+GQQOktiQXc}Ppoz!1CC761+h$yR{($=nDlI|?H z*pOdX{B$7P%zm#yP0iK!AJYHRVn_RrKL{Qt=5Rmb``e_HE+HqHT+U%jC&5jP+5BV1tNN*;; z27t2f>Wh>E{Og98+lU7X#YWvl{ERyd_ve`v5_V?kw4x3_>I|OGhE}=Ce6Uno<dKsszq;kmPFuU-KJANCOvI(ygEsi*29tUU$bG#lkpvIm}v)yuT@I9Gc|@C z7!+91SY!OSHZaG_)t#3IML=aoQJ`vnAO)Ii7RAdug34pndgx80{+DGv=auH}Z@)vs zV^YDO@BhO$|FD9x0r8^Sj&B^=%29~EeHYWB@U)hC}b?Z@7lqvtk-avT;RG-5gj>a-haXEe09slCwf z1JHM-t~Y0CZJdH&>*RHUW`Mvg_J@1|65OQVv5RA!A9*-tz#DP{5Oyc%-9=o?$js(w zg8l8O^gY!kW2BOg^AV@Sj)Y@w8%B)K2DP}C;hAYE4)!oV7xHX-1fbOIWiU6L$v5M! zN2-QrBmu8%0TV?6up8lMf(w%oXCMm-g{HhPzk3Ws&8gkc5un!)GvmJU^C`zIt!xi- z8V0QXjC6(1KIv*Y+EQd){}MXR(v*3jJYB@R-*sJk;%ta>#m-a}hp4HZ`lBPF+cxH= z%Ho}6?rt%bh>c!TS{$)Wk3`K)Xx*90xmv)_OdCV0Y^Z1nlb2L0L8VRptu2=8s3mbl z_4rrzJDPGE>{~q9g-reF*G1t23s3_r7|l}}+(V*03}T{S+1kniBc?06dbO%-_^VGHWb!hVaF zUzS-5`sQ>pUB-)b^&asoIT$)BQ3?m!0KDTkXse@c12LL(jtf)CNUsa1W+?G%X{Q7F zh3JB{Ur~)-Xjz~XL47*>8RHcYWhB<8gNv0N${CqS$Y3;H zl-cJ?r086Ou{cAsX9H$zWe(I#e%RcswO;U!T%MKOpcP9iMYGE|<{@IJXP8pu3ex2> z!MOFrS9(%L>)@F5d&K9mS+|DPbAGLI2AVk|zjKn~?|`5>z|2*+F+=t(66@EY{%I09 zuAm|rQ)H8MD9}_*!d67ViEpV$IAEZfs!o9MH%7KMs})4QlE}je+sa*PO%s-}(XMZj zW8%+A*91Q-=bXKpjn=XoiM{1%NlhbpvclU|Z=)2@u9O(+7UCE_&Y`hqf+Zgt6w7WB6y!}_ z2uUl^xbNhOo9OF3d)z$GCs01Tf)_bSu6mHd1jQo=wnE2~K@Ive2H>ucE{+N}5EhQ5 z?nBJ15Y&@jxd}q@Z8$8nbHS z7_%*Qp7v(&5R$@L0T;&CQ*y^;CntwAJ1hKJ+E)9nQ=2lEdT>X> z>$9a6(LFWpObuaYxH)E_Z38~klp~cmqpN|b%UD@bGEsfLf;GjLvv|@M5{?%22~FS0 z@cWeEaK$UE*wIz4U%SX{}kWMEYEd0EFoP ziFt)j7N{T+tk7w=+H86Yfd1aA;pfhy)*xlvU?gjVZ82!i38-iMLeMLP17a5#C_xWR ztfb;yC@XP>PQJ2>x1VF59Bn8|mFV;j@n8S7O=0*X+y6v!e>sqZlgD^NiJ0>AhE3sI z6+Z1ujeQJ!0X67u1C;nW?)#_#%u}6*sze(@9x>&8B&pn ze91ZX(MtBQbMUC++NnO)@oUHIkMBS1YH-6s`lZaR)YB?uX^N2|DNR%fjmEwv_lMn_ zH^+aSe9}FdBq5oYclCp9j*U|+v%uQ@k;3NsQ*psN9AZ?RP9IsDXmV^QeTMkt!FaZG zM+meYpYGJj+s|a6Cejy&YAI70(fKKN#xwS$`)P0siY6CJc)eVMGdBy49oRq0=TE}} z{R4E3#)i^HxyPfYiE2E}9xX$m0w3~vg3!H5v?Oo;J^WLqe`0b1VP9w%N2NZ)Dk-IK zlBxoWl~8k)1iN7F&HSmwjXC%H+%{R6Sv@N4Ezf+Kd1JV{_a)28__7+G+WY!4vp_aDhZ4_77*qc`%7)OH6PCG0@9YZ-2#xcH*i zY3W2992y$@t;e6RKX+;%D}LhsDK=a>_Jee!i+fs3$n1AVKXM18)s1BELe72V{B19>(Trb$9lO*kS|x@Vk$-glQ2{q7Xw>%B*cankOYju8 z?ycQ5CPDdc_*!mRcXQVUrd{nR)nd75&x1u-lFpgIQ`^IxiSJo> zZR>HmtHVNp(OK_}CjjaH%L1oO@;kM6vq}vwfn$U}nUZb2kp!Z^T0f1^Z=&75ZC^2~T z?FC-b-;oFKZT{MuLDtL&j-a?PUzR;grla`|1G*sIX&hCwYoBOcaLs8#tHd7uAvz*Sye(FFaxEi>TW9MV!*nIHF%=Vt4OhX+!vibJamDfo~RXOz+>}{!ri0)4(Q1^LUX& zLq85xapi2imC{I3p+kDlsOyqhjD19wUTiA*ZEbjykvLq^7jqiu>yg*u&wOg4Zb`0p zTU*vwQLAlM%?XJ6(7E7x4lRm5#jvifN_XRkR%=F=Oo@+I+qn8-^Trn++^%fu!amKA zgg+%1s<1{VTG58qOol{NbdAY9#JFLK$qumUO(q$-}BZJV&1Od%FZp>mi>kiOmd{uKw9+v66({HiJ{@{tI>%- z*rq0Q7#i?nlG$5W zR#XW*gKNvbNfbv4O!>v-0V};r5y}WAj;M&>u(e(4JR#;FBML2Sh#o2Nox;tX6KoZ< zH+9fEbA-+0jI|p7P;SFb>25#u*^$&=DLlZOa4!-pCZQ8JD9MA@?^{6Dej=)=JDRff z1`6wmZDOPn_2aoM@o6Hvt`(Tto$V~yfJwMCBZZ75$N;Kojhnb9xXOW)Q0!ua8P8ORF!<@!@rY+Ik zwmn9&SZ(rPSmQj235nsoj&PtPLo8>loR;X+`H2rhGUfa%=!{k*1RtSoA{>LY>e~kT zSRV_Qyb)s%nnW*I@lJvkMEN%Cl+D%m0W@YA@t zTbj0{R_{(ypI?OIFLQ_UOK@lIVWpxQfo^(JnuN?H?pw*-0BBd3*l>iZ5VfV@f@yMZ z0UPn#R+Pay+ga2aQy+ez{n@D_!4oW1{*e;Qy*UrHKeT<{U?=8|cB|`TioA2QuPyJ= zY2Dp9cCmN`^1duUrRlysjaPff@ib+H8e)9g=gM;pCr8{aWu6@@I3*99#&kAx zlD_~MFr!TQMi~W#aUUwAq{^l9L7$g zh43!S&}6FU1W0815(vjQL3O3xQ~-8aKhErCFRaoMpr>YsjvcROfIT7wdDq(36P3W* z2O?d=&B+)a1__M4vEcx&F9#EkIWg1k)kIy_XZ?t!h&Wk%u%DybOD* z&X<`42B=>>l!R}YNkFd-ej!jAn8a-$Zu0qrS@}QMd-JF!(sx}{TWJKuh)go39S{K# zl}Q1UR#X&(h>S8tL}U^X1PK~bDnpplih=@?Rs;mZ$gCKMkN~ZS$UG?_iGoa$LWl(! zykGBqe&?S4b?>$JUT2@R?mfHzU}=$%N`3X!J3R06K5vyLZXFR{+W^-ll<6W)oMEy0 zSC*>2>yc>`rpLOPWf_B`m6<^Tp7s%w6k=s$pO@5R9$ZDy>9&7B-R@*HV zWqZ1dHFd0{YzNMoRHiD~@A{&Vw@LN3FYKOZn;FFN+RN-I->ud~vvsLVU0HcF^pd?p zaCqB}`SI(leXkxah@Y|?tuhD4C~dVsi;5hQOZxPZ*?gt$a} zMbUI8KZhe7Z-S45D*Nt--yag;#1E?LZ8&AM@zvC1YE{jh8jqRUIE>cBPOs{Y#;|yG zm0DEtInx|MgAOw5Ubzp<8EF(Q$J-|ssk@Z!*Y0#mBOch=LcfxyJ2^kqQ$#LJd_Y^c z^ekJUC~2w8M$=Wr)Q{YHtjVvKyCV|gt#`=e*0^nf&HlJ4y45{fC0OzL?X!C=+P8A| z#))5@+G_F4wqvA;yHlym5p;r_{KvFE;6vXr<_=)CLIc!N=ySH%g!YCpq$)W~Zbk_e zfefP}zVJ3bPY3#~C;^)GV^NpVm^PD=wP0pLYcgY6E`b3A7}tR)41WXt?Dv2Sy_3|> zo;!FS#A@9_BWTJ&gnqK?1$Ia%Ib4MmctHNM;vjbHLW|oMFFAnrg`$Oem29!g`9{$= zmn_Ppehc}?SgPS31A~|*D6#)3ImKF`8T85#440Vt2B^^Yzui7wCTXY6IYWW8B{2fR z;73rec=B3670@Fx4AGi>2ckThe# zhj6iej*b$5CV~uaaSk+nO$4Zjy)m4jZ?FHyP{luiv);rBp(pgJR^$a#$4&qeWkX9t zY#jL55)M_kbyt|!okLlX430CoIN{m=^wJYnUKFS(&q~id{T=N7A3w{H<`AJYY4AuH zLBpPov)Keq>oZI|^gQ+`Ze0k8%Iiqb28`z!Wj>Wjm4iU;ki?d!D{^LsJ@7*i zPqme%M3@>?f@J6+;eLENUfA}+w6MtZcvSeF;~Z@9{)R0N{ZoqLi=3_# zNLBn&1zF`_-;I+^=i^r$TPQ!#VxWQF$>REw@11Rv&OTXctMuuR(!|)p?u5c!W$H@0 zcBq9+B;VY5s;|J~yi3M8rzn3n*g%jdzClER4586cvYhD2FA^!vaspb~u6T}8Ss@)M zXr(B20)DlX`6yeKXxo5v3b7vu#(+>yk?0^fO?4o0O_Jylj9)g$BdHA3S&>!&GR~!2 z-0sUNr29zo(TUaUL?5lJW;WlJJ&t zTa6^?veJUToq)H;J|^HAeRjfV3f=yRJM!SGPd9yU$ZyZXlsRdnWNy6YvfvUg+9iJUeVOlU zBDD&i*05e=hM*q|5Vh*X_b^(b?J3-EEntXiAYCoj;E2Ug(HJS5Q(!C=MP? z_+gw^+t_ZzI$xXGuz@hk>O>OQoKrqvru5Fb9y*SPPqo0rjyFgl(j0F$ZrF?qfD`Q` zs|rA#1}lPL-9?F_Lzr!i{C>e|m_atGO6efuR~rJ`Vuj*C06^kNzr?1HcJh75PX?#@ zve8M>%qyFi9@%Q2x(`@f?KAmcxrBP~q|jS-K;-J@Q&h$B^Ub+(3L$R(6;^8r&l(%Z zJ*e(-excYms_p4On14e2*0(zdb?GM(jLn8+;3%Z!Sx?SUiRJ`Srscejfe>r)ZEOg3&<~_aH@`1Cja^GTUct{y5;}i|s+7mCT7~e3 zUBv~GpO9EyFhRqOPe~J#aC}vkk1^85#VR1DfbCQ3hY;?djltghC+R;QLGlTS&M+Sj|@XV)nAu$YQ^oJr2ymza_#7ov75 zQY}gy?zuR=g?CUYKF0C8me|#eJ@>*&T=Vo!<*Qe3eOFBO8J5%Z4=d?ONh#3%^5lfW zI^?ndS0R2FH48KYY+A7CdFzoR(9p+Lvmppu(U_hU1B+Dtq=fVK@(xrwbfRf{qtx z2kAQ(cVEbfDE2rX=jWv0f#cE=vu|ITOODeD&WN1oj!oV4sjp+IJi6Rnx| zcJJ3$nrQTX)pBoli)@sRMdhdQvf~9O93CcbeNeUQA8~~S-&o=RCZ&mQ;IHGCaz!z; z0C7I!W1Pqt>`Y4+z^Ok)_Ztlm<$}q_!i|iTjD$>Yk{J`?=niXg0D^;6JC>|W|n`A^4;o&S^1jCIZz>Ejo^pqFgH zcdRtQ`~X@BGGfK|8Pl8iARlt6N%IbkaD(Q~LsjPDIMR9$v($8!meD4>u%eVXoKSZ+ zh*6x?f)}Xj3sG-H;LEjwXSW4Q!B?9 zsBj6r%ra~cV(I6yDg7P4p!o|O}uL_pWosB zUf#+<=XkU4(}7^GXUUyQx#t&0yzjks4=jGv9W{AUcYg^*|F+ecEe>-zVWYQ9_YbKpaZEIBO)x#rs zwkeGmrA(FETU&AiG)<)&z4oZP;{*BgpHG(hZgALb#oWQ<))eRYh4^lWD|_WM_^$O` zQDSa6+C8pvE4(_K@aWYkW$crl@5?+c-0e`Bu&561zwbdW>1{kYZVh{K+0&tLN;8Q3 z$3@CHjRLf6RlO&dF@u5?1qr>_0EO_!gym6?0wIJO&=?k{tynF21M5g$C>LEX1F)je zN_*ep3CWgTy6HCZ{-^Z5(EJK}vrl5hpMliaZ73KA>Q{zby;2s@>c+chtbASu(rr^~6WyXcWOVwU`_J^kvI~ zkF5QL-kRQlV@iCbud9D_N^bj_7nWEo(|u2Wjp+resa>UEVQTgP$m2CeyI$(G)ZNom z4t{=7U6uJdeGey37u0K=WYSt3X-GSbXoAFZ@vBHf*mb1Mq?QrTL+&s16!{`H1w<4g z#ib}B9$#B9Dt$ovYzrTXqszeoTyit|Dq}4%Z1nrGtLpezt7y&#h`X1@nq5wGp~LKJ z^JR+GJyvSPuVAt>Kl(cQ<7MiA9Z&aVxlk9>zClVBP==PsX7RrR16C_#F zDRSf-#(@l=K;3{U)L32Im+E!jg5UPYxum%B(WGz0y`+kIbZGz^#U!V#Ltm% z;SMk}3}Xe~LaSEW+r0J02^^3d*z;vp-52VEBeHwR$x$DSn#+SY+kfgh-8rPu3InZ` z>mi7dAYGh_4SYn}Oq9ndNV?SHzloGO8X3zXXTdFb9VU&ax`DddQ4s{2Gx15&GG%~ zF+Vjn(fw?9XB#9M=eC-aB{FTDC!Ltw^Nb;vr_X|%3X7X=dR68BIAORI*2c=E$0TTE zrbXwTA34`wMbnScW!_ajo1U&x7v|1OV`Os$yrQHJqMMjU%Jai4z)(X4a2VY#H6p=x!R zn~3=dS;ESkXnPpaAlpqejo}PL$%ytv7qw~8r5A>h4F)4}OZ-Zmb4&W(7+X1nCYNG- zf=(NQW6i|7f>qsVZa&rbJQf0sWFzA8DqMw`@kP1uK!4(pq>W-MV6B+^=0tX8&W~7WA_o}#kGizJ^ zCl&S9Ry{07Q__P(@gH=|_*lX!R4)4|F#skNh?DrQhlK%P@~JA}!VG$O6%DZ^MwcyW zqX9)Fh0|9A{4qop8HtNPQ~w#!aTpRPXNflZ&<-m7ntL)|?{&Txm7blP^C|yOMqQEm zdGW^yoTBAEkD85DzOTsXXw<&9w#Oq`QDKp>T}s&?rXG<+?I79 zE_?{?1<~1~UqEg14>KxCp~?W!ZS;_Vgh5gU%a4w6(PvMCGJ}rI?*l+-?09I2JmPkP z#h9}VHy2+80mM@0X>#v*BT**N5+prp6v?9te$yU+PDZ6njQ;-lG@vhX616BR`2eaF z5LJb-;3iU_RT}WH11lu^8MTm@I^IkZgN?H?aK-$te=yMgOUE|+wMt6Vyc7{I1W!P( z9+LoqF9-voj?jWPA^qxZ>>y5JA1wgY&q;_^*VyhDdSQSI|H?3}3tcVikQ;xK)lq?qjoW7c+1hoL3KTOfb*fzkDe1&H3e~ z^WMsz{Xy_HP4D0KMx0eEdHZGuVb-@}y1uq|rwOdxHWcA3AaxJUT@db>!{^*|tsHGX zj~$Bf0p%OKuQ>l|%gHOXx>W+KC$ons#0PZXhAv}+I$m|G35odH@(q6%;=g08#D0E6 zz=9gvI}p>z%kixx$>dlN2ZqX%vK{e-V9VRS1}Nkk2;R(u=1oZ8=B*{~1YN_WQh;34 z3rUhtZx~1*{yKWz*$QmT*g)`1Cd4BfK#kiPgf5zGR~-z`73f`2kF1iw5X{ z{T2MRHNf{eU9N+31T(;kL7m6= zkVO7It=o1hIP+})$90;5({qm`fL78#EO+e~cHZSA16HSjS2ipH;O-BLf&Rl%0aK?0 z{c&N?@Tv>wCH<#(B+U(c;xD4Me_jU4A66-3zAG8a)$zy9+n>QAH+>mP>L?^`4@Io( z4iq;_0lasZ1fH5du7J%S*2i=y=pY(iS3zCcQi&EF*})deON;hvwn~y8t4cP3=VWO! zb{A-z{a-FW|Bp)}HhDlnl1|{niYF+N&3D2i39*t5Yrs7^=qd+Rx&+MLS%?1jw~3AD zz~drG(qoVftvd?fQ0skvZ;~J1{RcJ)2yXn~=mdHg&_r~y{nj~2uYB3eJ=QM?+i!Tioc`f;oLKRnv);eZ+WP8JSx2;PRdWck zleUt#xFgYITFX1FE6<2KzqXApdz@t>ADd?5HaXH;KrX!B@oF~WYulF{Csrc?*D5vh z3U}>ZeD^Y3D(2Mvc*1UH!UPYdmowWGQzCnf9$z*LSJqtIBOW<-c&R1j`?8-xbtR3N z=p{SlpuRJIJnnDqlNjQc7O`SIYKRTu%$RzQoxcU*i8FzuGXNAdzeZmHlHQB8a8a@e zWp#Tgj^Fp~D8>D`${C<#N*;1~SZkK>^Gbeelv2$XIMXHDJT1}xC-Xn;W`-M+K*>7Z zIJ#p2iPms^B4^lEvDjBYeRtoXRzQ+QT?69MF+Xl}u77-fGQV)D_hUr3)6FB)R6o(y z7Vg*8Z5nn-=d1L1U$-%Lq{-fu^7xuBzMn=*jr0y2A0YG!jz1YK(N}ujE_#xo91Oh<)N5&X<}-rC*G^&aFpph-H7Gy(_A&`MwfW|^54$_ZQcIe1{vC&UV?w=#N(=HhSNrgN>*aze6_xC~doc=I z3`#XVZ+c#R&p5WmUB_nG)t}F^{H-+wY6tnR zgB^nkv+IK2EUhQlP>R>T)jV-ES66wrgVi1n$6Kc}QuB3KX}e#UbUUX@1p6sy(u1BN88qv=V||N z;?whp0(HCXI2V`p-b;=9^sW?1o%bdwmgTt7a*n?lzuVOoq+@58hgVl<8^6zW-|Q@;7dlN-0K6f%bw-M7w0iPl-AH_N3DLB=y7#eWyKi{7 zAIIPp{kq20l@UjR=MGgqSa)jsHTYS;%#uO-+h@WRcRwy>x+VNpPO!b3wr#I!678O2 z%l=zi&#bq)9D>3DMYf3Cr{NECSO*WK#R6Z%)QkOmcgzeq9Pn;%WK0;28mKp-6oD>Go`sdSpq) zVf4j!3R3JlBP~~%wCgwNorC;izMM{f+tMc&d6OGd6qRaH@oGbWCB$ze0r=oyGKtMb zoPcbpSk`&DAW9jgh<4!9u@f7qwcjL4>^qvRhrg zxoenyHKAx-8M?{9hsB}b;v=GmwLPus5GN;}h@S}167-Tnkiaw-GVC;ogl z++Kr*W#|lG0yfBs0cd)f66b;aeT$4ivZ7F|HZIkl4$4_)j#LvMjwcb*Ewblu9(-sP z8a0NU+1wMR<9*os1Un@sT-{o5LbV-h$MkZ^IbXA-j95__w^M1{PL)i*zxt?-wZeYQ z1-)l|sgJIliVC#7cX-a#F|Vd_@$F{L*`nkfJ&(>rDvc);J3LXTzco(I1;O}%MZKP} z{H^^<)fO&1i-_?DpX7}$OraCx0R z?MLgy0s`Nkuf>I{f-lFXo)$k?V9Qa!^q&vuW5b*ufS!H`)uEiSAn3s9|6W@n11#%mc8ks z$K6r2=(Tfwc2$AQp~pQL@e2-yCU-M8?s?*!`1+I8Si`PNgIxu&W&3MTMn!5)rPc~& zJ$xkC#c%iPTOPp|KbUlvFI_%J1izkx;g zk6Y9K4)*cy)%c(O_rJsK?)|IO$%KuZWN1QN2eDzZB0YvbLlUpQBqs;}(*NedodmlU zZMApwDA<7OQvgeIafuBENPjC{#T37Ka%2~*no74X3iPlSe|SHF;%8mAvJ4AR$>G#* z?CR=v;D5S#D6{2=N6e?2uFIDG&y;6>rwIJ-{unT!Aj;xTcok^cu9q?IPK%()iwm(I zuMq*KzTC+5cZT7gBg20l_wDlz5bfpiL7HfU0~Er;A;&A`v5P-^2GwD?ZV=YpRPXtx zvE9%Q6!9fcvVZs!=w>hm-4uVUsQ=@b)&T_BH%V}{5*hG0(NUlSH~IkWovaAd;vQf> z3Zc<^*l*GJrJ_jNW#WIS$_F5WDNJr}L53(C?`9IDu1 zVdz@~juXHTY-E9I{h5{gN(T2dB-q;oj?7G!9Fn)vR(<;&CH&$4^v{23x&D85FZ}-Z zfA5F?oAv`8C&=tufaJjp8??xVBewl|sGpAIgsy>YFCu$U<}BFn5%Rk0Eqpzt6S0v9WF z7||bB+ z@lsKbWD%NMF3z`E3`TMdhq+6Z%Z1!KT>tA1S51>bwVjJ+Ht59I4#DjsX#x5Gq z7bc59qW71p`j;1sDR5gX7K0|vk1K?SD098vm%a1_?Qhfq6SuM2e``_yjcZ=eXSCyH zvp^*tJ!Ar9(j+VX-bR0TZ2lW=BU28es#WxhQ3_U|Gs#}s=Jx8ZjR(Dw2Te=yu}t(T z3FvTfKvIMeAJ{?KYCU10p>$w%r1pSED}%t?pB?BYwW*hA#AOe)dh+|8pTRACzCL_XMU>=4+xD<=^d%-tdfKqdOVEUX~rai~sItVEUuzQF#Pcn>?mhd47} zKWkRI3g90Or?1+WzCJ^tS$$(k%3nXc^w$IW4SlqF9Fj3*GzPujtG_26%-8u;T3`X4 zLBD1+{HGuM6XO4A9o7GS^8eb@{r|>+d|$T92r>L7QUHN_N;h`2mMVi;CutvQO?!;d z0uK5JJ>~)rinB<2QqEN~LB;3kF&ODQL2kF`MaXANGY63T-nCtU0f*6{lUH5cCD8(N z7T(Q&yjzvD3IC=0uMKrSwis&M4*91Ac=6du3y`8@c!`!o)YwvL6lY}(UUS5b7JeHV zkN5Ad5_CnqBAS0ua@|2nAqEqXC1_Tt*e< z1?NYEEIgN{-_O}XrZrzii)v2=UWY4*C=L)_>cq!xk^MpMMzm@Ox|GsP=K~A}JL=YP0x)P=u&_}`)6-=W~&8O7fj#ovkP|MA4MiZPm-xs(~pnH{R- zOiN6V`@Are$Ut04(j!Q}%z{)K3`IDE!!y)qtjYTkaiN_cTnbD4zHGh7n+MvpN2q=! zNUZy_r}j{@MgBm+)R4y!`P^fk&9}X*J{RciuKG~l$F^HYo({E9cA)3_sugA#k2%`* z+da&yqdu4inl+KX>&r-yoC)I+o3QoJKsOg9w)F0wtpDd97X$2Nnk@m14U=`S*0OM@f+_-2(*f>q z8a4V&QrfYm{|3}(g$+V$O8OWT&^3}J(WZ;8_W*gpl59iTe`QaM$dvb)u-8}z@Mn2o z;09TJbLPeDFE6HC%DP) zn4T5t5qFF8Fgrz>;u?__?0Enwg2y_XyK*Ely+YDdgIblgnK)mfOUPha#1d`6pLCZI zcV+DFsX{3PE)U+%}e zMJs*09ia3eNBpVmA|<;doB6srJI%^p*`t7}W3j90j8jIjQNr3Nz2oPO2l?#mSem3_sqr62)00%Lh!>fuTrJGP33VvF{5 zigZUAWIP&s<}*nJ2yFP5OpZ5ZlT)fY){2hw5yQ9#dUd*pI-GViv+rAj{x|?%MvK+c zQ-nWA`hfO8I!3yH(TX03ZKf(VD3IRam(%y~LS}55GV!Vns*@gj%X(Xq;G>9s$Y+uQ zA%#iW!lyM$!DIQODq!3t|C?vs3m8SlJMty@VY&*!y-2JNNIruI!-D4s4$k06ak z;_>UT!A5E5YV!01>?yb?&Xt%+x|duT4@Bo1y6AWwHcs309gtLA4n{dsnr6`=EIcz( z9a=bvRg6rNZq&BmHrq&E$J+X zb(d@tJhLzsnMk5o3qVq`*C{E zYZp#D=hYPwm>cc>rXOufY7;+5_ns#+u^J$QIW!#wl>J&pHuXV%jNuid=$4CJWkjf0 z(#A&7o%p&Zke$C0Dw*M6YvMJncJgS+>}p!e?~)LmY}sv3PGYqCOn^>G2xpvPnr6;g zlBUo%1eFd?WY@+%!P*%t-mgY*d|ehA&>tv?Xud6NpiNLBPQV7XJ8@fI8h~oXx{+4F zQSp7~ByF(OUVPU|hnq8l=i%cRL6jc|-HrIw(CM%t>E@k?QwzzE55;amLPOvSTm&Aw z&zW6I#KQ5ktD;R;xHIS_AKEF~UH2`@$>pgRyqNNbQa{O7xO=!0YwBh19Q8Lp+pT}A zJnGTAH&ch)v+ow7Ene0wJiSYjIX;?Qy!xO;lB27amczXe^A7jG$G)ywM?DP%2pk#MC_jB2EGa<>_R?)`SVkpbnqO)bi%7n%mr0UxxtO6Ov2WF zmRDweAo#=rIKvgGE`u6%8uUp6(Rr(o01g|7u8f+;(q&28MO*5h!rrq?LxUEQ8HF>R zOf;YcS)7Dj?{S4xGFFkaj(C_~#G3s<6((lK-=-wa%o}>T(fjDwCogwmM;~FOF-F9n z#ZRqJ+_2>$1LOuTOnwMz)c+mdUGs&$kAq%;P+8eJwJcPkg=*s?qSRYHGQFDQP=4Ca^!y#+Pj(-C0lSt0B|JyEVFEedj6$U5jJi?0s>o#I+!6lpm4x!ZpD!jfYivO7NJd4stAw zf4w_QpVbn4PZOh|oH_O^*Iv_1HoW;FH-FXGo+}nR$(1hQce44o4=msFxyGC;mj=$& zJ}N!){vd_vRHS|<_najv={3J<^3+Z*&@AkOv5XM<(h4#P` z6Hh0!P56y=#ZMZ}@F^{`h`w$z;~XswTMn8Vb*E7P+?9 zphSkVY9f0+MYIv(gO)^QJ0OZxKpbtrne3OpmuoG)Z>-%QtGBl)?38^pwuh_ACR6B{@rpW}z1y+eI3b|w|sea%-sW|E3 zok=V7#(VCQ55Zujf=F}NM{v0KHTZo*p{>^g#U4t5u3oeoarOn*u$ zu#?&Uu=H3-anHxwM_OfaUu_j0HPg5rd~&!*TE}fCnLJ-f@@%f7^ION)ROxnT?zMeZ z@-9uk=RIfX-pQ=afkB(%_Z~jMM}p2}r+tXOH58iGJJ*yF9qwP`g`ccdQOS5Oqf=W! zb?Pasj=w1rHmju$W{gLnhHP5RsC>t;)ui9bCw!E`5{CMxgSfLp8>c)kYn?>6SoP0n zb)qhRti!IhC(GMg%F1wi(vuG#yatbOilYL0{c7?I&uJXUYzeCgfnV^xrF}#|RaWXW z5(;;>P*+2N?6t(rpjveO3IXWhiFDB`!7jrO;RP98+ejON(N)-3D>pw*Xb=>Dk7Fy% zM#>+WV%A~uOPJ#4K}ExRtK^bIuV!ur%rH0sn_UW4`2s!Ejp>G_vd)`1FGVMk+c=h6 zyNke$ciz<+9~Yxk9?o!nh$t|crgsb+y1;TwIJj`m=Tdc#e=~g#x#hKaM6r`( zT?wymW5ifE)9T=fs(igxHg>dtQ8n8_8I0y&UyAXgTM=Jrio}#OfUm?&zf!4$qZ{)K zkl0ahstL5VRSf!iwUP2GaQLIh7O^P{siTnl#kCD>YU)!JuhJQT3Du?>< zC3m?2T??pnK|7Fx3tE@0YZ;yM?P1L5Z#7E->LNhlq)zo%?G^fvTB()fM3Et1kq0Vl z;MvLk7ow&OZ1nqqWUDv@8x#$H7;o%YF2bdMZh1$;a<@RSUJ6n(}qf{vk@tD2=0q- z{Z!kfTNUc$+7-o48!-^4OH>Frruy~*?TocI*{lZhuE-B~$5{LB2dbAIE=4_lK01L@ zAioXlx#!_tm%H!oNq$#>ONW--w$etrMp7eA{(7nOq1z}L@2dxLv}tFt{+%T5CuQ@i zMJw_ZcXwrayXN{@tbM&>AlJrp_hXatThAzof!toAGrB6uH@4|y5O+sKc z?<4p6r`bYiA9ohnBA%V879RLqhhwr;iE2m`d z%o>Zl^2cnQ3Z(VrQWwD-$LO!VJlw8({N3{21si(0Wc=f-6lnm>KaNkvYhzEN2dOjo z3Y+O~Ae_XC6vtWk8cK^LMU&KlUXL*wCSaRusLFH&jy#rQ1bU@7Y!HrA0`z~NK^uuL z942IW_YhsUeo;Wrda_nMw4gAnbZBq_;{tyZ1Rx98nQAV0Z)qd2pmhH$!qub^Y!#|; zb~u`cYu;f*Noi&^Eg zSMZ%Xj?8!M;W6==hvbGkq~e-R&87dqTkYz%&7}BiPmGUln!fL@_nCRSBB!{M{03zU zJNexGgx>ZQ4<2FX_YsNgELFX%Znmn>nJ|*Pu2)Knwg48Xwyz zFpA>V>;Bw-67IWABMo4+qG+lGpBk!H4%vOy*5NPj3aH4MNhxb3qy#L*hZxw0h8ZtY zci(vX`gJ9f8>MT1z4`M>_@;wJ2EKzlf+%5G+X~Z4nBLufbjG;IOv-Z8n2R@jW!kN0wh;6h8NQn|} zva71_KBQskd2csvsg>_1Xh!T{Dr*S3O56nO%@FNCKh@?LLzSwE^~DZf9!168)Y?9> zr7j^Xk)g#1ppnt2vIXhYDy?7+5j=URG=XAQMZclt_TUR4`_}DGI(R*=;`=`^~c za6hScL=|qR=XbH07JPU+b#w~13ei0VOqAlUBI{U3J|i(~OAlsGkmJ5G4##ATOcBNArQYX!{6U|1`)D(WFx#bEO@`YCGMPT9)tzNbR$t4E{oz?;3RzPh${D5pE~GWTcX>Uyky zpR%G^R{3d30kPJih>0W}++XGAR-qK++$5CgDc zzv!R%o1c~T&hGnnKMl~k;&d;W1|Jjah-;uA)DWICKC?$CLwZB4OnAXJZj1(qLVCH- z+JjKk%GPLDOAzv0isEN5a-yB(!0G@)q&148Fe-bxy{4Q@N3tMHK6ip!o9r1XN7W=XVXIZ1^EJ3`i5=5zK;aoL4~B&NfQ0a9*Ig9|R-yxR1PE;X zC_04TVH7WVW;x{l*qXb!yqBoMtzW@4ZOM8PgdH}!lzHs|K4?c38TRkqc+LVDHO65nnCe1SlT}z z3owI|H51CwvgFn_qKCt{%CjxlA>9@#s>}){xM$3wmg}|}4XtPyVo<6(Rs#{!2h+$m z!TIO#+j7o~0m}nQ6rK1r*kU%dVN0W-q!_TvKl2L6@gD07^kAE(*`*fGwsA)1a+^On ze?AppZ@0Z*rubdQ(`VVXw>6p48NF>EVtB@nG2VABxMmk;w$xT+YAE1jZaUQKm4L3< zsHt#`{JR!#k>0kZ5IN}^-1A?@ORtsP>3oxaX!qGlg|wziM!*dWg$Q`!I*}qTY)C_3 z0-li5K&Y*fuC0qCjZz0CC<`SvN29o#KD*M_N8luByqS2&|CG1OYKS5`? zI6sHi(Ztpa$)v6oh4V{KAg26Z3Bw1vtrU6eJXkC`fka>CwXH8B?kx)T(X;5$UfbWGJ2+|0`MBk6w|(|0P^6Dcm+xV5 zwp2`r12lvsH*Yt z=2Xnu(bUasKGG_`e|>A_+gq9w-7NokKRY>`Vf(}T$!~-Di_-2Ly>KtUX1)m;qHtH@ z`A*)Jf*s!I#&J#*d)m5K(p3@CitA%=FnFyK#PDv3TJyugM^-;uSy^ovQhuKm;a(e` z<8D#+aEfMlC*()rYlcDtN&-C88pfGfWE;Q)1sB8_bY;Hcs6!=Koev;`=AspW`l8}} zq9JmmMC6(w$aojED$+i{gKrdHWh9L!?$2ntxD#(v$o6XE9^%jBMjOaoV1V|u2 zG#)(3CyZdPn0Z^;^K}ZUtZhB3p7{|%%Np*A0h=iZmxL}yO&h~ z%tJ#pby-V$lZ0k>kzT&vX#cbghXNF6WqnIYY%Jdazg~0-?w|mc2fzn>b_2hTYNqlJ z(}rvW4b?#H(cYR<)U?-fUp*gcrmZBsVy`D!8pVBt&)nvjRdh}hU6bU6!4|)C^StfP zJ&`0Mo&5A!!4xtmTt#||t#pf%U?i<e&D=iWtLD^(?oXiOu@!#ahx^9dJTHt2Odt~z2$Sw%?TWk|Ot zz25C}J<8wH+y-4R|~&@#-!9 zRIPjWh0{{=B_Lsj62HKh6SBZ~u1e8mIF^Z)oktJr3f4atKNKm0R7_j33YH~qe*rU^ zD6+v+1&j)z)Sf?fpJy1*Vy3+eDdMw_@l{g|BZV|g?@3%}>15``ybVV}>1|;-q7%Y% zP~(2gkEBM%D(vV(yb5W9q#3IqQ3xTe73WB{5?v5QU`(TVVT~P$t`aF^s+gc?+Z!21 z#;eiogrPvvv7Mc6Wr(Gm&H0(kf>s&MLu&7XW{SMpIW|3~UR2JZfpPW}KZN{o6m&H} zHR41zLPyCEX$44xZ%djWZHX4q4bH3Nzu+{~bD?FDZtOD58ss{AR7=1pki2G8);1YQ zeXc{X*klU4sMs%Z7SjvC1U+h%974n^`07ahDdiOq2mD34ic=39$ps7A5D z`WEfxYQ%Y7?biFCHcu+_mTtqj~^3!MeCQzC9(;N-L%;utC29 zHmmlJy1)@)^BN39?lnj#NUnZH423uXg=0SBQcP5WA(3KivyV(U?8amOxVQ#szVZNJ z15$`KU5OcfB3SHOUfbim-*$)O7q#>5Q>%>Vil zz4l32lx0eyZ`byR{H%fMyC={G>gcD}(0jv8pT?}wFcv5_^D2VrCsN~q;LwN?~W!H;c92?I(<-FIH z)_V0y*3?*g4d?Yj<+gQ?dV+B>xxFo8%7GR)^IfYoeWcae6EgLaKH=8@kzT-G#cDD_ z8L4b}%(_5{RF=R}e2ciNVGS|^djL!@Z!3&VCv7104AmzS5^%BXm9z9c+$sAX`;Q`f zIU4P#W61O3V4t;cA?*T4mDipiT69LX>pEBURA0vbiZLWGj{qLcHbQ?(om6e|{0DS1 zR(`fRbXPx^_X5+HM(a-ujd+sdt@iPS+yJtbA&<6dvXg=!@95r~G_-rgFEPvc0WyZE>|KN`?k1p! zuj&zr*^<(dO-Zhn_xS4BO^fV)a-kdE^(N1k=~FkpOJJ{GxX+Oi;tU= z76wVmpG4MI+k9R3#Cy@qUvh#^jfyFKa724}ltKTwU1ihf@8sI-U7bxeDLFYuSJqc9 zSIgXZ+skwDaTlX+PP0u*KTH~jzQqe+uAX)D{p|GmX^)=M^_y`8iSb)om9t;eMSa~C z<#9{z@4e%iO53$jEHj7*5orQKR1~Br7Mhe~ltC1P2neAF8AL>25EU4r zge;|nA}}gtL?I#q0z#xK0ue${5hGnd2?;uMNho1SlI3}LcR72{xc7PAZ}0E-owLvU z!4L9~thMsgyIl8m(FPB%(|gyw{aLz(Lzw-pyqRW zf?LpZ<4U9`s1+MWcubjY~LoDXlT^n^5skCA@lk`T=-@^%dn};J<0{ue*Je<(a)|{RN zJi0(yL1m=BMQ{CNI!nn6Eijt`K?K{B1S3gKy@ge;FE6%`H^%qlrOgWE!YsK<%^$30 z8n#he$r^Ch2y@L4h^N*h2>s+)z_k0GsMwOdE#+trNmoz3`O{;E)bUSu52cQ3h7QIeuy_suvXx42u|MS z`q&dQeXTv#18043lD}D?#CJ7C73emQoET3?7!BMWnsYTis*S@L%k+6?W^_w)=9A!( zACSBaf_E7;>PZ1we|6rPHbg>{MfXWke@?BaiN^jsn?R7+Q-|izH&3CJey&sJ1vgP8 z7NG&(MrG16CbyX62x~qhzsp>xp`t3GNcsj{p*qJExc;XnM;XJaHBY%L57A@nX%?(W zX`6xg7e$ZhUaTZUQ4|UEK8N+xT8g1YQ>M0JcbvBk?OK+wpDTJ{UhLH8B`$T-J zr$#@rZOUyLXu_tA=&cRFD3`-A!JHDc(PPy-J&M^Ow#QD=cY<}eVq}=gJ%L&W6F60L zkecw1(Bub-ZZ_;CuHn-g;BZkM2e(Q{gkO#l;9coS94J0LTZ}sk0v*1z0l#4>Ue;H! zYeMV@N`_c-f}2WKd@EGU14G}O-XQll25|tfDm6ExgCI#ZLSCAL%>d~B+BrCJln@7% zH?zuO%LL-2jX>EHS&wv6H`e)#7GGek76xA&VS$_rwu;g`8~;^IxfCd?-bp0LOkOEX z95E-ffRnqB!;Bw3$m@^$T&Kzoz%#^^G${;@54MzZX)?q+!SQ--e5-w763yxzd)rKq zv9}LFi*`8OL;3Q9d9$c}h4GCiUhyuwPT~urlLI^-JS=*87PbFHnalL<`n&XsPrq_| zbl#M>&RL+eZ=c;gy0_Qs_8X#>*MZm7C(GbR-Qsth1auC*l|FQ*ja5B1W5lgs1A-!G zRNf^ol0gDI`Hqvm*I{l5H0o+AEfUsa&i z9@75oO}(KJ>bBi8v-f&2jNskZ9eBgKaEkyUslo+#TBCyOcMOrd12(vgqV$Cqb>`e)Mkb3QRD5(w zXeP=4#I8YW1qJ(f@OZmxDaUNbidsUj^&oHX9k>2QMw8{8;{(b@Y==Lm!x}g+s8NQ+g;_Y4R#(oYn-g|dT!aE zur@?<%VY+MA!)IxOr{v09-!aMo_geAipxIG{L*Wu$$9KC@;hoZeWsmj${!RJ0h7|3 zAI+^!>2F$q_w;~ zw*&`P(8=ea0f^C{1m|*>=iA78>R`VT5M5v|O%HJ$*@|tzj=54#Z?gyu;^GKALR=+E z?40NN+Mu`w4H)8}6HKh4LidF8{hs!;HQ`i*m*G*t&yzq!kV(M;r{D}>fR0EM=ECiV z`WhsOieTByi1WhvA>7$Ey^X{v#uP}Hey1*quQT8&bmKbwy}NeN~|lg-3d~hWPDU>u-$_)Yuw(~ z#@p-mc`{|Km+Kc$>hWk|Q=3AEqRUavH z6pqm}POwjCBT9!xBJ~7;!~g;heT{UC8`PLB1y_L)i8mRGUyw3oqZ#NJa8%pqfxyGY zMbUxAO!8F{mL@c;#q8(i-{Hx&T^UZ(CbF7`cW|lETl*K2EG*&h5ver{bk0h-Z5uk0 zF7b%uE(jyPgDS;iL9A*m=?WmjW`H9tfkqF+#j&Itq)F%C8v;$_b!JdpPzX9<*tnZy zfnt~&j&aa!K`JCmURaAC$rR|dP4t_DF+SkgSsnZ=>4IX9!*pBfkyun5G2Jnw&}$B} zm2=%K$Jz!Jo$mVEr!RfDG#{skjK@umGz;^~b^$lp^;u@lniAJI5?;=RN`{!Sc_QBA z_7O|#sI*gdK}~h$ak&S(_)iK)xpxo6HlO`1!6?1A+Hr~5Iv#$qXtbmI7Sx4*W-%EB3O`F z7LU^-E5KNeTHZ*r=mBQccx_EAS?S%B1Hr!*Xtr-ADvx>a$QgNX4cj-GucUxo z?K&S@p*UT`?H}2b#9K2;X+{s4^3mKjVAX&UWV#g`!43yLHtTx;_4^*q0^hs!DbN!C zuI+k*I!U`5NOHKrJ!TM1xEIJC&=Q=G z!c(HkS#eO{$Od4$Hm6RJ-kqO`azko8=R0@p{xXfll7Ao z>PV@gN({4%q+=fhh)JejE1!YDftm3kln=W z-2}^|&-YUJzua=*q2m{3H+@%D-CN~h`kd!B?9x7}sy4DjsAkO^8-d=f;XeVshi@Y< zn4iF-Uj;sVggT!rs;W#;MJbUic(nMShJA1fdnpq9s~8>I31?Uc$b}qqGHdha*&u^o zxPhsezKLc~DV*!sn?ji>4fQz7#m&p9eGhb8(TK#TU>ovo$pm-J%t>HDvR#QEdP{mh zqo3p1*fqpog5oX^8OZvJ+ynMJ#pIw$y%=R|Bu4oZF^Ut>7HK9?0xz`;%W@l{9+G|l z<`BM#IyjirOQF=6E8MZ-Uxl4~1fa&V(UCrqMX&M|%K7s9-eNS))uu#a1I-Qf6oi3Y z7oPUp(>TI?q9&dj*FHCm>T^91n= zCp^1boUNE5+EuzYZD=?2Gb)i{RJ3kWE3i6ACk9k29L7U!{yKXw3D>)~v*jv~7rlW7Gdk`!`TTVs6K4kp1CQCK zYFQ^~vG+Rd<=sgw!bv)cA0{5RbbWcmN$2$AuDtjX=Mx3mRobr}6?Uh-S8q{4<}>Y6 zMGf0}KX%>KF%&o?c&tBknfB+# zkX6fv{>Vpo%IXh5YO%i&CC&pY$p=&&lnHEBc3~m-yEl|$vb_3RN|irsAxs0Dkj68C zA$ao|7~~a-<{4G9X(Qi2Q#arnsy!3uFkYWUgx|rv_Q`Z?Vs3bR@P@;=Va;=AGlzdF z*E+KAlzW|HN)|NXbx#_6O zsOYhi%q8+k%ait3i^Ntp@bBj|N!y*@7<|$G(#2D6_60tC>Lx6FWverA(6Gj*C{11M z=o^3OQ*X2#>@QirI#oDyd$(S|kVPgpC`O;Y8g^tfZ0OumXA|*&NH|*dc43IAL}a$2 zWk~p7p91&1s=DFrKxs%dtQj%pk;`^mEG7^sE!o@qszeSW^}_{)9v_bF=;-RS4A6RY zDRoTCF8EgJn8qh9YrDDB2cJJ_84d+j4?XL70~n{SpU&N!x4BhoSF4umj`aAQ_icWx zJY*?%@;ZDA1TeWc)-|;~JPkUh1m8xl{*Yh5vGsN64^;su*T&=6kz8aQ_e0g^;>!k$ zJ<8%yBt?PqIkk=4{3N;VTE7NWZUZG3hK^LYgox0`%erS~X6`Q&*aUFuN|98#&bLQU z68?~kL4@S7J14S1ojIqVWi}D3Y8Id~iSM3Nlq>}Jt0CYy6J)9$dOvx3(;UNcMYmwC$hN?=LJ15CW7wx0u~{6U)b`F&9ZwwDgIDtt`Y5vbZCG5&Sy27-HrwUI1+$s}bqk4s_I2|^e z?{DP<1pc%H96?D$S9lUekDjy3dg$)&JbDz);JUYZior?ubTbrgSdlXo6DoUp^_QM@ zg&Nd#%?9a?Ev(n}+1zpI&Az)qitW1!by}_MfAK4BJ!Y-<;AX(dgzIAxT1^hoxkah& z*E4LDD+n4SpwJ6zGM__|#3&1%;q6h@5P8a;%P-5HN>>52M6Y6jxw!4n}*i&cD@lbJoYjDT#j$QA<&2Q4(+(ruNG;gx zF{jmW_`uENSB@t~@^;X6uG1JysH{Kp`{FJ8#9MuK`z~Ef46jnuGA9<7x^ zhE+^r4MRC72~rOaAv!iI>&59O=E(DJ6%KeZq?#eQ6j)8b>{1~H!R)HJEBeQJ))g=ul|05W0jHCq2Qs+x2a>hbOfai{%`D-X0$Ku z3TEE0b~y2S#`e^nlMiykwT>NLZ`Xe_+L5kZsn9p!7Z?;EYsYgxBwrU892^{esgt4H znso831PN*w+s z$Agb0cN_Ng(?Q0yWyrLhxM%vaP^x6`!=Q)77Jk2T_t55onkSJ?#Qex}S-I(2^0_w+ z&xC3p#f*7s3XVcA*TLYspFUp#Xe(l_Jl*8L+<)$+Ms`4kMrN%aXFNaiihf^`IaALp z@XT$7ZGL%OV}7OIqn!cz%lb#itA#54bl-61KzR_wQ@Ima3m35M^0>K9u-C|x`UqOG zg*)5gsq&P|f65M&?teZ2r1xhY zDc0ZbZ>ad#Dm*AywJScLwiEg&^#CB;_A>w%Rs561TKnCj;N4S>MVsQnIsMmaAfTjo14*E0DEol z&^1)f*4SrlFu@)_T$JkPXb%qC=C{e`PCtot50A^umKY`aMxJr?%2Yb};D(J#>@oEl zN;f)tiVL-$M_T?wv}i;&0h>Nz&2wZmw}xUSGeTSM=j?`x0T6L1+2h>)7?6dVc)YVZ zEBBlly0hfx$}AP@$JI%@rz>Ynx(46$tvz}#*0^Wa_;`+AN8rIP2WJYf75r@GoiFv& zs^XX7bK%x^tH;vX>lH13$vA)BGvJrsKP3s~S_Ob8>2DlKYqGoQ)Y-O@u0S1a0k?q| zZpA|-(eyu9v|iz--Jhr>S8%38D#xnch9u6)PNt{7Wd-zSI#axT?oZU1JX#8NnK1mN zHnh0KH%M;RIW-w>LCj9x21JqDMyWG0N+el?ac1Q^?g6s#6utO5Jml+Dz#>wc_xttr zF-wTCe1>(`^!de-qwgp2hF1b(D*N@MvTCi~cK(Rhsl)5=&nIyni4wE4lhdhlGd(#+ z&Z8x>lpO*x?<%9~Zf4Zw8rW+VIjOHt9W{t3P!9F)cJQ2wvA%&zzl3ATvK5<%!fp43 zm=rdJ(acqht*V!82C7tti8_n`w$z&DY-OG$JxO?wBc;f&$(K^G?gJF_Hl{em@yx2E zRK;a{!tTIDfn=P)x$Vyg7WWerpQ#-cJRS@Fue`~BGPfG8)9xRW?T`0UIYa-0PoZE&pcg{CECMP(YqTbBdxm?DSVL zj4r4FD}~hwen1QKF2P{Lw(tXmWQTo0UO#0n)_B@mwpB|r1#GtuIjie+Zj0X+mDYSEv^*gzO%Wn zC1B1myajywc9dvmLgmzfKQ?syt8}WlGPWrX)K~zY;=#QY*0Ue}c}4$?x9nSg|9P%O zC=m`$u;xM$4G>S2Wz$5qi?vJp0mzTaR|gM2>Aa42fXX>T=bJL1NyEJ>#B;O_{HFh1 zG-eIEMZlN-s3#yoKxN()7}*}&BMn{Oa1Baz!?zL_R~eRn&VD#_MTqT z-~GR`Y_b7x!;~{y^kSU>{6TU0(^?<_MUq&{C5gip8{T$sW>Iar``fqz#>*WJt;>;h zmyS%@cRu&|$?59WgryYN9W4os=Mg~!R}u}f*>kP+3k#l!3xFM#)NVIx^=x7c#5W?w zAj=DAZZ$>$utr&P#Sw)SnvG9M-)J)ZDn{rp614aZh*;c)%$X=!>`2pIX2yrcL!m zu>ZQ-zvxw2`Uz87fWo{x0CVLN?sKjjOp zZZ3ETr1Hj0px4D92-jmx|2^fwAIQ+_o*e;!%cmhpTJ9XHt4CFa54NVMUd$U=HOaC2LgijNZs7UHpu@1E~IZ+y*vtxG)$^e_% z-@nKWKvH>Sz5bs5*E0W?P3?c@khtbG)D9Ge;kp$_D=S# zJv6nvNFciMp|Hgd5o7o4|JSx$(pUlXvLC*KyuiiM7mfO+x*_(@q}{;JOB+E6bytK# z+m*k}7At5~LhDSHq%cqSA3MU`C(^%(9ItWOxh{`qF#XyVR_AkX4i z^Jf_5XXF{JZg#wM4WiK2#9G$!6a&k#jX@Wd<^HMVKCl25CmXmG)5z>pt>6vv_ufzM zZ?}{D>u&$jw}18IH)iEuv*Zse@UL0&|2#{kzLmR}!2a2iZy}W)9a+Y@QzrU@M7O|iCb67KPMmYc-4M4QYTRvkXWNYB6;S~ zY&#uz=1U+`@}o!*c!RIaudcX&v{xxW#^uG#C`zDAIs^p418PP1Z#0UDw!#2ev|TY8 z@V`j-fJ0%brc|9>BaHI|*q6sUGmym6;j4dhiHjq=eL&#UuQn~KG^fB{p+>=ouh_@) z7$CTMH1n67!_sRcb|@Ow>^-)_NMZg6&sMhXlDfLQ;lq2VU$N|A)?*{l=B4Rt0It=| z_5LdMThTWgml2>>z6Md95v+kaQ^+sSa1!==?3aYxKR3~6<9}WH-}cd89rA}s^M9s8 z=Flnh#~IUDHa!yXtyaxSBdzrE{A;Cto^m}j{rUh)z-c7o=T?2^vfNKCVO|g4!G|T= zO@B+-#|+ZHl=I02KR!bYn%M_j5=jnI6n~`#NtB?MRD{q$MWys%F|taK=tp2m%8OI17%2f#yU zAT-r=d*TElgdfGp4Ylfc54<^y2j zcpLo;N_d1Cg%-Bhf1?fGzi>kQAG^BP|FDbW8EC*z;zfOT$5vED{|SehV3o0^E4=Q( z8HjQ&vdMf?J1D@g33xz^5~#2ZQ^IpWQheeu@rbE8UZ6d9Y|jF##sd59yvJD8T;ADW zfh~dhRjkrVNDUIo79gLezKWgv9RGt_)Hizn9~=?l?v&{R0@-7NQ zIcve2RW6RG;~GArsrT=XZP{p{(ysI1+-tEt_5?AA@s2){PFT3fd58smdHb=x1ccbLYDpx|760bHzI~Y=&`{@JxA=E`_*X~$e_%%S$0FV6 zxgQz;l;K@QF*IIAIQZ>x^ThG`k@exg)9T@^lu^euC<3s&oDpA{hl{UbN=};m63=Ey zll!P*i}hhHJ(@pkE$gaGI?%S{7MpW=#*))Ok{6_CBTu>eT?wpW3gzzbzpHst^SC0Cs3|JL z`o;lJSIKCy%h?26ToJEbrFh4U+Tz?oXR%0apk?%p1>XCq57|vv{(=>0Wv8J=I)RIK z5(unCM}RyqX%*06It}jT3U%3Fe?ke5rwsIe70Wh2bNPDk&J59x3ObKj2M#^Fm_(_-#&z|Bt%MqOh0TOXs>%;hi;6P*Bjo`L-6Qsvx!w3keK} zG=3Qu+h!_-e~#U(JBw@~md`%tXRnJo+&6s|Ce}C%*CbSySRA>SZvkyFQef`rvii9b z_(w&oZw(Nhrw3+FyeJtvavQ3~2^Dbslb~21OlEO`_z?LGRP}vvkkL#_$vHx``1Des z?}!Q*`(>Xjq>3YXX9yd2qwPLHNP;5@CdjL~E$=tJY3CW)f+~tf$9B|?Du9`A7#)pO zAfrLGDq#eBowYvncR)daiyv0(A_a_KWwX>h-sbYqF$Pm7>752cwg;MP&!&`E6io6r zF&_Gr4^LFn1G_)(rj_*B*!-q(tFw5Xb{ITCF4U+&+IRolurhZ{DCZ4oBXZzy#-KAb zXWVU1nt(v=;G3LH$@Me*^_|}p&n%xH-X_y>rk`TFsLrF8Ik#Rc8kFR_6piXdw9Qs53WIcbogJ3@E`26|6v=-Ut91$ zbZY%I`v2%T|DW_29z=-Ok&T3kqI*IWRCCZ(D&V6R2EpOM4+#^7h$(C_3hJK#L4ROt zabB%u;l!^nwK220>b}iGzpfWISOYufPYpb~f67W_@7gsz|Kj!P%;mOW=S)GpTPt-V zG%@&@?lkqsrmNVa7!~M63>zz0?Fx<8&P>JqDV_CC4*ItWb_hSHDRSe%{jenMTo*rPvJe0a-^%yv|zH6=+22@Hk%)!SBKV{dUR*2o8Nuq zuiVkP(ORPC?nF~&p>zEPgY`ytQ?uL_i<{)UH@~#TC-r=?J20MOcPm|u7=JQZE#HgM z=){-%gqPXe+ce7S_3zHl&`H{&=9+l-ZXP5!WTWzHlYeP?ns zd5wB*q4tYc7CKtnuC3i975s~*5%+8!X9i*;S)ADo{%U5RLWj+gAr>?mx*=(yoLMO% z)Uu>JQxLuQ0b*S6c=>32&?sR~ogT+MNP6;0Qd(7d)kXG)UsMglZ|i3r0(nc7I_xMa z-g5=9HF6iL(0~Hv8`ce2avv7#2L3^V>-*X11rK0BBl__qAWbJQ1k3?CKL(Dhm{?9} zWWMVksR5WSX<~*2kJ|J>`pw)cNXc(GJ3h?26!vX#+ts_hzN%6<+>ODI-=I%_hdprQ15M_{L1Uf=X-b_t$C2b=zxJ(6V1e*gJ4w8F;ZHPg72wWH1 z0G2^012k2p4t)kRWg@Q8joOxy0LeG3nd^tzoUH!m=H(vI6jEXpVHJD=MazY6}jMk>DLNX!P$ z?QBJ-ZvLhif2WG$dpr(TdgMA7-+gBCI$f*#RBz5^ul>Z)Y~_=Eh6j%Xrk-_qWGKTa zV((@3JIMn90hJ@7Oz0dF-T^f;KX&q;3#{n z`Gd369$VBYUfZ;Y+s>DR@j1dZyd%$wU8i)Q0zXJ;h7uF>C{$8)RVdqce~aKUudPW< z16@_nB4x!1YlL8JT1&kq=l7hEdKLaJ+>Gfjz%4+*0RnZQek7CK-}KCow}4$=_Z=H> zIBHIR;1JNZr5#>{#M$N=P;sNeMr|4o2rTRf^^17WYS5nj{=9O&q|Bn$i&N0LK`=#j$xp~G$@-L?^ zp2(=q)$Vk41DtfC#X$rFZteDXBKu`kffEVJR};HNiP0m0HYYxD2+ z&z{!{yiR{z&`5~JiY>C%k^GM*h_+UBWM$&+|o-zT)u_IFm>pWd|<+167sZ*qAF`0=A6+H?wc z3Xx!GwxWh^@he~pfu+!_47RvjJV3lNk}{nuIP`%eiCYJ1qT+K&KfxkiLN^2Y4jVv? z>m<2~?qRkNeMeD@S@H2qXeO)>Mz^Tx_5${a+jZW040;TtKyu0tJ{;mmFS;Eo-&Lp$U#G7+l8lx&J9(k6<)?k{@v~~u)IOwuUP06Ttte!| zx}wRRseM{buJ^e4@yz-SW*6Q)wBC}sk64=)U{CaMD>-GTw-$^rtZn(&gs%c(}$e$>dX+K6dWwriae)Qh6&}|Px0*Nf>q>K)OVgbz)>U# zcZ%+rd5lowpo)xXHix;P{*87UMs zO;H-60aR!h&S+UgkH}b|?(pHb&wh`*Lrdxhh{8Drlqjt!ZY7M^4aB9N2?XY)6!J_91Oz?M=RY$sUcIrr!O@E;~&w#8|(_M>6`0 z@v?SF5)N6eeJ)|z3s8B7dt0{nTQhqgO)}MRfSbQU0JVmIS;LJj;p|qofRj1xN_?4q}!Ly61^iS1?{T8=kmiZD_9iMrj`|BLU#MMsO{>jq)Nd7 zj7;a8Qkc^0hUEI@j=M=y9=O>;MN=kkN*;CudF4&G`6SgX)yC#VT>LIC?Sbs6_Z@Qk zp3&w@a)El5Kwu*ziV840;5+;cU$@+KmVjh=oQ#I0>_%?t!g z7mQKyMuI%@4qKTr-8PzJ)k4O=CHdpC_X4PrxaJfTF#rry6E?==5q*HE5T)qjp^lTBL(Li>T|KDm^40ZgLxrM~@8(!f3%3R^62m1U!huB)SLM zxe70`>-CQDq^}kEn~cRep6r?qnF+S4e_ER`wEP^2>?;B3YcPz znWF4Mo`%4(=jZ81Leod?#NZ!!3WfPE^HBY$0ZF!I8wB8H8y4}Re2mE?LAAjcXh|g( z@Ju=KGj}&mtf(ZZ1Y~dR*7q<+WDuswhFT{|TnIW+O}x4@u*7V)_;p$pQ*mnW!SYwJ zBr}VLhl=3*S?lf(J8fhRyS%cyzz9G7DoxXExGP^>JbQHiq>IZD^p?>Kc5YHDKIQW+ z=Pa}Rm$HaOXL_x5B&=)HTb*(bH*8PaL$=oUe_N~>_j_u@yOYg_<+zpFPw=!O56bp= zzDf*U&QI9&=+%E(9LB>9nj%MWEjWQ}6+xt+GdR_PJvaMh8&)1WZPyDexX`>Q^pDUA zieVJQn|lVuZvkM&i$oBQDzozju!hhSmp_)PzW!sw+!UnnPe^~Jbqco->VE=FtPnlC ze)}(u)1QAg_`<#S{K$I%wG^tUVQXZ-ENZf!wJEQsvblj?7CUEa)YyLc^gMUY4P z)!o(@*d3zzET4s7u4o$Sw6OTF+kc7KU~i1YRbem(`G;6bNJI7-Om>v77_HM>Ka>(6a=?d6)cWOK7*r4p3f;W&=R@wHHC>zH+7D#Zs z9nR}(x2NwuB2^i&&yq+G9>6!^mI3kg+$hiYtC$|Za>V+>S|GScKu(cCZ+%(}5lE|k z70by7X{*=`z|#MbVpPLHFUx;q!4YlHf^m2rX~yfTn5HX7Pq0l5z#n_2PL&Ygv$RO+ z!cK63HVzXZ;N3@<(Nq)$?XOr{6K!UsaHG)Q@Z!W$1~sUcHkSEHtKn_>(4wh;wPz=F z>CS11bg`QkJ@f-U{4uk2}&f(iSA>6rYj49oZ4uL0xa7Mt*85@NRfO*1r5f;w&Ofz6IN1a z+FerVH9DJ!maYrP3s9a-Y1lbM*a-N49Bp_CW!!nj;1Ywmfj~@o9<+=WfQk3A6zQPz ze?U;sWF2=V{FBqc+F<^#UH7ANB&IrSvQK`}>gwwOQWbp9K`p0~+Womo+M!cNdFQI-k7%B4LgnviFH_hnACD;oA$ZwcmscE){j>>^bjZEi3$ir#W4~nWDqH0Ns}| zNkNp}fDvwi3HeCxl;B4pkw=R|wvpQvu;sqVW;ix$V2S@Ld@%x$-1s)7tRbD{(b{HA zM>ARjgGLpjLm>2&GLwO#EL$b%1GY{VBDKveq9);yM*kvHwN7;7Gu@XpsLub~PZ9@W z7~HnlO6oO2nNc%#71F7kF`dF844HB;g}mC)QR)n16qS^Xg^fl;ij0auB8#6>eP>j4 zILDXcVYEU&+aN!whIw0OIT}P!o@Jyx;g%MNHg-Bnb~kx(f4$3jJiKW3Z}y|Q^X6LP4F+zzEe3QAC5;R3 zTHkbtzFUx3obX!f^hJX_yu6b)Pu|}-%k`kmmj}EQK)rWr5-VM2Fe*tKNaxS%B z6nfNXMo}Oww1f-Uta!k!37A3~3h!Ya)KXiRgSUX(cqq^mQ0y1_jTAFcBs1Xfr@U)p zkg+_#BAb9w=DtbcCbm%JF-owCEtm3~`u&&uMD8d*1F(W69qE2fEyoGv!r9K$5j3n_ z)5;uj2kZpQ7?w2sC)z4vu?sgS!E85Ays2Reh|*9Rwm^+P(9eM)qARSZp!}`|jm!O4 zSjqIWU&WN*OCLh+bf_Hd(wjZ2JbX>$Xm2fHp};#K>MA&#WVTZq{UlkfYQs=$aDoeE zR{(zUUBjlANUqIN2-oEbZgji0paPRc92Jeg(vBUPZ@_uFerQlCKuNCv(fn^EWb@_{E4<0l}&?arc1>_{QC z5|s!7M=1jYHsQIshG6vkHIV4M*;99D%Y~z!|~}% zVKm5z?wH|uYj9LtLoG7EGfxvG-(oX6X-N%AqG#k?$RM&wlt*4gGUP6>)&n&e3E~*L zfI^lg1=aVF75vfF*z4qd<0fXnhOhuMYDUUO9?_+`+0I!&)CzWF8zl<^M`mmqslbaV zA{~9J-X~P#&i#%~P^4GsJKvqV)PxPy-EdKFL+-iXg&i9^Nb7kXFNIF=lC zTz+G?x!28r>tcmF$QZ=QIyFQ;1q>BJ|(V`wV%rrDV0fp_}W(FeZM@~NtcewI3eoT zvS-ci_Q&1PURqtbX+Ce;_udMbY|U4w4?Vmw%k8(j20;O?c8)2#{ket3chYrK6N>69 z=M}T-PWd0)#T0oJ#ucWVD6~7#Y@a|ZDn_k0$WgZE`xOe5PtmUv%2S$XDfBXYlL+E~ zs%>wkBIz8EBl4Re*!7x)as&8g{d6Ci1W7}5ldMEC=629yF=FJ`o)SUH&=$xSC3Ore z8g@{0>G?;cp#%!>&uzmw=c|Cg*x6PoS(mqGp2E)ah(r=^ltX1u2cQwuRpHJYGLtHc zJqtw>P>ZvJlu@heGZ>9Y`Wmc1PSM3bjH-Z9BR6AqbK9;VTZMY)N>(F?#vSUfLdgPx zo!cdDQ<_x!(Q40g4%b*Y zWXd_q4Sv# z%*~m-{tkKTT}b*fmT#N7+aHcR9`Mn=k?llz&Ux(WslG}$02qHmx#?v*Uw$KxFk=H2 z-nI<>6ZrNhcJP)b&qU~5y;7dNmd9I)p;ZPjqgmoJDh!aO6h;UFg#Mx|%zl{l9LSgK zq{QnkpyV{0W>lIo?-}i%h?F`RQ0tsAMV5qhc-ljV1X`d-+Fb*y^3aVKT`qm*kU%NG zq^+@%YnPJ;ce80xb$TEsBo2pCX-~yK6)TaT>uH)>9NKf0y9?L9i_`8^ zrfI#YENGX$D>V7-)zd}%!S?J2p5gJ$9DjO%fp$%fuI0TPlaRcZ==V+g^44Qx zurkmH6+w%BrTeLV0$Qd;)edlgY+#MstH~b^pSQQB$o7k@(&+FQP`E=7RKi zs>4qOo}>$+d!(H_BcM~;pau7{?QRIn5GFy6yp;q3wQ(3_7{zXD>d-mH3yMF#zywmA zV7>0-mge&GICeBnmK~?NDcig^RLaJ>Gem{CsnPqP?g>0A#Qs=q$f&h#Ux5uOp5c|_ z`c!wvKG%fTW7_MtQ0rpC;_{9-MHJ=5w4Oe9XjiRWTCeD1ug$KLX?~~o$#1m2!jTlA(Z&k<>!!2{4o0^c|svHF4*CGTg7Z0}t@2yi2D6*Pg|@7QIE%VLru^1~ob z6s3z@NZ0Ou1X%R`%}d&z8Xnkf`d@;Yf#VCna$lbz3a219BZ0@%fl}aQ%*b*HYyg=# zU#H2LRh!7f$2|(1{!FV(tL$A=Dc&5qE~zDB2r93f8lTzuv}Pz+P7$?bCUA$*YOKb& ztS=B8Kp*Hv5WsSJE(#*VK+dF?&o^@`ln&fHSF6zT^f8x$?l;g zzAAqd;b;H4d|57{)GNd5V(&KVwBxsAj2#Pfe=KaYt2$=fVx&`@(in`EHNJzo{ri(s z<{J`>NeY3PKkX9yEbZl7k$3g=zRkvVB}dOLY|~Ctx5&1W^J}qowlD9e1OMZhC<{BD z2R0&LG6-{W5#?Ea2q>P)064lxJq2hk_Q`r3Xb}b6+>AIncQzehYs{xayDwuoyLi6B zW%jJl@OOexxQL|JgN`;}O#`pja!)&0=AJ9Qjue{P4^iXz`LoZ%)t}A2Op+p)4TrO$J+(4MlkLR5uE$dUxL1hSq#&= zdcYXvwovD%D0J@7ZD@YJf7xvbq&)ucEcy_`19?MTaG0iZErC;YqJNbodJ-)G+%_4A z&D#A{Y&;x%lFE}KRv-}p)iZC?6fgv=SJ@)UXE$79(2mapaa_diD*^>z;n1Kn8c@hq&>Yjq24AvaVqe0+Bn7{<; zv;odlqhccVi-pxUrqBgBdnAWTo#QDYs&g!aQV-=7f*`9^B6h4F1+i=P1N7$@ZJ}xw zoV=xgt`xVd^$P*szT$oF0*31!rg-V<1Z)pR7V+E;y1W6LM{k$FXa9dboe4h>250#f z^_1x?su~~8+%&Eed^phji{T9=4{!X_`nt}0m6g#4Q2RNP#GhhhES@-jUZdI9h18W!5Kr%X6>uVZb*v@|yv?jjUftRF`gubk zb%1*zbtj5*%zDqu7&&`_82P5$KfCw;mEZC_>I#}_8)1l!Fy}e_NDyuS7^zj!SMU;dAz{l>Y59H$hKedUGfBjze(Jgx+hWJ+%Z@&`Svzti#j46od1k<&R*{yI_O-(Y0Tc5R3+ueOFq+ z?z}Zn6KPCGFWbob^_~6qulqCH;VNkABRF01ubhNpY>;|j7#;(}na*b^&+*XQ1*pp;wZ%16r$AuRhk{24fCB^hqmuR~W559V7LW&okiQyUIWLDzM zl_{`QoxA~krf>wS2p4c}x=+-04UZ3|fCu!I#9dc#rb<6}$~)zpd0Y{rkySZyt3|Up zuhJvEX|9ipDL!?x^=&loG3m1lY8v}!S9dB)c*Yn=Mx+;AOt|!L%w4m!s4U@9ey;7H zXQz6Ru}OEq;i8Y9n!DdjI-d8(jG;iZe!Arq-~JQh_swC}pL=(V$@Q!IPDsfMMSc+1 znT8%D9f$Wxm+>U|Kfy76JiXD`CRQ|d6QJ`Cx{5`S)rH=?n(3GMq+pmrBk92;x&n|W zkAajMG{~<`0RDV~84S~jhhlg@&#|Z=5dMd+gZaZKJ zFZGjP+a8{>fNuon!KJDSlV8QGlIp}cnw1T;YIa6(kKg^AP<@$_>!@VC>Gi|IslZBC z)6;#CA#?g%Z%dQY$arlrB4%>T}KWci9+T)%+ujZG5qfxHfH1 zDo7o7W`J#i;$|2mj7+p*Mv;)cuY&+^s<5$t_-|R|sOL3~`LA_1FlU!6(T_AT1 zgk^*l(uthe#4t~dZe+_uO|@I*5V6>a8ykyg_E(xp`RP&*CpH@*Dm6W3hkV&nAMEK3nhP1C_N==!kH!~nmfy0~0YQW}35#Aaw2g63v zZIZ?izj@oQS=K z$da4XRO`9{&pa!MUb&-|(4>;G1!SnCfxZ(?xU-Wa%ZAngak!M$AW0zx4&<()`v>CL zo`pO{8!&q7)GxDv8pDpR1-crX!JtZ3p%qAuy(FCnlb(BFy%D{QNDaAzDi5(EkfDB- z{K5dqAT+-P*nDi!ovJKX(svxchOIGS;Yy0V_Lot3vseJad*c}^2!n_rh2?BynVWREF1W9l9{7cP=CWGNMOvpTPR z<=qmhy%X5)+cnZQzk1*|>X@dz$hO%~feA~u&rS8JaO){^Ox96i zj5DF;nIZe+y(l3Sq&-IKcqbnN-tN8gB_E2`+Z$yci-FZy}$3*-SrnH zW;i+LJp0*u?X}lZL5822PYX1fr51vmwE5c^fMj3~f2tkbQg1`!?29fP@)`1))Z5iL zciA^4tZc#~hMv_6&rw!MjY;OfnM!QjiHYE0r((kRx*5}!Y9y1c>AAE>?_RMR-?Ks0 zL$J2Ta4Tsqb)t4>_62P;_~i0n^15Dr1w58emA7;3$UsDlMb`nkc!XpCXVdsV2p#Z$ z846Y+XW&t|qhMTHLsEi0gH{4IgbUcIJ|HXFpfOs`6c`JEi$)Bm6?=)J6cH&fqa~9u zM7L&Dd-|kB!sTuCX0!?Q>V!+-9L2#7UdSE|E^Ydipx9EM+|FEu4F(mHuQ#^UQeKiu z+C(R6u(359@fs80>XV5|!W}|PqSo2VzJ!(I7>ynb=r6(U;ERwz8!p*%l79MP)IQ4m`-DM3op%rJE?&~J| zDxSr+WN13bEVk0P#-Cl(MgjpWbU^GEqub*Fd-H_v#?y?_1~eai6D%qOQ84pomHiOkZdebdkO$x^GnthP~t zk20(Ln{Xa(7|41w6ijaTchKN-q~9*j8Z4#DkV12DWhdV_x2Vsg@h-0v=BA z30NSc)ti{L#_?mh%vG4WltIt&FrV>-ylTp4kgVb~$-QCHc4#Hovg||9qf9pbb@zbq z10oZm3o1=4|3i+*PTDcDUh-SxM$mDPug7vTUf*s;E1OQDme6MCEL)KedN`>YAQX6r3VrmMQGt$Nl64Aw40iou_tFPgALQ?F>J%PnRbS2xslV~ z{ebJtlj;M*R6(pB9O3X3GMdx02U_uK{NX<8RQ~!t3_5Z&G~v{kzQL;TeZ2MisdnK({j6qYRlIh?8B3Mw zs2wzqa;0TX_a5{%dXSQ-2M<4Y$?^b7)UpouJ{CW7%(Dy4bMG#-2r?$AqW8$eSN*aO3IdiYUIGcIF;-t?PPvFV7Uc)O#zcUxe`;xRe^!@ zAjSl&Ozn-JA9z+B>jo!CtubIjIPPTzWKodcKw=|Kl(7FbzxgNTE)DqD*D})m%v$KX zXgxy$zGX@9)N`cc`?$<+jA>A<`hOLG4c--MQePxl@g1D`PZDeS3X%5ppF&pGc4RH5{)N;3h@)ZR$Dee`P{G8kwqIHqstQKYJpX>w7We!@+>tv%ya( zumdxt3k(45?~|I6`z*DQG!VNwntUt}e;`wjXb58{TxViW6M!)db(?Ng8zrf?7YZtQ z$CyYaEwE<6fhw1b(J4Yqnm(m4#sy-t>Ku=X-Z@m?gh6tn_Z9XFCH*;Ne7R#YS8(pm zgvGAhU3$KLSJR?2rLCnbd*ik`r95*BoU-S2`#aMGH~HIpxejrJ)5Y~(_g^_vr|)AT z)ZIyhKEcYB4YJ9F2?e-S_j|9D+;jfO)JD-TYRmIvHCiU4Ry18Kcveo7<90Mn zmd>c}%oOP0D+liN5HN;iF~MMk`5qDsBx4D0{XLKj=;sVkq<9sKZ`$i@*DW?7gcOr@ z_J|GPjy9&kjM-bP$CG}>GzoXHWElBy_~=kOe}C7y?hidq{l_8>)CEpU=kC&!vX58X zJmes!>`+7?%mR=kVP2bf>bf%Deh#&wS>6 z=4Q*DXK#qtPa`_gyb+I~7R|@8%h-8l&UuC-$@QwSi#DWYPEQY7@xDnQkox)&=rsx&Y z$6d!__TTV&zn|)5I_W!h(=7|_7c}p^{E@{PsvTXwDzK|*)GwjwM89^PdU?D&3Ukl{ z$-Vi~+9>K)q#AqnTN7B>Fnm5nwBt^thMIL z&lNhvtIF6fLk9gtX40O@&yKT_zGMzG{`sr&rG#|N_5D+83m&}1=@6xiFglCt0~~Y2j_)M?qNLF{3#=~ z#^NZgh?vs!B`UkPfD$jPk#2Y-F#J?%p15^}elNvYVthAiMPs_^;>%A@ymv}H|M7h% z>!i-q`=lc;h>?2SsO`o2H^%JBg8VKXG;?)Gr6;xUgFA(*v$am#ZVz>0cvSJNL)j-Q zQ~kX52w$M|2j8BFIpg^*Euh`9Lu9XHudwTtE6v(&b+KdJbzrsn5PHfq{A?Q#aS%gg!tVfsCV>x zf)fv5oFm_PGjeHv$!lIRhg7A%CbXbLO7jGX622%4&ff(6L5qi`eA$$RG?vYTbQPeM zwIwsByd3w_6 zUC93;RbwVG#qDk%`;-?hXs`pin~$HHKd&D_i+y^0yLSKXG!MHnW3ko>WuQ>eS90Di z92VT@zU}onGcD`7I8%%3y444}y_IFjc61lBv~F4$E#A*~n2%L;TkCWu$fEOns{YYC z$KN==bNuk+FtZ(xxPL*<*;!&CZVGZ6$cnv3!xf*fA8(Mzp!c9EF#opb)^mya-5SuX z%CwOty$5_74~n=&g71FA5iBhPoiuH5auuquUkgDSN_zgg#wqY^yXzFvWYaby-T^5=U+(~&+r4d))fpKa zRJc`S}KOLCIL &gix9V;_HEG)$Zf6yxJ@Qw=Nx%hc-RW)`F?LU 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

    /device

    板级相关实现,各个三方厂商按照OpenHarmony规范适配实现,device下具体目录结构及移植过程参见板级系统移植

    +

    板级相关实现,各个三方厂商按照OpenHarmony规范适配实现,device下具体目录结构及移植过程参见板级系统移植

    /vendor

    @@ -75,10 +75,10 @@ vendor # 产品解决方案厂商 OpenHarmony的device目录是基础芯片的适配目录,如果在三方芯片应用过程中发现此目录下已经有完整的芯片适配,则不需要再额外移植,直接跳过移植过程进行系统应用开发即可,如果该目录下无对应的芯片移植实现,则根据本文完成移植过程。OpenHarmony三方芯片移植主要过程如下: **图 1** 芯片移植关键步骤 -![](figures/芯片移植关键步骤.png "芯片移植关键步骤") +![](figure/芯片移植关键步骤.png "芯片移植关键步骤") ## 移植规范 - 满足OpenHarmony[开源贡献基本规范和准则](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md)。 -- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](移植概述.md)和[板级目录规范](移植概述-0.md#section6204129143013)满足基本目录命名和使用规范。 +- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](transplant-chip-kernel-overview.md)和[板级目录规范](transplant-chip-board-overview.md#section6204129143013)满足基本目录命名和使用规范。 diff --git "a/zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" b/zh-cn/device-dev/porting/transplant-chip-prepare-process.md similarity index 100% rename from "zh-cn/device-dev/porting/\347\274\226\350\257\221\346\236\204\345\273\272\351\200\202\351\205\215\346\265\201\347\250\213.md" rename to zh-cn/device-dev/porting/transplant-chip-prepare-process.md diff --git "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" b/zh-cn/device-dev/porting/transplant-chip-prepare.md similarity index 31% rename from "zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" rename to zh-cn/device-dev/porting/transplant-chip-prepare.md index 1637d5d8932..358da845b74 100644 --- "a/zh-cn/device-dev/porting/\347\247\273\346\244\215\345\207\206\345\244\207.md" +++ b/zh-cn/device-dev/porting/transplant-chip-prepare.md @@ -1,7 +1,7 @@ # 移植准备 -- **[移植须知](移植须知.md)** +- **[移植须知](transplant-chip-prepare-knows.md)** -- **[编译构建适配流程](编译构建适配流程.md)** +- **[编译构建适配流程](transplant-chip-prepare-process.md)** diff --git a/zh-cn/device-dev/porting/transplant-chip.md b/zh-cn/device-dev/porting/transplant-chip.md new file mode 100644 index 00000000000..d0fbee119dd --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-chip.md @@ -0,0 +1,11 @@ +# 三方芯片移植指导 + +- **[移植准备](transplant-chip-prepare.md)** + +- **[内核移植](transplant-chip-kernel.md)** + +- **[板级系统移植](transplant-chip-board.md)** + +- **[常见问题](transplant-chip-faqs.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-minichip.md b/zh-cn/device-dev/porting/transplant-minichip.md new file mode 100644 index 00000000000..58bebe026e8 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-minichip.md @@ -0,0 +1,11 @@ +# 轻量系统芯片移植指导 + +- **[移植准备](transplant-chip-prepare.md)** + +- **[内核移植](transplant-chip-kernel.md)** + +- **[板级系统移植](transplant-chip-board.md)** + +- **[常见问题](transplant-chip-faqs.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md new file mode 100644 index 00000000000..bba3736632b --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md @@ -0,0 +1,11 @@ +# 移植概述 + +驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等。 + +**图 1** OpenHarmony 驱动分类 + + +![](figure/分类.png) + +HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框架会为驱动达成这个目标提供有力的支撑。开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解[HDF驱动框架](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/HDF%E9%A9%B1%E5%8A%A8%E6%A1%86%E6%9E%B6.md)。 + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md new file mode 100644 index 00000000000..353aa15d2a8 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md @@ -0,0 +1,390 @@ +# 器件驱动移植 + +- [LCD驱动移植](#section1574513454119) +- [TP驱动移植](#section20284142116422) +- [WLAN驱动移植](#section0969448164217) + +本章节讲解如何移植各类器件驱动。 + +## LCD驱动移植 + +移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。 + +这些LCD的驱动被放置在源码目录//drivers/framework/model/display/driver/panel中。 + +1. 创建Panel驱动 + + 创建HDF驱动,在驱动初始化中调用RegisterPanel接口注册模型实例。如: + + ``` + int32_t LCDxxEntryInit(struct HdfDeviceObject *object) + { + struct PanelData *panel = CreateYourPanel(); + // 注册模型实例 + if (RegisterPanel(panel) != HDF_SUCCESS) { + HDF_LOGE("%s: RegisterPanel failed", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_xxxxDevEntry = { + .moduleVersion = 1, + .moduleName = "LCD_XXXX", + .Init = LCDxxEntryInit, + }; + + HDF_INIT(g_xxxxDevEntry); + ``` + +2. 配置加载panel驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在display的host中,名为device\_lcd的device中增加配置。 + + >![](../public_sys-resources/icon-caution.gif) **注意:** + >moduleName 要与panel驱动中的moduleName相同。 + + ``` + root { + ... + display :: host { + device_lcd :: device { + deviceN :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LCD_XXXX"; + } + } + } + } + ``` + + +## TP驱动移植 + +本节描述如何移植触摸屏驱动。触摸屏的器件驱动被放置在源码目录//drivers/framework/model/input/driver/touchscreen中。 移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。 + +详细的驱动开发指导,请参考 [TOUCHSCREEN开发指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/TOUCHSCREEN.md)。 + +1. 创建触摸屏器件驱动 + + 在上述touchscreen目录中创建名为touch\_ic\_name.c的文件。编写如下内容 + + ``` + #include "hdf_touch.h" + + static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) + { + ChipDevice *tpImpl = CreateXXXXTpImpl(); + if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) { // 注册ChipDevice模型 + ReleaseXXXXTpImpl(tpImpl); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_touchXXXXChipEntry = { + .moduleVersion = 1, + .moduleName = "HDF_TOUCH_XXXX", // 注意这里的moduleName要与后续的配置完全一致 + .Init = HdfXXXXChipInit, + }; + + HDF_INIT(g_touchXXXXChipEntry); + ``` + + 其中ChipDevice中要实现如下方法: + + + + + + + + + + + + + + + + + + + + + + + + + +

    方法

    +

    实现说明

    +

    int32_t (*Init)(ChipDevice *device)

    +

    实现器件初始化

    +

    int32_t (*Detect)(ChipDevice *device)

    +

    实现器件探测

    +

    int32_t (*Suspend)(ChipDevice *device)

    +

    实现器件休眠

    +

    int32_t (*Resume)(ChipDevice *device)

    +

    实现器件唤醒

    +

    int32_t (*DataHandle)(ChipDevice *device)

    +

    需要实现从器件读取数据,将触摸点数据填写入device->driver->frameData中

    +

    int32_t (*UpdateFirmware)(ChipDevice *device)

    +

    实现固件升级

    +
    + +2. 配置产品,加载器件驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在名为input的host中,名为device\_touch\_chip的device中增加配置。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >moduleName 要与触摸屏驱动中的moduleName相同。 + + ``` + deviceN :: deviceNode { + policy = 0; + priority = 130; + preload = 0; + permission = 0660; + moduleName = "HDF_TOUCH_XXXX"; + deviceMatchAttr = "touch_XXXX_configs"; + } + ``` + + +## WLAN驱动移植 + +WLAN驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。 + +**图 1** OpenHarmony WLAN结构示意图 + + +![](figure/HDF_WIFI.png) + +如图1,左半部分负责管理WLAN设备,右半部分负责WLAN流量。HDF WLAN分别为这两部分做了抽象,驱动的移植过程可以看做分别实现这两部分所需接口。这些接口有: + + + + + + + + + + + + + + + + + + + + +

    接口

    +

    定义头文件

    +

    接口说明

    +

    HdfChipDriverFactory

    +

    drivers\framework\include\wifi\hdf_wlan_chipdriver_manager.h

    +

    ChipDriver的Factory,用于支持一个芯片多个WLAN端口

    +

    HdfChipDriver

    +

    drivers\framework\include\wifi\wifi_module.h

    +

    每个WLAN端口对应一个HdfChipDriver,用来管理一个特定端口

    +

    NetDeviceInterFace

    +

    drivers\framework\include\wifi\net_device.h

    +

    与协议栈之间的接口,如发送数据、设置网络接口状态等

    +
    + +>![](../public_sys-resources/icon-note.gif) **说明:** +>详细的接口开发指导,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md)。 + +具体的移植步骤如下: + +1. 创建HDF WLAN 芯片驱动 + + 在目录/device/vendor\_name/peripheral/wifi/chip\_name/ 创建文件 hdf\_wlan\_chip\_name.c。内容模板如下: + + ``` + static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { + static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); // 需要移植者实现的方法 + struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); + if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) { // 注册驱动工厂 + HDF_LOGE("%s fail: driverMgr is NULL!", __func__); + return HDF_FAILURE; + } + return HDF_SUCCESS; + } + + struct HdfDriverEntry g_hdfXXXChipEntry = { + .moduleVersion = 1, + .Init = HdfWlanXXXChipDriverInit, + .Release = HdfWlanXXXChipRelease, + .moduleName = "HDF_WIFI_CHIP_XXX" // 注意:这个名字要与配置一致 + }; + + HDF_INIT(g_hdfXXXChipEntry); + ``` + + 在上述代码的CreateChipDriverFactory方法中,需要创建一个HdfChipDriverFactory类型的对象。该对象提供如下方法 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    接口

    +

    说明

    +

    const char *driverName

    +

    当前driverName

    +

    int32_t (*InitChip)(struct HdfWlanDevice *device)

    +

    初始化芯片

    +

    int32_t (*DeinitChip)(struct HdfWlanDevice *device)

    +

    去初始化芯片

    +

    void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)

    +

    释放HdfChipDriverFactory对象

    +

    struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)

    +

    创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号

    +

    void (*Release)(struct HdfChipDriver *chipDriver)

    +

    释放chipDriver

    +

    uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)

    +

    获取当前芯片支持的最大接口数

    +
    + + 其中Build方法负责创建一个管理指定网络接口的对象HdfChipDriver 。该对象需要提供方法: + + + + + + + + + + + + + + + + + + + + + + +

    接口

    +

    说明

    +

    int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    +

    初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace

    +

    int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

    +

    去初始化当前网络接口

    +

    struct HdfMac80211BaseOps *ops

    +

    WLAN基础能力接口集

    +

    struct HdfMac80211STAOps *staOps

    +

    支持STA模式所需的接口集

    +

    struct HdfMac80211APOps *apOps

    +

    支持AP模式所需要的接口集

    +
    + +2. 编写配置文件描述驱动支持的芯片 + + 在产品配置目录下创建芯片的配置文件,保存至源码路径//vendor/vendor\_name/product\_name/config/wifi/wlan\_chip\_chip\_name.hcs + + 该文件模板如下: + + ``` + root { + wlan_config { + chip_name :& chipList { + chip_name :: chipInst { + match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */ + driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/ + sdio { + vendorId = 0xXXXX; /* your vendor id */ + deviceId = [0xXXXX]; /*your supported devices */ + } + } + } + } + } + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >路径和文件中的vendor\_name、product\_name、chip\_name请替换成实际名称 + >vendorId 和 deviceId需要根据实际芯片的识别码进行填写。 + +3. 编写配置文件,加载驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。修改该文件,在名为network的host中,名为device\_wlan\_chips的device中增加配置。模板如下: + + ``` + deviceN :: deviceNode { + policy = 0; + preload = 2; + moduleName = "HDF_WLAN_CHIPS"; + deviceMatchAttr = "hdf_wlan_chips_chip_name"; + serviceName = "driverName"; + } + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >moduleName 要与HDF WLAN 芯片驱动中的moduleName相同。 + +4. 修改Kconfig文件,让移植的WLAN模组出现再内核配置中 + + 在device/vendor\_name/drivers/Kconfig中增加配置菜单,模板如下 + + ``` + config DRIVERS_HDF_WIFI_chip_name + bool "Enable chip_name Host driver" + default n + depends on DRIVERS_HDF_WLAN help + Answer Y to enable chip_name Host driver. + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >请替换模板中的chip\_name为实际的芯片名称 + +5. 修改构建脚本,让驱动参与内核构建 + + 在源码文件//device/vendor\_name/drivers/lite.mk末尾追加如下内容 + + ``` + ifeq ($(LOSCFG_DRIVERS_HDF_WIFI_chip_name), y) + # 构建完成要链接一个叫hdf_wlan_chipdriver_chip_name的对象,建议按这个命名,防止冲突 + LITEOS_BASELIB += -lhdf_wlan_chipdriver_chip_name + # 增加构建目录gpio + LIB_SUBDIRS += ../peripheral/wifi/chip_name + endif + ``` + + >![](../public_sys-resources/icon-note.gif) **说明:** + >请替换模板中的chip\_name为实际的芯片名称 + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md b/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md new file mode 100644 index 00000000000..a28bc2faf3f --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md @@ -0,0 +1,165 @@ +# 平台驱动移植 + +在这一步,我们会在源码目录//device/vendor\_name/soc\_name/drivers 目录下创建平台驱动,如果你要移植的SOC的厂商还没有创建仓库的话,请联系[sig-devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard_cn.md)创建。 + +建议的目录结构: + +``` +device +├── vendor_name +│ ├── drivers +│ │ │ ├── common +│ │ │ ├── Kconfig # 厂商驱动内核菜单入口 +│ │ │ └── lite.mk # 构建的入口 +│ ├── soc_name +│ │ ├── drivers +│ │ │ ├── dmac +│ │ │ ├── gpio +│ │ │ ├── i2c +│ │ │ ├── LICENSE +│ │ │ ├── mipi_dsi +│ │ │ ├── mmc +│ │ │ ├── pwm +│ │ │ ├── README.md # docs 如果需要的话 +│ │ │ ├── README_zh.md +│ │ │ ├── rtc +│ │ │ ├── spi +│ │ │ ├── uart +│ │ │ └── watchdog +│ ├── board_name +``` + +HDF为所有的平台驱动都创建了驱动模型,移植平台驱动的主要工作是向模型注入实例。 这些模型你可以在源码目录//drivers/framework/support/platform/include中找到定义。 + +本节我们会以GPIO为例,讲解如何移植平台驱动,移植过程包含以下步骤: + +1. 创建GPIO驱动 + + 在源码目录//device/vendor\_name/soc\_name/drivers/gpio中创建文件soc\_name\_gpio.c 内容模板如下: + + ``` + #include "gpio_core.h" + + // 定义GPIO结构体,如果需要的话 + struct SocNameGpioCntlr { + struct GpioCntlr cntlr; // 这是HDF GPIO驱动框架需要的结构体 + int myData; // 以下是当前驱动自身需要的 + }; + + // Bind 方法在HDF驱动中主要用户对外发布服务,这里我们不需要,直接返回成功即可 + static int32_t GpioBind(struct HdfDeviceObject *device) + { + (void)device; + return HDF_SUCCESS; + } + + // Init方法时驱动初始化的入口,我们需要在Init方法中完成模型实例的注册 + static int32_t GpioInit(struct HdfDeviceObject *device) + { + SocNameGpioCntlr *impl = CreateGpio(); // 你的创建代码 + ret = GpioCntlrAdd(&impl->cntlr); // 注册GPIO模型实例 + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: err add controller:%d", __func__, ret); + return ret; + } + return HDF_SUCCESS; + } + + // Release方法会在驱动卸载时被调用,这里主要完成资源回收 + static void GpioRelease(struct HdfDeviceObject *device) + { + // GpioCntlrFromDevice 方法能从抽象的设备对象中获得init方法注册进去的模型实例。 + struct GpioCntlr *cntlr = GpioCntlrFromDevice(device); + //资源释放... + } + + struct HdfDriverEntry g_gpioDriverEntry = { + .moduleVersion = 1, + .Bind = GpioBind, + .Init = GpioInit, + .Release = GpioRelease, + .moduleName = "SOC_NAME_gpio_driver", // 这个名字我们稍后会在配置文件中用到,用来加载驱动。 + }; + HDF_INIT(g_gpioDriverEntry); // 注册一个GPIO的驱动入口 + ``` + +2. 创建厂商驱动构建入口 + + 如前所述device/vendor\_name/drivers/lite.mk是厂商驱动的构建的入口。我们需要从这个入口开始,进行构建 + + ``` + #文件device/vendor_name/drivers/lite.mk + + SOC_VENDOR_NAME := $(subst $/",,$(LOSCFG_DEVICE_COMPANY)) + SOC_NAME := $(subst $/",,$(LOSCFG_PLATFORM)) + BOARD_NAME := $(subst $/",,$(LOSCFG_PRODUCT_NAME)) + + # 指定SOC进行构建 + LIB_SUBDIRS += $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ + ``` + +3. 创建SOC驱动构建入口 + + ``` + #文件device/vendor_name/soc_name/drivers/lite.mk + + SOC_DRIVER_ROOT := $(LITEOSTOPDIR)/../../device/$(SOC_VENDOR_NAME)/$(SOC_NAME)/drivers/ + + # 判断如果打开了GPIO的内核编译开关 + ifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_GPIO), y) + # 构建完成要链接一个叫hdf_gpio的对象 + LITEOS_BASELIB += -lhdf_gpio + # 增加构建目录gpio + LIB_SUBDIRS += $(SOC_DRIVER_ROOT)/gpio + endif + + # 后续其他驱动在此基础上追加 + ``` + +4. 创建GPIO构建入口 + + ``` + include $(LITEOSTOPDIR)/config.mk + include $(LITEOSTOPDIR)/../../drivers/adapter/khdf/liteos/lite.mk + + # 指定输出对象的名称,注意要与SOC驱动构建入口里的LITEOS_BASELIB 保持一致 + MODULE_NAME := hdf_gpio + + # 增加HDF框架的INCLUDE + LOCAL_CFLAGS += $(HDF_INCLUDE) + + # 要编译的文件 + LOCAL_SRCS += soc_name_gpio.c + + # 编译参数 + LOCAL_CFLAGS += -fstack-protector-strong -Wextra -Wall -Werror -fsigned-char -fno-strict-aliasing -fno-common + + include $(HDF_DRIVER) + ``` + +5. 配置产品加载驱动 + + 产品的所有设备信息被定义在源码文件//vendor/vendor\_name/product\_name/config/device\_info/device\_info.hcs中。 + + 平台驱动请添加到platform的host中。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >moduleName要与驱动定义中的相同。 + + ``` + root { + ... + platform :: host { + device_gpio :: device { + device0 :: deviceNode { + policy = 0; + priority = 10; + permission = 0644; + moduleName = "SOC_NAME_gpio_driver"; + } + } + } + } + ``` + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive.md b/zh-cn/device-dev/porting/transplant-smallchip-drive.md new file mode 100644 index 00000000000..8d265ae4d08 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-drive.md @@ -0,0 +1,9 @@ +# 驱动移植 + +- **[移植概述](transplant-smallchip-drive-des.md)** + +- **[平台驱动移植](transplant-smallchip-drive-plat.md)** + +- **[器件驱动移植](transplant-smallchip-drive-oom.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md new file mode 100644 index 00000000000..f4de2f397db --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md @@ -0,0 +1,265 @@ +# LiteOS-A内核 + +- [移植概述](#section14876256185510) + - [移植场景](#section1986014410569) + - [目录规范](#section10916181716564) + +- [基础适配](#section814974018565) + - [编程样例](#section10854481825) + +- [验证](#section646410453212) + +## 移植概述 + +### 移植场景 + +LiteOS-A当前支持ARMv7-a指令集架构,如果三方芯片为ARMv7-a架构,可以进行内核基础适配;否则还需要先根据芯片的架构来新增内核对该芯片架构的支持,这个工作较为复杂,不在这篇文章范围内。 + +### 目录规范 + +LiteOS-A目录规范参考[LiteOS-A 简介](https://gitee.com/openharmony/kernel_liteos_a)。 + +## 基础适配 + +LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项。移植过程中,需要关注初始化流程中跟硬件配置相关的函数。 + +如下图所示,LiteOS-A的初始化流程主要包含以下五步: + +1. 新增target\_config.h文件,并且编写单板内存相关的配置宏DDR\_MEM\_ADDR和DDR\_MEM\_SIZE,分别表示内存起始地址和内存的长度,预链接脚本board.ld.S会根据这两个宏进行展开生成链接脚本board.ld。 +2. 链接阶段根据链接脚本board.ld生成内核镜像。 +3. 单核CPU镜像运行入口为汇编文件reset\_vector\_up.S,多核CPU的入口为reset\_vector\_mp.S,在汇编文件中进行中断向量表初始化、MMU页表初始化等操作。 +4. reset\_vector.S汇编代码最终会跳转到C语言的main函数,进行硬件时钟、软件定时器、内存和任务等初始化,这个过程会依赖target\_config.h的特性宏配置,最后会创建SystemInit任务,并且开启任务调度OsSchedStart\(\)。 +5. SystemInit任务在单板代码中实现,其中调用DeviceManagerStart函数进行HDF驱动初始化,这个过程会调用单板代码中的驱动配置文件hdf.hcs以及drivers源码实现。 + +整体启动流程如下图所示: + +**图 1** 整体启动流程 + + +![](figure/zh-cn_image_0000001126358814.png) + +从图1中可以看到,内核基础适配需要单板进行适配的代码包含三部分: + +- 新增target\_config.h文件,其中新增单板硬件配置参数和特性开关的配置参数,具体说明如下: + + **表 1** target\_config.h配置项说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    配置项

    +

    说明

    +

    OS_SYS_CLOCK

    +

    系统cycle的频率

    +

    DDR_MEM_ADDR

    +

    系统内存的起始地址

    +

    DDR_MEM_SIZE

    +

    系统内存的大小

    +

    PERIPH_PMM_BASE

    +

    外设寄存器的起始地址

    +

    PERIPH_PMM_SIZE

    +

    外设寄存器的长度大小

    +

    OS_HWI_MIN

    +

    系统中断最小值

    +

    OS_HWI_MAX

    +

    系统中断最大值

    +

    NUM_HAL_INTERRUPT_UART0

    +

    UART0中断号

    +

    UART0_REG_BASE

    +

    UART0寄存器基址

    +

    GIC_BASE_ADDR

    +

    GIC中断寄存器基址

    +

    GICD_OFFSET

    +

    GICD相对GIC基址的偏移地址

    +

    GICC_OFFSET

    +

    GICC相对GIC基址的偏移地址

    +
    + +- SystemInit函数用于单板用户态业务初始化,典型的初始化场景如图2所示: + + **图 1** 业务启动流程 + + + ![](figure/zh-cn_image_0000001126198996.png) + +- main函数用于内核基础初始化和单板内核态业务初始化,流程如下图3所示,整体由内核启动框架主导初始化流程,图中浅蓝色部分为启动框架中可接受外部模块注册启动的阶段。 + + >![](../public_sys-resources/icon-caution.gif) **注意:** + >同一层级内的模块不能有依赖关系。 + + **图 2** 内核启动框架 + ![](figure/内核启动框架.jpg "内核启动框架") + + **表 2** 启动框架层级 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    层级

    +

    说明

    +

    LOS_INIT_LEVEL_EARLIEST

    +

    最早期初始化

    +

    说明:不依赖架构,单板以及后续模块会对其有依赖的纯软件模块初始化

    +

    例如:Trace模块

    +

    LOS_INIT_LEVEL_ARCH_EARLY

    +

    架构早期初始化

    +

    说明:架构相关,后续模块会对其有依赖的模块初始化,如启动过程中非必需的功能,建议放到LOS_INIT_LEVEL_ARCH层

    +

    LOS_INIT_LEVEL_PLATFORM_EARLY

    +

    平台早期初始化

    +

    说明:单板平台、驱动相关,后续模块会对其有依赖的模块初始化,如启动过程中必需的功能,建议放到LOS_INIT_LEVEL_PLATFORM层

    +

    例如:uart模块

    +

    LOS_INIT_LEVEL_KMOD_PREVM

    +

    内存初始化前的内核模块初始化

    +

    说明:在内存初始化之前需要使能的模块初始化

    +

    LOS_INIT_LEVEL_VM_COMPLETE

    +

    基础内存就绪后的初始化

    +

    说明:此时内存初始化完毕,需要进行使能且不依赖进程间通讯机制与系统进程的模块初始化

    +

    例如:共享内存功能

    +

    LOS_INIT_LEVEL_ARCH

    +

    架构后期初始化

    +

    说明:架构拓展功能相关,后续模块会对其有依赖的模块初始化

    +

    LOS_INIT_LEVEL_PLATFORM

    +

    平台后期初始化

    +

    说明:单板平台、驱动相关,后续模块会对其有依赖的模块初始化

    +

    例如:驱动内核抽象层初始化(mmc、mtd)

    +

    LOS_INIT_LEVEL_KMOD_BASIC

    +

    内核基础模块初始化

    +

    说明:内核可拆卸的基础模块初始化

    +

    例如:VFS初始化

    +

    LOS_INIT_LEVEL_KMOD_EXTENDED

    +

    内核扩展模块初始化

    +

    说明:内核可拆卸的扩展模块初始化

    +

    例如:系统调用初始化、ProcFS初始化、Futex初始化、HiLog初始化、HiEvent初始化、LiteIPC初始化

    +

    LOS_INIT_LEVEL_KMOD_TASK

    +

    内核任务创建

    +

    说明:进行内核任务的创建(内核线程,软件定时器任务)

    +

    例如:资源回收系统常驻任务的创建、SystemInit任务创建、CPU占用率统计任务创建

    +
    + + 进行单板移植适配,推荐关注LOS\_INIT\_LEVEL\_ARCH至LOS\_INIT\_LEVEL\_KMOD\_TASK之间的层级,且尽可能拆分初始化行为进行细化阶段注册。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >启动框架中同一层级内的注册模块不能有依赖关系,建议新增模块按照上述启动阶段进行模块初始化的拆分,按需注册启动。 + >可通过查看系统编译生成文件OHOS\_Image.map中.rodata.init.kernel.\*段内的符号表来了解当前已注册进内核启动框架中的各个模块初始化入口,以及检查新注册的模块初始化入口是否生效。 + + +### 编程样例 + +在单板SDK文件中 + +``` +/* 内核启动框架头文件 */ +#include "los_init.h" +...... + +/* 新增模块的初始化函数 */ +unsigned int OsSampleModInit(void) +{ + PRINTK("OsSampleModInit SUCCESS!\n"); + ...... +} +...... +/* 在启动框架的目标层级中注册新增模块 */ +LOS_MODULE_INIT(OsSampleModInit, LOS_INIT_LEVEL_KMOD_EXTENDED); +``` + +## 验证 + +``` +main core booting up... +OsSampleModInit SUCCESS! +releasing 1 secondary cores +cpu 1 entering scheduler +cpu 0 entering scheduler +``` + +根据上述系统启动阶段的打印可知,内核在启动时进行了该注册模块的初始化函数调用,完成该模块的初始化操作。 + +系统启动完毕后进入内核态shell,能够运行task命令能够正常显示即可。 + +``` +OHOS # help +*******************shell commands:************************* + +arp cat cd chgrp chmod chown cp cpup +date dhclient dmesg dns format free help hwi +ifconfig ipdebug kill log ls lsfd memcheck mkdir +mount netstat oom partinfo partition ping ping6 pmm +pwd reset rm rmdir sem shm stack statfs +su swtmr sync systeminfo task telnet touch umount +uname v2p virstatfs vmm watch writeproc + +``` + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md new file mode 100644 index 00000000000..911329dbd1b --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md @@ -0,0 +1,125 @@ +# Linux内核 + +- [移植概述](#section6282121355111) + - [基本信息](#section19589322515) + - [Bootloader](#section19062510518) + +- [适配编译和烧录启动](#section11112101695215) +- [验证](#section17318153325311) + +## 移植概述 + +Linux内核移植主要涉及基于linux内核基线合入三方芯片补丁后,进行基础的内核编译构建及验证。 + +### 基本信息 + +当前Linux内核基线是基于Linux社区 4.19 LTS版本演进,合入CVE及bugfix补丁。具体信息参考[代码库](https://gitee.com/openharmony/kernel_linux),对应repo工程代码路径为kernel/linux-4.19。 + +### Bootloader + +可以使用芯片厂商自带的Bootloader,或者是开源Uboot等加载内核镜像。比如为支持Hi3516DV300开发板,OpenHarmony引入的开源[Uboot](https://gitee.com/openharmony/device_hisilicon_third_party_uboot)。 + +## 适配编译和烧录启动 + +1. 准备内核config(特别是芯片相关的config)。 + + config文件所在源码目录:kernel/linux/config/ + + 以hi3516dv300芯片为例,可在对应的linux-4.19/arch/arm/configs/目录下新建\_small\_defconfig,如hi3516dv300\_small\_defconfig表示针对hi3516dv300小型系统的defconfig。该config文件可以由基础defconfig文件small\_common\_defconfig与该芯片相关的config组合生成。 + +2. 准备芯片补丁。 + + 补丁文件所在源码目录:kernel/linux/patches/linux-4.19 + + 以hi3516dv300芯片为例,参考已有的patch目录hi3516dv300\_small\_patch目录,新建\_patch目录,放置相关芯片补丁,注意hdf.patch等驱动补丁。 + +3. 编译。 + + 具体内核编译入口脚本位于工程目录kernel/linux/patches/下面,版本级整编命令会通过BUILD.gn进入kernel\_module\_build.sh和kernel.mk,需要在这2个文件中针对性进行patch及defconfig文件路径、编译器、芯片架构、内核Image格式等的适配。 + + 通过编译错误日志调整补丁,典型错误场景: + + (1)补丁合入失败,出现冲突,需要进行上下文适配修改。 + + (2)编译失败,内核版本差异(函数实现调整等)需要针对性进行内核适配。 + + >![](../public_sys-resources/icon-caution.gif) **注意:** + >- 参考kernel.mk,在OpenHarmony工程的编译构建流程中会拷贝kernel/linux-4.19的代码环境后进行打补丁动作,在使用版本级编译命令前,需要kernel/linux-4.19保持原代码环境。 + >- 对应拷贝后的目录位于: out/<\*\*\*\>/kernel/linux-4.19,可以在该目录下进行补丁的修改适配。 + +4. 烧录启动。 + + 由于不同芯片的开发板的烧录方式不一样,此处不表述具体的烧录方式。需要注意烧录的各镜像的大小及启动参数的配置,参考hi3516dv300采用uboot启动参数: + + ``` + setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),9M(kernel),50M(rootfs),50M(userfs)' + ``` + + +## 验证 + +调试init进程、启动shell和运行简单的用户态程序,验证内核移植是否成功。OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的OS镜像结构以及linux用户态的启动流程如下图1所示: + +**图 1** 基于linux内核的OS镜像结构和用户态程序启动流程 + + +![](figure/zh-cn_image_0000001126354076.png) + +基于上述流程,推荐按以下步骤完成验证: + +1. 制作根文件系统镜像。 + + 请参考[新建芯片解决方案和产品解决方案](https://device.harmonyos.com/cn/docs/develop/subsystems/oem_subsys_build_guide-0000001060378721)生成根文件系统镜像rootfs.img。从上图可以看到启动过程与产品配置强相关,在制作rootfs.img过程中请完成如下四种配置: + + - 组件配置 + + 产品组件配置文件vendor/\{company\}/\{product\}/config.json需配置启动恢复子系统\(startup\)的init\_lite组件和内核子系统的linux\_4\_1\_9组件。 + + - 系统服务配置 + + 系统服务配置文件vendor/\{company\}/\{product\}/init\_configs/init\_xxx.cfg需要启动shell服务。 + + - 文件系统配置 + + 文件系统配置vendor/\{company\}/\{product\}/fs.yml中需要创建“/bin/sh -\> mksh“和“/lib/ld-musl-arm.so.1 -\> libc.so“软连接,这两个文件分别是shell可执行程序和可执行程序依赖的c库。 + + - 启动配置 + + 启动配置在vendor/\{company\}/\{product\}/init\_configs/etc目录下,包括fstab、rsS和Sxxx文件,请按开发板实际情况配置。 + + + 编译完成后,可通过检查产品编译输出目录下的rootfs内容,确认rootfs.img文件生成是否符合预期。 + +2. 调试init进程和shell。 + + 烧录rootfs.img并调试init进程和shell,不同厂商的开发板的烧录工具和流程可能不同,请按芯片解决方案提供的流程进行烧录。烧录rootfs.img前请确认bootloader和linux内核启动正常。如果rootfs.img被内核正常挂载,接着将运行/bin/init程序,init进程为用户态的第一个应用程序,它的运行意味着用户态的开始。 + + init程序首先会调用/etc/init.d/rcS脚本,rcS脚本执行第一条命令为"/bin/mount -a”,该命令会加载fstab文件,在fstab中的命令执行完后rcS将顺序调用Sxxx脚本完成设备节点创建和扫描、文件权限配置等操作。 + + 最后,init程序会读取init.cfg系统服务配置文件。根据步骤1中的设置,init程序将会启动shell。如果上述流程运行正常,系统则会进入shell。 + + 若串口有如下版本号日志打印,则表示init程序启动正常: + + **图 2** init启动正常日志 + + + ![](figure/init.jpg) + + 正常进入shell后执行ls命令,串口打印信息如下图: + + **图 3** 正常进入shell后输入ls命令串口打印 + + + ![](figure/shell.jpg) + +3. 配置NFS。 + + init进程和shell正常启动后,以服务端IP为192.168.1.22、客户端IP为192.168.1.4为例,可在根目录执行如下命令开启NFS: + + ``` + ifconfig eth0 192.168.1.4 netmask 255.255.255.0 + mkdir -p /storgage/nfs + mount -t nfs -o nolock,addr=192.168.1.22 192.168.1.22:/nfs /storage/nfs + ``` + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel.md b/zh-cn/device-dev/porting/transplant-smallchip-kernel.md new file mode 100644 index 00000000000..a1adc2dde7e --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-kernel.md @@ -0,0 +1,7 @@ +# 移植内核 + +- **[LiteOS-A内核](transplant-smallchip-kernel-a.md)** + +- **[Linux内核](transplant-smallchip-kernel-linux.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md new file mode 100644 index 00000000000..6ca5022e46a --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md @@ -0,0 +1,142 @@ +# 编译构建 + +- [编译环境搭建](#section3336103410314) +- [编译构建系统介绍](#section354343816319) +- [新建芯片解决方案](#section18612153175011) + +## 编译环境搭建 + +首先请搭建OpenHarmony基础环境,步骤请参考轻量和小型系统入门[linux环境搭建](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_environment_lin-0000001105407498)。用户态和LiteOS-A的内核态编译均使用llvm编译器编译,安装方法在搭建基础环境中已提供。若选择移植linux内核,请执行如下命令安装gcc-arm-linux-gnueabi交叉编译工具链,用于编译linux内核态镜像: + +``` +sudo apt-get install gcc-arm-linux-gnueabi +``` + +## 编译构建系统介绍 + +编译构建流程、编译脚本编写、目录规则、独立编译单个组件、独立编译芯片解决方案等介绍请见[编译构建子系统介绍](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA.md)。 + +## 新建芯片解决方案 + +了解编译框架和搭建完编译环境后,请参考如下步骤新建芯片解决方案: + +1. 新建目录 + + 芯片解决方案的目录规则为:device/\{芯片解决方案厂商\}/\{开发板\}。以海思的hispark\_taurus开发板为例,在代码根目录执行如下命令建立目录: + + ``` + mkdir -p device/hisilicon/hispark_taurus + ``` + + 芯片解决方案目录树的规则如下: + + ``` + device + └── company # 芯片解决方案厂商 + └── board # 开发板名称 + ├── BUILD.gn # 编译脚本 + ├── hals # OS南向接口适配 + ├── linux # 可选,linux内核版本 + │ └── config.gni # linux版本编译配置 + └── liteos_a # 可选,liteos内核版本 + └── config.gni # liteos_a版本编译配置 + ``` + + 以hispark\_taurus移植linux内核为例,目录树应该如下: + + ``` + device + └── hisilicon + └── hispark_tautus + ├── BUILD.gn + ├── hals + ├── ...... + └── linux + └── config.gni + ``` + + 目录树建立后开发板相关的源码放到hispark\_taurus目录下。 + +2. 配置开发板编译选项 + + [步骤1](#li20894101862)中的config.gni可配置开发板相关的编译选项,编译构建框架将会遵照该配置文件中的参数编译所有用户态OS组件。其中关键的字段说明如下: + + ``` + kernel_type: 开发板使用的内核类型,例如:“liteos_a”, “liteos_m”, “linux”。 + kernel_version: 开发板使用的内核版本,例如:“4.19”。 + board_cpu: 开发板CPU类型,例如:“cortex-a7”, “riscv32”。 + board_arch: 开发板芯片arch, 例如: “armv7-a”, “rv32imac”。 + board_toolchain: 开发板自定义的编译工具链名称,例如:“gcc-arm-none-eabi”。若为空,则使用默认为ohos-clang。 + board_toolchain_prefix:编译工具链前缀,例如:“gcc-arm-none-eabi”。 + board_toolchain_type: 编译工具链类型,目前支持gcc和clang。例如:“gcc” ,“clang”。 + board_cflags: 开发板配置的c文件编译选项。 + board_cxx_flags: 开发板配置的cpp文件编译选项。 + board_ld_flags: 开发板配置的链接选项。 + ``` + + 还以海思的hispark\_taurus开发板为例,对应的device/hisilicon/hispark\_taurus/config.gni内容如下: + + ``` + # Board CPU type, e.g. "cortex-a7", "riscv32". + board_cpu = "cortex-a7" + + # Toolchain name used for system compiling. + # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. + # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. + board_toolchain = "mips-linux-gnu-gcc" + + # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. + board_toolchain_path = + rebase_path("//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/bin", + root_build_dir) + + # Compiler prefix. + board_toolchain_prefix = "arm-linux-ohoseabi-" + + # Compiler type, "gcc" or "clang". + board_toolchain_type = "gcc" + + # Board related common compile flags. + board_cflags = [ + ] + board_cxx_flags = [ + ] + board_ld_flags = [] + + # Board related headfiles search path. + board_include_dirs = [] + board_include_dirs += [ rebase_path( + "//prebuilts/gcc/linux-x86/arm/arm-linux-ohoseabi-gcc/target/usr/include", + root_build_dir) ] + + # Board adapter dir for OHOS components. + board_adapter_dir = "" + + # Sysroot path. + board_configed_sysroot = "" + + # Board storage type, it used for file system generation. + storage_type = "emmc" + ``` + +3. 编写开发板编译脚本 + + 步骤1中的BUILD.gn为新增的开发板的编译入口,主要用于编译开发板相关的代码,主要为设备侧驱动、设备侧接口适配\(媒体,图形等\)和开发板的SDK等等。 + + 海思的hispark\_taurus开发板的device/hisilicon/hispark\_taurus/BUILD.gn可写成: + + ``` + # group名称建议与开发板名称一致 + group("hispark_taurus") { + deps = [ "//kernel/linux/patches:linux_kernel" ] # 拉起内核编译 + deps += [ + ...... # 开发板其他编译单元 + ] + } + ``` + +4. 编译调试 + + 在开发板目录下执行hb set和hb build即可启动芯片解决方案的编译,编译框架会以开发板下的BUILD.gn为入口启动编译。 + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md new file mode 100644 index 00000000000..afe392369f2 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md @@ -0,0 +1,98 @@ +# 移植须知 + +本文详细介绍如何将OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的linux和LiteOS-A内核移植到新的开发板上,要求读者具有一定的嵌入式系统开发经验。建议先查看[入门指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/OpenHarmony-Overview_zh.md),以了解OpenHarmony软件架构、目录结构、内核子系统和驱动子系统相关知识。当前小型系统已适配的开发板如下表所示: + +**表 1** OpenHarmony小型系统已适配的开发板 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    开发板

    +

    内核

    +

    arch

    +

    ROM

    +

    RAM

    +

    文件系统

    +

    Flash 类型

    +

    hispark_taurus

    +

    LiteOS-A和linux-4.19

    +

    ARM cortex-a7

    +

    8G

    +

    1GB

    +

    VFAT、EXT4

    +

    eMMC4.5

    +

    hispark_aries

    +

    LiteOS-A

    +

    ARM cortex-a7

    +

    16M

    +

    512M

    +

    JFFS2

    +

    SPI NOR

    +
    + +表1中的开发板可作为待移植开发板的参考,当前LiteOS-A和linux-4.19支持的arch、ROM占用、支持的文件系统和支持的Flash类型如下表所示: + +**表 2** OpenHarmony小型系统内核移植信息表 + + + + + + + + + + + + + + + + + + + + + + +

    内核

    +

    支持的arch

    +

    ROM

    +

    文件系统

    +

    Flash类型

    +

    LiteOS-A

    +

    ARMv7

    +

    > 2M

    +

    VFAT、JFFS2、YAFFS2

    +

    SPI NOR、NAND、EMMC

    +

    linux-4.19

    +

    ARM, ARM64、 MIPS、 X86等

    +

    > 5M

    +

    VFAT、JFFS2、YAFFS、EXT/2/3/4、NFS等等

    +

    NOR、NAND、EMMC等

    +
    + diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare.md b/zh-cn/device-dev/porting/transplant-smallchip-prepare.md new file mode 100644 index 00000000000..6ec4b45dff7 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip-prepare.md @@ -0,0 +1,7 @@ +# 移植准备 + +- **[移植须知](transplant-smallchip-prepare-needs.md)** + +- **[编译构建](transplant-smallchip-prepare-building.md)** + + diff --git a/zh-cn/device-dev/porting/transplant-smallchip.md b/zh-cn/device-dev/porting/transplant-smallchip.md new file mode 100644 index 00000000000..4ba38ff4484 --- /dev/null +++ b/zh-cn/device-dev/porting/transplant-smallchip.md @@ -0,0 +1,9 @@ +# 小型系统芯片移植指导 + +- **[移植准备](../porting/transplant-smallchip-prepare.md)** + +- **[移植内核](../porting/transplant-smallchip-kernel.md)** + +- **[驱动移植](../porting/transplant-smallchip-drive.md)** + + diff --git "a/zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" b/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md similarity index 98% rename from "zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" rename to zh-cn/device-dev/porting/transplant-thirdparty-cmake.md index bb7404eca3e..fb23041d28a 100644 --- "a/zh-cn/device-dev/porting/CMake\346\226\271\345\274\217\347\273\204\347\273\207\347\274\226\350\257\221\347\232\204\345\272\223\347\247\273\346\244\215.md" +++ b/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md @@ -227,12 +227,12 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库, 1. 搭建OpenHarmony环境 - 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](https://device.harmonyos.com/cn/docs/start/introduce/oem_camera_start_example-0000001051610926)。 + 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](../quick-start/quickstart-lite-steps-board3518-running.md)。 进入系统如下所示: **图 1** OpenHarmony启动成功界面 - ![](figures/OpenHarmony启动成功界面.png "OpenHarmony启动成功界面") + ![](figure/OpenHarmony启动成功界面.png "OpenHarmony启动成功界面") 2. 挂载nfs目录,将[表2](#table1452412391911)中test目录下cctest可执行文件放入nfs目录 3. 执行用例 @@ -306,7 +306,7 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库,

    将三方库加入工程的gn适配文件

    openHarmony/third_party/double-conversion/build_thirdpaty.py

    +

    openHarmony/third_party/double-conversion/build_thirdparty.py

    GN调用shell命令脚本文件,由上面GN文件将相关命令传入,实现GN转CMake

    将三方库加入工程的gn适配文件

    openHarmony/third_party/yxml/build_thirdpaty.py

    +

    openHarmony/third_party/yxml/build_thirdparty.py

    GN调用shell命令脚本文件,由上面GN文件将相关命令传入,实现GN转Makefile