MaixDuino 1 - SiPeed Risc-V 64bit Arduino Compatible Open Source Board

Long time no see everybody. Today let's talk about MaixDuino.

1. Introduction

1.1 lsusb

1
2
3
......
Bus 011 Device 055: ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC
......

1.2 Wiki

Detailed specification about MaixDuino can be found on MaixDuino Wiki.

1.3 Github Source Code

Typically, there's no need to rebuild your project from the ground up. Instead, simply enter the Maixduino package URL in the Additional Boards Manager URLs section.

However, when needed, Maixduino Github repository offers open-source resource that you can utilize as a foundation for further development.

2. Flash

2.1 Environment Configuration

MaixDuino Arduino Output

2.2 Flash a Customized Sketch

  • The W cse475 course from the University of Washington provides comprehensive course content, serving as an excellent tutorial for those interested in following along.

  • Highlight: MUST add the following two lines and use Burn Baudo Rate "500 kbps"

1
2
bitm.menu.burn_baudrate.500000=500 kbps
bitm.menu.burn_baudrate.500000.build.burn_baudrate=500000

2.2.1.1 Verify/Compile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/wiring_analog.c: In function 'analogRead':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/wiring_analog.c:104:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'vAddNewTaskToCurrentReadyList':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:1111:26: warning: assignment to 'UBaseType_t' {aka 'long unsigned int'} from 'UBaseType_t *' {aka 'long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
pxNewTCB->uxTCBNumber = uxTaskNumber;
^
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'uxTaskGetSystemState':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2483:20: warning: comparison between pointer and integer
if( uxArraySize >= uxCurrentNumberOfTasks )
^~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2490:80: warning: passing argument 2 of 'prvListTasksWithinSingleList' from incompatible pointer type [-Wincompatible-pointer-types]
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &( pxReadyTasksLists[ uxQueue ] ), eReady );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:505:92: note: expected 'List_t *' {aka 'struct xLIST *'} but argument is of type 'List_t (*)[5]' {aka 'struct xLIST (*)[5]'}
static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskStatusArray, List_t *pxList, eTaskState eState ) PRIVILEGED_FUNCTION;
~~~~~~~~^~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2503:80: warning: passing argument 2 of 'prvListTasksWithinSingleList' from incompatible pointer type [-Wincompatible-pointer-types]
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xTasksWaitingTermination, eDeleted );
^~~~~~~~~~~~~~~~~~~~~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:505:92: note: expected 'List_t *' {aka 'struct xLIST *'} but argument is of type 'List_t (*)[2]' {aka 'struct xLIST (*)[2]'}
static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskStatusArray, List_t *pxList, eTaskState eState ) PRIVILEGED_FUNCTION;
~~~~~~~~^~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2511:80: warning: passing argument 2 of 'prvListTasksWithinSingleList' from incompatible pointer type [-Wincompatible-pointer-types]
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xSuspendedTaskList, eSuspended );
^~~~~~~~~~~~~~~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:505:92: note: expected 'List_t *' {aka 'struct xLIST *'} but argument is of type 'List_t (*)[2]' {aka 'struct xLIST (*)[2]'}
static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskStatusArray, List_t *pxList, eTaskState eState ) PRIVILEGED_FUNCTION;
~~~~~~~~^~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'vTaskGetInfo':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:3626:14: warning: comparison of distinct pointer types lacks a cast
if( pxTCB == pxCurrentTCB )
^~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'vTaskList':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:4292:15: warning: assignment to 'UBaseType_t' {aka 'volatile long unsigned int'} from 'volatile UBaseType_t *' {aka 'volatile long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
uxArraySize = uxCurrentNumberOfTasks;
^
Sketch uses 95791 bytes (1%) of program storage space. Maximum is 8388608 bytes.
  • A lot of warnings but successfully built.

2.2.1.2 Upload Using Programmer (k-flash)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
 Sketch uses 95791 bytes (1%) of program storage space. Maximum is 8388608 bytes.
[INFO] ANSI colors not used
[INFO] COM Port Selected Manually: /dev/ttyUSB0
[INFO] Default baudrate is 115200 , later it may be changed to the value you set.
[INFO] Trying to Enter the ISP Mode...
*
[INFO] Greeting Message Detected, Start Downloading ISP

Downloading ISP: |---------------------------------------------| 1.5%

Downloading ISP: |=--------------------------------------------| 3.1%

Downloading ISP: |==-------------------------------------------| 4.6%

Downloading ISP: |==-------------------------------------------| 6.2%

Downloading ISP: |===------------------------------------------| 7.7%

Downloading ISP: |====-----------------------------------------| 9.2%

Downloading ISP: |====-----------------------------------------| 10.8%

Downloading ISP: |=====----------------------------------------| 12.3%

Downloading ISP: |======---------------------------------------| 13.8%

Downloading ISP: |======---------------------------------------| 15.4%

Downloading ISP: |=======--------------------------------------| 16.9% 10kiB/s

Downloading ISP: |========-------------------------------------| 18.5% 10kiB/s

Downloading ISP: |=========------------------------------------| 20.0% 10kiB/s

Downloading ISP: |=========------------------------------------| 21.5% 10kiB/s

Downloading ISP: |==========-----------------------------------| 23.1% 10kiB/s

Downloading ISP: |===========----------------------------------| 24.6% 10kiB/s

Downloading ISP: |===========----------------------------------| 26.2% 10kiB/s

Downloading ISP: |============---------------------------------| 27.7% 10kiB/s

Downloading ISP: |=============--------------------------------| 29.2% 10kiB/s

Downloading ISP: |=============--------------------------------| 30.8% 10kiB/s

Downloading ISP: |==============-------------------------------| 32.3% 10kiB/s

Downloading ISP: |===============------------------------------| 33.8% 10kiB/s

Downloading ISP: |===============------------------------------| 35.4% 10kiB/s

Downloading ISP: |================-----------------------------| 36.9% 10kiB/s

Downloading ISP: |=================----------------------------| 38.5% 10kiB/s

Downloading ISP: |==================---------------------------| 40.0% 10kiB/s

Downloading ISP: |==================---------------------------| 41.5% 10kiB/s

Downloading ISP: |===================--------------------------| 43.1% 10kiB/s

Downloading ISP: |====================-------------------------| 44.6% 10kiB/s

Downloading ISP: |====================-------------------------| 46.2% 10kiB/s

Downloading ISP: |=====================------------------------| 47.7% 10kiB/s

Downloading ISP: |======================-----------------------| 49.2% 10kiB/s

Downloading ISP: |======================-----------------------| 50.8% 10kiB/s

Downloading ISP: |=======================----------------------| 52.3% 10kiB/s

Downloading ISP: |========================---------------------| 53.8% 10kiB/s

Downloading ISP: |========================---------------------| 55.4% 10kiB/s

Downloading ISP: |=========================--------------------| 56.9% 10kiB/s

Downloading ISP: |==========================-------------------| 58.5% 10kiB/s

Downloading ISP: |===========================------------------| 60.0% 10kiB/s

Downloading ISP: |===========================------------------| 61.5% 10kiB/s

Downloading ISP: |============================-----------------| 63.1% 10kiB/s

Downloading ISP: |=============================----------------| 64.6% 10kiB/s

Downloading ISP: |=============================----------------| 66.2% 10kiB/s

Downloading ISP: |==============================---------------| 67.7% 10kiB/s

Downloading ISP: |===============================--------------| 69.2% 10kiB/s

Downloading ISP: |===============================--------------| 70.8% 10kiB/s

Downloading ISP: |================================-------------| 72.3% 10kiB/s

Downloading ISP: |=================================------------| 73.8% 10kiB/s

Downloading ISP: |=================================------------| 75.4% 10kiB/s

Downloading ISP: |==================================-----------| 76.9% 10kiB/s

Downloading ISP: |===================================----------| 78.5% 10kiB/s

Downloading ISP: |====================================---------| 80.0% 10kiB/s

Downloading ISP: |====================================---------| 81.5% 10kiB/s

Downloading ISP: |=====================================--------| 83.1% 10kiB/s

Downloading ISP: |======================================-------| 84.6% 10kiB/s

Downloading ISP: |======================================-------| 86.2% 10kiB/s

Downloading ISP: |=======================================------| 87.7% 10kiB/s

Downloading ISP: |========================================-----| 89.2% 10kiB/s

Downloading ISP: |========================================-----| 90.8% 10kiB/s

Downloading ISP: |=========================================----| 92.3% 10kiB/s

Downloading ISP: |==========================================---| 93.8% 10kiB/s

Downloading ISP: |==========================================---| 95.4% 10kiB/s

Downloading ISP: |===========================================--| 96.9% 10kiB/s

Downloading ISP: |============================================-| 98.5% 10kiB/s

Downloading ISP: |=============================================| 100.0% 10kiB/s
[INFO] Booting From 0x80000000
[INFO] Wait For 0.1 second for ISP to Boot
[INFO] Boot to Flashmode Successfully
[INFO] Selected Baudrate: 500000
[INFO] Baudrate changed, greeting with ISP again ...
[INFO] Boot to Flashmode Successfully
[INFO] Selected Flash: On-Board
[INFO] Initialization flash Successfully

Programming BIN: |======================-----------------------| 50.0% 28kiB/s

Programming BIN: |=============================================| 100.0% 28kiB/s
[INFO] Rebooting...

2.2.1.3 Demonstration

Too simple. Ignore...

2.2.2 Basic Graphics

2.2.2.1 Verify/Compile

  • Compilation error:
1
2
3
4
5
6
7
8
9
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp: In member function 'void Adafruit_I2CDevice::end()':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp:52:10: error: 'class TwoWire' has no member named 'end'; did you mean 'read'?
_wire->end();
^~~
read

exit status 1

Compilation error: exit status 1
  • Solution: comment out this line: _wire->end();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/wiring_analog.c: In function 'analogRead':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/wiring_analog.c:104:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'vAddNewTaskToCurrentReadyList':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:1111:26: warning: assignment to 'UBaseType_t' {aka 'long unsigned int'} from 'UBaseType_t *' {aka 'long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
pxNewTCB->uxTCBNumber = uxTaskNumber;
^
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'uxTaskGetSystemState':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2483:20: warning: comparison between pointer and integer
if( uxArraySize >= uxCurrentNumberOfTasks )
^~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2490:80: warning: passing argument 2 of 'prvListTasksWithinSingleList' from incompatible pointer type [-Wincompatible-pointer-types]
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &( pxReadyTasksLists[ uxQueue ] ), eReady );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:505:92: note: expected 'List_t *' {aka 'struct xLIST *'} but argument is of type 'List_t (*)[5]' {aka 'struct xLIST (*)[5]'}
static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskStatusArray, List_t *pxList, eTaskState eState ) PRIVILEGED_FUNCTION;
~~~~~~~~^~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2503:80: warning: passing argument 2 of 'prvListTasksWithinSingleList' from incompatible pointer type [-Wincompatible-pointer-types]
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xTasksWaitingTermination, eDeleted );
^~~~~~~~~~~~~~~~~~~~~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:505:92: note: expected 'List_t *' {aka 'struct xLIST *'} but argument is of type 'List_t (*)[2]' {aka 'struct xLIST (*)[2]'}
static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskStatusArray, List_t *pxList, eTaskState eState ) PRIVILEGED_FUNCTION;
~~~~~~~~^~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:2511:80: warning: passing argument 2 of 'prvListTasksWithinSingleList' from incompatible pointer type [-Wincompatible-pointer-types]
uxTask += prvListTasksWithinSingleList( &( pxTaskStatusArray[ uxTask ] ), &xSuspendedTaskList, eSuspended );
^~~~~~~~~~~~~~~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:505:92: note: expected 'List_t *' {aka 'struct xLIST *'} but argument is of type 'List_t (*)[2]' {aka 'struct xLIST (*)[2]'}
static UBaseType_t prvListTasksWithinSingleList( TaskStatus_t *pxTaskStatusArray, List_t *pxList, eTaskState eState ) PRIVILEGED_FUNCTION;
~~~~~~~~^~~~~~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'vTaskGetInfo':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:3626:14: warning: comparison of distinct pointer types lacks a cast
if( pxTCB == pxCurrentTCB )
^~
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c: In function 'vTaskList':
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/cores/arduino/kendryte-standalone-sdk/lib/freertos/tasks.c:4292:15: warning: assignment to 'UBaseType_t' {aka 'volatile long unsigned int'} from 'volatile UBaseType_t *' {aka 'volatile long unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
uxArraySize = uxCurrentNumberOfTasks;
^
Sketch uses 161412 bytes (1%) of program storage space. Maximum is 8388608 bytes.

2.2.2.2 Upload Using Programmer (k-flash)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Sketch uses 161412 bytes (1%) of program storage space. Maximum is 8388608 bytes.
[INFO] ANSI colors not used
[INFO] COM Port Selected Manually: /dev/ttyUSB0
[INFO] Default baudrate is 115200 , later it may be changed to the value you set.
[INFO] Trying to Enter the ISP Mode...
*
[INFO] Greeting Message Detected, Start Downloading ISP

Downloading ISP: |---------------------------------------------| 1.5%

Downloading ISP: |=--------------------------------------------| 3.1%

Downloading ISP: |==-------------------------------------------| 4.6%

Downloading ISP: |==-------------------------------------------| 6.2%

Downloading ISP: |===------------------------------------------| 7.7%

Downloading ISP: |====-----------------------------------------| 9.2%

Downloading ISP: |====-----------------------------------------| 10.8%

Downloading ISP: |=====----------------------------------------| 12.3%

Downloading ISP: |======---------------------------------------| 13.8%

Downloading ISP: |======---------------------------------------| 15.4%

Downloading ISP: |=======--------------------------------------| 16.9% 10kiB/s

Downloading ISP: |========-------------------------------------| 18.5% 10kiB/s

Downloading ISP: |=========------------------------------------| 20.0% 10kiB/s

Downloading ISP: |=========------------------------------------| 21.5% 10kiB/s

Downloading ISP: |==========-----------------------------------| 23.1% 10kiB/s

Downloading ISP: |===========----------------------------------| 24.6% 10kiB/s

Downloading ISP: |===========----------------------------------| 26.2% 10kiB/s

Downloading ISP: |============---------------------------------| 27.7% 10kiB/s

Downloading ISP: |=============--------------------------------| 29.2% 10kiB/s

Downloading ISP: |=============--------------------------------| 30.8% 10kiB/s

Downloading ISP: |==============-------------------------------| 32.3% 10kiB/s

Downloading ISP: |===============------------------------------| 33.8% 10kiB/s

Downloading ISP: |===============------------------------------| 35.4% 10kiB/s

Downloading ISP: |================-----------------------------| 36.9% 10kiB/s

Downloading ISP: |=================----------------------------| 38.5% 10kiB/s

Downloading ISP: |==================---------------------------| 40.0% 10kiB/s

Downloading ISP: |==================---------------------------| 41.5% 10kiB/s

Downloading ISP: |===================--------------------------| 43.1% 10kiB/s

Downloading ISP: |====================-------------------------| 44.6% 10kiB/s

Downloading ISP: |====================-------------------------| 46.2% 10kiB/s

Downloading ISP: |=====================------------------------| 47.7% 10kiB/s

Downloading ISP: |======================-----------------------| 49.2% 10kiB/s

Downloading ISP: |======================-----------------------| 50.8% 10kiB/s

Downloading ISP: |=======================----------------------| 52.3% 10kiB/s

Downloading ISP: |========================---------------------| 53.8% 10kiB/s

Downloading ISP: |========================---------------------| 55.4% 10kiB/s

Downloading ISP: |=========================--------------------| 56.9% 10kiB/s

Downloading ISP: |==========================-------------------| 58.5% 10kiB/s

Downloading ISP: |===========================------------------| 60.0% 10kiB/s

Downloading ISP: |===========================------------------| 61.5% 10kiB/s

Downloading ISP: |============================-----------------| 63.1% 10kiB/s

Downloading ISP: |=============================----------------| 64.6% 10kiB/s

Downloading ISP: |=============================----------------| 66.2% 10kiB/s

Downloading ISP: |==============================---------------| 67.7% 10kiB/s

Downloading ISP: |===============================--------------| 69.2% 10kiB/s

Downloading ISP: |===============================--------------| 70.8% 10kiB/s

Downloading ISP: |================================-------------| 72.3% 10kiB/s

Downloading ISP: |=================================------------| 73.8% 10kiB/s

Downloading ISP: |=================================------------| 75.4% 10kiB/s

Downloading ISP: |==================================-----------| 76.9% 10kiB/s

Downloading ISP: |===================================----------| 78.5% 10kiB/s

Downloading ISP: |====================================---------| 80.0% 10kiB/s

Downloading ISP: |====================================---------| 81.5% 10kiB/s

Downloading ISP: |=====================================--------| 83.1% 10kiB/s

Downloading ISP: |======================================-------| 84.6% 10kiB/s

Downloading ISP: |======================================-------| 86.2% 10kiB/s

Downloading ISP: |=======================================------| 87.7% 10kiB/s

Downloading ISP: |========================================-----| 89.2% 10kiB/s

Downloading ISP: |========================================-----| 90.8% 10kiB/s

Downloading ISP: |=========================================----| 92.3% 10kiB/s

Downloading ISP: |==========================================---| 93.8% 10kiB/s

Downloading ISP: |==========================================---| 95.4% 10kiB/s

Downloading ISP: |===========================================--| 96.9% 10kiB/s

Downloading ISP: |============================================-| 98.5% 10kiB/s

Downloading ISP: |=============================================| 100.0% 10kiB/s
[INFO] Booting From 0x80000000
[INFO] Wait For 0.1 second for ISP to Boot
[INFO] Boot to Flashmode Successfully
[INFO] Selected Baudrate: 500000
[INFO] Baudrate changed, greeting with ISP again ...
[INFO] Boot to Flashmode Successfully
[INFO] Selected Flash: On-Board
[INFO] Initialization flash Successfully

Programming BIN: |===============------------------------------| 33.3% 28kiB/s

Programming BIN: |==============================---------------| 66.7% 28kiB/s

Programming BIN: |=============================================| 100.0% 28kiB/s
[INFO] Rebooting...

2.2.2.3 Demonstration

2.2.3 Display Images from the Camera on the LCD

2.2.3.0 Setup

  • Either: Directly open up File->Examples->Sipeed_OV2640->selfie, and in my case, change all occurrences of Sipeed_OV2640 to Sipeed_GC0328.
  • Or: Use official sipeed_gc0328.ino

2.2.3.1 Verify/Compile

1
Sketch uses 322004 bytes (3%) of program storage space. Maximum is 8388608 bytes.

2.2.3.2 Upload Using Programmer (k-flash)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Sketch uses 322004 bytes (3%) of program storage space. Maximum is 8388608 bytes.
[INFO] ANSI colors not used
[INFO] COM Port Selected Manually: /dev/ttyUSB0
[INFO] Default baudrate is 115200 , later it may be changed to the value you set.
[INFO] Trying to Enter the ISP Mode...
*
[INFO] Greeting Message Detected, Start Downloading ISP

Downloading ISP: |---------------------------------------------| 1.5%

Downloading ISP: |=--------------------------------------------| 3.1%

Downloading ISP: |==-------------------------------------------| 4.6%

Downloading ISP: |==-------------------------------------------| 6.2%

Downloading ISP: |===------------------------------------------| 7.7%

Downloading ISP: |====-----------------------------------------| 9.2%

Downloading ISP: |====-----------------------------------------| 10.8%

Downloading ISP: |=====----------------------------------------| 12.3%

Downloading ISP: |======---------------------------------------| 13.8%

Downloading ISP: |======---------------------------------------| 15.4%

Downloading ISP: |=======--------------------------------------| 16.9% 10kiB/s

Downloading ISP: |========-------------------------------------| 18.5% 10kiB/s

Downloading ISP: |=========------------------------------------| 20.0% 10kiB/s

Downloading ISP: |=========------------------------------------| 21.5% 10kiB/s

Downloading ISP: |==========-----------------------------------| 23.1% 10kiB/s

Downloading ISP: |===========----------------------------------| 24.6% 10kiB/s

Downloading ISP: |===========----------------------------------| 26.2% 10kiB/s

Downloading ISP: |============---------------------------------| 27.7% 10kiB/s

Downloading ISP: |=============--------------------------------| 29.2% 10kiB/s

Downloading ISP: |=============--------------------------------| 30.8% 10kiB/s

Downloading ISP: |==============-------------------------------| 32.3% 10kiB/s

Downloading ISP: |===============------------------------------| 33.8% 10kiB/s

Downloading ISP: |===============------------------------------| 35.4% 10kiB/s

Downloading ISP: |================-----------------------------| 36.9% 10kiB/s

Downloading ISP: |=================----------------------------| 38.5% 10kiB/s

Downloading ISP: |==================---------------------------| 40.0% 10kiB/s

Downloading ISP: |==================---------------------------| 41.5% 10kiB/s

Downloading ISP: |===================--------------------------| 43.1% 10kiB/s

Downloading ISP: |====================-------------------------| 44.6% 10kiB/s

Downloading ISP: |====================-------------------------| 46.2% 10kiB/s

Downloading ISP: |=====================------------------------| 47.7% 10kiB/s

Downloading ISP: |======================-----------------------| 49.2% 10kiB/s

Downloading ISP: |======================-----------------------| 50.8% 10kiB/s

Downloading ISP: |=======================----------------------| 52.3% 10kiB/s

Downloading ISP: |========================---------------------| 53.8% 10kiB/s

Downloading ISP: |========================---------------------| 55.4% 10kiB/s

Downloading ISP: |=========================--------------------| 56.9% 10kiB/s

Downloading ISP: |==========================-------------------| 58.5% 10kiB/s

Downloading ISP: |===========================------------------| 60.0% 10kiB/s

Downloading ISP: |===========================------------------| 61.5% 10kiB/s

Downloading ISP: |============================-----------------| 63.1% 10kiB/s

Downloading ISP: |=============================----------------| 64.6% 10kiB/s

Downloading ISP: |=============================----------------| 66.2% 10kiB/s

Downloading ISP: |==============================---------------| 67.7% 10kiB/s

Downloading ISP: |===============================--------------| 69.2% 10kiB/s

Downloading ISP: |===============================--------------| 70.8% 10kiB/s

Downloading ISP: |================================-------------| 72.3% 10kiB/s

Downloading ISP: |=================================------------| 73.8% 10kiB/s

Downloading ISP: |=================================------------| 75.4% 10kiB/s

Downloading ISP: |==================================-----------| 76.9% 10kiB/s

Downloading ISP: |===================================----------| 78.5% 10kiB/s

Downloading ISP: |====================================---------| 80.0% 10kiB/s

Downloading ISP: |====================================---------| 81.5% 10kiB/s

Downloading ISP: |=====================================--------| 83.1% 10kiB/s

Downloading ISP: |======================================-------| 84.6% 10kiB/s

Downloading ISP: |======================================-------| 86.2% 10kiB/s

Downloading ISP: |=======================================------| 87.7% 10kiB/s

Downloading ISP: |========================================-----| 89.2% 10kiB/s

Downloading ISP: |========================================-----| 90.8% 10kiB/s

Downloading ISP: |=========================================----| 92.3% 10kiB/s

Downloading ISP: |==========================================---| 93.8% 10kiB/s

Downloading ISP: |==========================================---| 95.4% 10kiB/s

Downloading ISP: |===========================================--| 96.9% 10kiB/s

Downloading ISP: |============================================-| 98.5% 10kiB/s

Downloading ISP: |=============================================| 100.0% 10kiB/s
[INFO] Booting From 0x80000000
[INFO] Wait For 0.1 second for ISP to Boot
[INFO] Boot to Flashmode Successfully
[INFO] Selected Baudrate: 500000
[INFO] Baudrate changed, greeting with ISP again ...
[INFO] Boot to Flashmode Successfully
[INFO] Selected Flash: On-Board
[INFO] Initialization flash Successfully

Programming BIN: |===============------------------------------| 33.3% 27kiB/s

Programming BIN: |==============================---------------| 66.7% 28kiB/s

Programming BIN: |=============================================| 100.0% 28kiB/s
[INFO] Rebooting...

2.2.3.3 Demonstration