Wiki source code of Firmware Compile Instruction -- STM32
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | (% class="wikigeneratedid" id="HContents:" %) | ||
2 | Contents: | ||
3 | |||
4 | {{toc/}} | ||
5 | |||
6 | |||
7 | = 1. Introduction = | ||
8 | |||
9 | This introduction is to show how to compile the source code for Dragino's stm32 base products. | ||
10 | |||
11 | = 2. Set Up Build Environment = | ||
12 | |||
13 | == 2.1 Set up Keil Compile Environment == | ||
14 | |||
15 | ((( | ||
16 | Assuming you already have [[Keil uVision5>>url:https://www.keil.com/demo/eval/arm.htm]] installed, the steps below show how to install the MDK support and get a license. | ||
17 | ))) | ||
18 | |||
19 | ((( | ||
20 | ~1. Open the Webpage: [[http:~~/~~/www2.keil.com/stmicroelectronics-stm32/mdk>>url:http://www2.keil.com/stmicroelectronics-stm32/mdk]] | ||
21 | ))) | ||
22 | |||
23 | ((( | ||
24 | 2. Download the **Keil MDK**, record the **PSN** here, we will use it later. | ||
25 | ))) | ||
26 | |||
27 | [[image:https://wiki.dragino.com/images/thumb/6/66/Keil_1.png/600px-Keil_1.png||height="293" width="600"]] | ||
28 | |||
29 | ((( | ||
30 | Download Keil MDK | ||
31 | ))) | ||
32 | |||
33 | ((( | ||
34 | ((( | ||
35 | 3. Login with an account that has administration rights. | ||
36 | ))) | ||
37 | ))) | ||
38 | |||
39 | ((( | ||
40 | ((( | ||
41 | 4. Right-click the µVision icon and select **Run as Administrator**… from the context menu. | ||
42 | 5: Open the dialog **File — License Management…** and select the **Single-User License** tab. | ||
43 | ))) | ||
44 | ))) | ||
45 | |||
46 | [[image:https://wiki.dragino.com/images/thumb/4/44/Keil_2.png/600px-Keil_2.png||height="279" width="600"]] | ||
47 | |||
48 | Install Keil | ||
49 | |||
50 | 6: Click the button **Get LIC via Internet...**, then click the button **OK** to register the product. This action opens the License Management page on the Keil web site. | ||
51 | |||
52 | [[image:https://wiki.dragino.com/images/thumb/f/fd/Keil_3.png/600px-Keil_3.png||height="297" width="600"]] | ||
53 | |||
54 | Install Keil | ||
55 | |||
56 | 7.Enter the **Product Serial Number** (from step 2.) 4RMW3-A8FIW-TUBLG along with your contact information and click the button Submit. An e-mail is sent back with the License ID Code (LIC) within a few minutes. | ||
57 | |||
58 | [[image:https://wiki.dragino.com/images/thumb/c/c5/Keil_4.png/600px-Keil_4.png||height="307" width="600"]] | ||
59 | |||
60 | Input PSN | ||
61 | |||
62 | [[image:https://wiki.dragino.com/images/thumb/7/7e/Keil_5.png/600px-Keil_5.png||height="287" width="600"]] | ||
63 | |||
64 | Active via mail | ||
65 | |||
66 | [[image:https://wiki.dragino.com/images/thumb/b/b0/Keil_6.png/600px-Keil_6.png||height="248" width="600"]] | ||
67 | |||
68 | Active via mail | ||
69 | |||
70 | 8. To activate the Software Product, **enter the LIC** in the field **New License ID Code (LIC)** of the dialog **License Management…** and click **Add LIC**. | ||
71 | |||
72 | [[image:https://wiki.dragino.com/images/thumb/b/b2/Keil_7.png/600px-Keil_7.png||height="440" width="600"]] | ||
73 | |||
74 | Add LIC | ||
75 | |||
76 | 9. Finish Install Keil | ||
77 | |||
78 | [[image:https://wiki.dragino.com/images/thumb/c/c4/Keil_8.png/600px-Keil_8.png||height="345" width="600"]] | ||
79 | |||
80 | Finish install Keil | ||
81 | |||
82 | |||
83 | == 2.2 Install STM32L0 Series Device in Keil == | ||
84 | |||
85 | ((( | ||
86 | 1: Open the webpage: [[https:~~/~~/www.keil.com/dd2/stmicroelectronics/stm32l072cztx/#/eula-container>>url:https://www.keil.com/dd2/stmicroelectronics/stm32l072cztx/#/eula-container]]; | ||
87 | ))) | ||
88 | |||
89 | ((( | ||
90 | 2: Find STMicroelectronics **STM32L0 Series Device** and download it. | ||
91 | ))) | ||
92 | |||
93 | [[image:https://wiki.dragino.com/images/thumb/3/32/Keil_9.png/600px-Keil_9.png||height="461" width="547"]] | ||
94 | |||
95 | Finish install Keil | ||
96 | |||
97 | 3: Find the Software Pack and install it. | ||
98 | |||
99 | [[image:https://wiki.dragino.com/images/thumb/9/94/Keil_10.png/600px-Keil_10.png||height="368" width="552"]] | ||
100 | |||
101 | Install the downloaded pack in Keil | ||
102 | |||
103 | [[image:https://wiki.dragino.com/images/thumb/6/66/Keil_11.png/600px-Keil_11.png||height="346" width="560"]] | ||
104 | |||
105 | Install the downloaded pack in Keil | ||
106 | |||
107 | 4: Add the Device, then you can **rebuild** the project. | ||
108 | |||
109 | [[image:https://wiki.dragino.com/images/thumb/3/35/Keil_12.png/600px-Keil_12.png||height="349" width="569"]] | ||
110 | |||
111 | rebuild project | ||
112 | |||
113 | Note: If you don’t add the Device, then Keil will report this error: | ||
114 | |||
115 | [[image:https://wiki.dragino.com/images/thumb/4/42/Keil_13.png/600px-Keil_13.png||height="366" width="565"]] | ||
116 | |||
117 | Error without Device | ||
118 | |||
119 | |||
120 | = 3. Get and compile Source Code = | ||
121 | |||
122 | * Get the source code for the product. | ||
123 | * Use Keil to open the project file. | ||
124 | * You can see the libraries related for example NBSN50 project as below: | ||
125 | |||
126 | [[image:https://wiki.dragino.com/images/b/b7/Keil_14.png||height="143" width="197"]] | ||
127 | |||
128 | project files | ||
129 | |||
130 | |||
131 | = 4. Video Reference = | ||
132 | |||
133 | [[https:~~/~~/youtu.be/ctdUNx4XCEg>>url:https://youtu.be/ctdUNx4XCEg]] | ||
134 | |||
135 | |||
136 | = 5. Frequency Ask Questiones (FAQ) = | ||
137 | |||
138 | == 5.1 How to change the frequency band for LoRaWAN source code == | ||
139 | |||
140 | In Keil, you can see what frequency band the code support. | ||
141 | |||
142 | [[image:https://wiki.dragino.com/images/0/00/STM32_FAQ_1.png||height="259" width="208"]] | ||
143 | |||
144 | Support Frequency | ||
145 | |||
146 | |||
147 | If you want to change frequency, modify the Preprocessor Symbols. For example, change EU868 to US915 to complie a US915 firmware. | ||
148 | |||
149 | [[image:https://wiki.dragino.com/images/7/7b/STM32_FAQ_2.png||height="291" width="400"]] | ||
150 | |||
151 | Change Marco for frequency |