{"id":221,"date":"2021-03-07T03:58:31","date_gmt":"2021-03-06T19:58:31","guid":{"rendered":"http:\/\/szddt.com\/service\/?p=221"},"modified":"2021-03-08T01:07:29","modified_gmt":"2021-03-07T17:07:29","slug":"f1c100s%e7%bc%96%e8%af%91rt-threadlvgl%ef%bc%88%e4%b8%8a%ef%bc%89","status":"publish","type":"post","link":"https:\/\/szddt.com\/?p=221","title":{"rendered":"F1C100S\u7f16\u8bd1RT-THREAD+LVGL\uff08\u4e0a\uff09"},"content":{"rendered":"\n<p>\u53c2\u80031:https:\/\/littlevgl.readthedocs.io\/en\/latest\/Doc\/02.RT-thread_LittlevGL\/RT-thread+LittlevGL.html<\/p>\n\n\n\n<p>\u53c2\u80032:https:\/\/linux-sunxi.org\/Allwinner_SoC_Family<\/p>\n\n\n\n<p>\u7f16\u8bd1\u5de5\u5177\u4f7f\u7528\uff08\u8fd9\u662f\u9519\u8bef\u7684\u9009\u62e9\uff09\uff1ahttps:\/\/sourcery.mentor.com\/GNUToolchain\/package12813\/public\/arm-none-linux-gnueabi\/arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2<\/p>\n\n\n\n<p>\u5b89\u88c5\u73af\u5883\u4e3aUbuntu 20.04\uff0c\u9700\u8981\u5b89\u88c5\uff1aapt-get install lsb-core lib32z1 lib32ncurses6<\/p>\n\n\n\n<p>\u5426\u5219\u4f1a\u51fa\u73b0\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@szddt:\/opt\/f1c100s\/lv7_rtthread_f1c100s\/rt-thread\/bsp\/allwinner_tina#  \/opt\/f1c100s\/arm-2014.05\/bin\/arm-none-linux-gnueabi-gcc -v\nbash: \/opt\/f1c100s\/arm-2014.05\/bin\/arm-none-linux-gnueabi-gcc: No such file or directory<\/code><\/pre>\n\n\n\n<p>\u5b89\u88c5pip3: sudo apt install python3-pip libusb-1.0-0-dev<\/p>\n\n\n\n<p>\u6d4b\u8bd5pip3: pip3 &#8211;version<\/p>\n\n\n\n<p>sudo apt-get install python3-requests<\/p>\n\n\n\n<p>scons\u7f16\u8bd1\u7684\u65f6\u5019\u63d0\u793a\u9519\u8bef\uff0c\u627e\u4e0d\u5230fd_set:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hechen@szddt:\/opt\/f1c100s\/lv7_rtthread_f1c100s\/rt-thread\/bsp\/allwinner_tina$ scons\nscons: Reading SConscript files ...\nscons: done reading SConscript files.\nscons: Building targets ...\nscons: building associated VariantDir targets: build\nCC build\/applications\/app\/adc_app.o\napplications\/app\/adc_app.c: In function 'controls_create':\napplications\/app\/adc_app.c:26:17: warning: unused variable 'disp_size' &#91;-Wunused-variable]\n  lv_disp_size_t disp_size = lv_disp_get_size_category(NULL);\n                 ^\nCC build\/applications\/app\/air_app.o\napplications\/app\/air_app.c:35:13: warning: 'bar_anim' defined but not used &#91;-Wunused-function]\n static void bar_anim(lv_task_t * t)\n             ^\nCC build\/applications\/app\/common.o\nIn file included from \/opt\/f1c100s\/lv7_rtthread_f1c100s\/rt-thread\/components\/net\/sal_socket\/include\/dfs_net\/sys_select\/sys\/select.h:14:0,\n                 from \/opt\/f1c100s\/arm-2014.05\/arm-none-linux-gnueabi\/libc\/usr\/include\/sys\/types.h:219,\n                 from \/opt\/f1c100s\/arm-2014.05\/arm-none-linux-gnueabi\/libc\/usr\/include\/stdlib.h:314,\n                 from applications\/app\/common.c:3:\n\/opt\/f1c100s\/lv7_rtthread_f1c100s\/rt-thread\/components\/dfs\/include\/dfs_select.h:19:22: error: unknown type name 'fd_set'\n int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);\n                      ^\n\/opt\/f1c100s\/lv7_rtthread_f1c100s\/rt-thread\/components\/dfs\/include\/dfs_select.h:19:39: error: unknown type name 'fd_set'\n int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);\n                                       ^\n\/opt\/f1c100s\/lv7_rtthread_f1c100s\/rt-thread\/components\/dfs\/include\/dfs_select.h:19:57: error: unknown type name 'fd_set'\n int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);\n                                                         ^\nscons: *** &#91;build\/applications\/app\/common.o] Error 1\nscons: building terminated because of errors.<\/code><\/pre>\n\n\n\n<p>\u9700\u8981\u5728rtconfig.h\u4e2d\u52a0\u4eba #define HAVE_SYS_SELECT_H \u91cd\u65b0\u7f16\u8bd1\u3002<\/p>\n\n\n\n<p>\u63a5\u4e0b\u6765scons\u7f16\u8bd1\u63d0\u793a\u9519\u8bef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>applications\/app\/mainpage.c: In function 'main_page_create':\napplications\/app\/mainpage.c:256:2: error: 'for' loop initial declarations are only allowed in C99 mode\n  for (int i = 0; i &lt; 3; i++) {\n  ^\napplications\/app\/mainpage.c:256:2: note: use option -std=c99 or -std=gnu99 to compile your code<\/code><\/pre>\n\n\n\n<p>\u9700\u8981\u5728rtconfig.py\u91cc\u9762CC\u589e\u52a0\u4e00\u6bb5-std=c99<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if PLATFORM == 'gcc':\n    # toolchains\n    PREFIX  = 'arm-none-linux-gnueabi-'\n    CC      = PREFIX + 'gcc -std=c99'\n    CXX     = PREFIX + 'g++'\n    AS      = PREFIX + 'gcc'\n    AR      = PREFIX + 'ar'\n    LINK    = PREFIX + 'g++'\n    TARGET_EXT = 'elf'\n    SIZE    = PREFIX + 'size'\n    OBJDUMP = PREFIX + 'objdump'\n    OBJCPY  = PREFIX + 'objcopy'\n\n    DEVICE  = ' -mcpu=arm926ej-s -ffunction-sections -fdata-sections'\n    CFLAGS  = DEVICE + ' -Wall'<\/code><\/pre>\n\n\n\n<p>\u63a5\u4e0b\u6765\u7f16\u8bd1\u63d0\u793a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CC build\/drivers\/drv_fb.o\ndrivers\/drv_fb.c:25:6: error: #elif with no expression\n #elif\n      ^\ndrivers\/drv_fb.c:30:6: error: #elif with no expression\n #elif\n      ^\ndrivers\/drv_fb.c:35:6: error: #elif with no expression\n #elif\n      ^\nscons: *** &#91;build\/drivers\/drv_fb.o] Error 1<\/code><\/pre>\n\n\n\n<p>\u5c06\u5bf9\u5e94\u7684\u884c\u7684\u201c#elif&#8221;\uff0c\u6539\u6210\u201c#elif  1&#8243;<\/p>\n\n\n\n<p>\u7ee7\u7eed\u7f16\u8bd1\uff0c\u63d0\u793a\u51fd\u6570\u5b9a\u4e49\u4e2d\u7684\u7c7b\u578b\u9519\u8bef<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CC build\/drivers\/drv_gpio.o\ndrivers\/drv_gpio.c:240:6: error: conflicting types for 'gpio_set_debounce'\n void gpio_set_debounce(enum gpio_port port, enum gpio_direction_type prescaler)\n      ^\nIn file included from drivers\/drv_gpio.c:27:0:\ndrivers\/drv_gpio.h:240:6: note: previous declaration of 'gpio_set_debounce' was here\n void gpio_set_debounce(enum gpio_port port, rt_uint8_t prescaler);\n      ^\nscons: *** &#91;build\/drivers\/drv_gpio.o] Error 1\nscons: building terminated because of errors.<\/code><\/pre>\n\n\n\n<p>\u5c06240\u884c\u7684\u201cenum gpio_direction_type\u201d\u6539\u6210\u201crt_uint8_t\u201d<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u6298\u817e\u5931\u8d25\uff0c\u4e3b\u8981\u662f\u56e0\u4e3a\uff1a<\/p>\n\n\n\n<p>arm-linux-guneabi-gcc \u94fe\u63a5\u5230glibc<br>arm-none-eabi-gcc \u4f7f\u7528newlib\uff0c\u4e5f\u5c31\u662f\u88f8\u673a\u5e73\u53f0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u53c2\u80031:https:\/\/littlevgl.readthedocs.io\/en\/latest\/Doc&hellip; <a href=\"https:\/\/szddt.com\/?p=221\" class=\"more-link read-more\" rel=\"bookmark\">\u7ee7\u7eed\u9605\u8bfb <span class=\"screen-reader-text\">F1C100S\u7f16\u8bd1RT-THREAD+LVGL\uff08\u4e0a\uff09<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,2],"tags":[],"class_list":{"0":"post-221","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-8","7":"category-2","8":"h-entry","10":"h-as-article"},"_links":{"self":[{"href":"https:\/\/szddt.com\/index.php?rest_route=\/wp\/v2\/posts\/221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szddt.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/szddt.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/szddt.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/szddt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=221"}],"version-history":[{"count":4,"href":"https:\/\/szddt.com\/index.php?rest_route=\/wp\/v2\/posts\/221\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/szddt.com\/index.php?rest_route=\/wp\/v2\/posts\/221\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/szddt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/szddt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/szddt.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}