當(dāng)前位置:首頁 > 公眾號精選 > 21ic電子網(wǎng)
[導(dǎo)讀]生命在于運(yùn)動,技術(shù)在于折騰,你是否厭倦了在keil、iar下孜孜不倦的寫代碼、debug,是否玩累了在外部編輯器下寫代碼,然后在轉(zhuǎn)到ide下進(jìn)行仿真、下載等操作呢?這個教程將介紹下如何在vscode下實(shí)現(xiàn)這些操作,真正實(shí)現(xiàn)一個vscode可以吃天、實(shí)現(xiàn)編譯仿真下載一條龍服務(wù),而你只需要在vscode下的終端敲幾個命令而已。

出品?21ic論壇???791314247

網(wǎng)站:bbs.21ic.com

生命在于運(yùn)動,技術(shù)在于折騰,你是否厭倦了在keil、iar下孜孜不倦的寫代碼、debug,是否玩累了在外部編輯器下寫代碼,然后在轉(zhuǎn)到ide下進(jìn)行仿真、下載等操作呢?


這個教程將介紹下如何在vscode下實(shí)現(xiàn)這些操作,真正實(shí)現(xiàn)一個vscode可以吃天、實(shí)現(xiàn)編譯仿真下載一條龍服務(wù),而你只需要在vscode下的終端敲幾個命令而已。。。


本教程以阿波羅開發(fā)板stm32f429igt6為例,先瞅瞅最終界面


[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)


最終可以用的功能如下:


1,vscode終端下執(zhí)行make指令,即可在build文件下編譯出.hex .bin .elf文件,中間文件放在build/Obj/文件夾下


2,執(zhí)行make clean,可清除build文件夾


3,執(zhí)行make download,可一鍵下載hex到目標(biāo)板子并讓板子復(fù)位運(yùn)行,相當(dāng)于keil的一鍵下載按鈕


4,執(zhí)行make reset,可以讓板子復(fù)位運(yùn)行一下


5,執(zhí)行make commit,可一鍵推送到你的github或者giteee遠(yuǎn)程服務(wù)器上去,但前提是你自己創(chuàng)建了這個工程的git


教程如下:


環(huán)境:
1,下載vscode及必要插件,令需要一個插件Cortex_debug


2,Windows下安裝arm-none-eabi-gcc工具鏈,推薦q4版本
下載及安裝教程:https://blog.csdn.net/qq_35333978/article/details/110398968


3,Windows下安裝Jlink最新版驅(qū)動(V6.88a)
附件上傳不上去,故分享個網(wǎng)盤永久鏈接
鏈接:加HTTP加斜杠pan.baidu.com/s/11YnBjWtl9L9V7YCQABC60Q
提取碼:ysgp安裝、下載的教程也在上面的鏈接。


4,GNU make

百度網(wǎng)盤鏈接和安裝教程、添加環(huán)境變量教程也在上邊的鏈接。。。


5,git bash


這個不用說,大家都會有的吧,然后需要把vscode的終端換成git bash。百度一下,太容易了。


好了,環(huán)境就搭好了,不要嫌麻煩,現(xiàn)在越麻煩,你用起來越方便!


編譯:編譯只需在vscode終端中執(zhí)行make指令就行,如下圖:


[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)


仿真:仿真的話需要vscode下的插件cortex debug,這個教程我粘貼上我之前寫的國產(chǎn)芯片fm33lc02x的教程,大家只要把芯片名字換成STM32F429就行


(1) vscode下載插件cortex debug插件

[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

(2) 創(chuàng)建launch.json文件

如下圖所示:
[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

然后選擇Cotrex Debug即可創(chuàng)建好launch.json文件

[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

(3) 配置launch.json文件
稍微按照自己的芯片修改下就好,以FM33LC026為例:

[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

然后將廠商提供的.svd文件放到你的工程根目錄即可開始仿真,可以看變量、看外設(shè)寄存器、內(nèi)核寄存器等等,還可以保存你的斷點(diǎn)等。

然后實(shí)現(xiàn)這一切的核心就是makefile文件,不用管,我已經(jīng)幫你寫好了,而且全部中文注釋,各種參數(shù)也是取自stm32cube的makefile參數(shù),放心的用,放心的學(xué)!
然后我將在附件提供一個基于阿波羅開發(fā)板stm32f429igt6的點(diǎn)燈例程。如果的芯片不是stm32f429,但只要你的核是arm核,本例程本makefile,通通能用!
換芯片后你需要改以下內(nèi)容:

1,找到你的芯片的基于gcc的啟動文件和鏈接腳本,一般問廠商要肯定有的,不用自己寫,然后替換到根目錄下的2個對應(yīng)文件

[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

2,改以下內(nèi)容,是不是看起來特簡單。
[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

然后,就搞定了,具體的參數(shù)可以去stm32cube上生成一個對應(yīng)內(nèi)核的makefile,然后參考下就行了,其實(shí)其他核是更簡單的。教程可能有點(diǎn)亂,后期我會在整理下。

最后附上我的整個makefile

  1. ???#*************************************************************************??

  2. #??**??

  3. #??**?File?????????:?Makefile??

  4. #??**?Abstract?????:?This?is?the?introduction?to?the?document??

  5. #??**?Author???????:?wr??

  6. #??**?mail?????????:?791314247@q.com??

  7. #??**?Created?Time?:?20201122日?星期日?11時(shí)5806秒??

  8. #??**?copyright????:?COPYRIGHT(c)?2020??

  9. #??**??

  10. #??************************************************************************/??

  11. ??

  12. ifneq?($(V),1)??

  13. Q?:=?@??

  14. else??

  15. Q?:=??

  16. endif??

  17. ??

  18. ################################以下項(xiàng)目需用戶根據(jù)需要更改##########################??

  19. #?輸出文件的名稱,默認(rèn)為main(main.elf?main.bin?main.hex)??

  20. TARGET?:=?main??

  21. ??

  22. #鏈接文件名稱和所在路徑??

  23. LDSCRIPT?:=?./STM32F429IGTx_FLASH.ld??

  24. ??

  25. #啟動文件名稱和所在路徑??

  26. START_FILE_SOURCES?:=?./startup_stm32f429xx.s??

  27. ??

  28. #內(nèi)核選擇,F(xiàn)PU,?FLOAT-ABI可為空??

  29. CPU???????:=?-mcpu=cortex-m4??

  30. FPU???????:=?-mfpu=fpv4-sp-d16??

  31. FLOAT-ABI?:=?-mfloat-abi=hard??

  32. ??

  33. #系統(tǒng)宏定義??

  34. C_DEFS????:=?\??

  35. -DUSE_HAL_DRIVER?\??

  36. -DSTM32F429xx??

  37. ??

  38. #?芯片型號,用于Jlink仿真調(diào)試、下載??

  39. CHIP??????:=?STM32F429IG??

  40. ??

  41. #?選擇優(yōu)化等級:??

  42. #?1. gcc中指定優(yōu)化級別的參數(shù)有:-O0、-O1、-O2、-O3、-Og、-Os、-Ofast。??

  43. #?2. 在編譯時(shí),如果沒有指定上面的任何優(yōu)化參數(shù),則默認(rèn)為?-O0,即沒有優(yōu)化。??

  44. #?3. 參數(shù)?-O1、-O2、-O3 中,隨著數(shù)字變大,代碼的優(yōu)化程度也越高,不過這在某種意義上來說,也是以犧牲程序的可調(diào)試性為代價(jià)的。??

  45. #?4. 參數(shù)?-Og 是在?-O1 的基礎(chǔ)上,去掉了那些影響調(diào)試的優(yōu)化,所以如果最終是為了調(diào)試程序,可以使用這個參數(shù)。不過光有這個參數(shù)也是不行的,這個參數(shù)只是告訴編譯器,編譯后的代碼不要影響調(diào)試,但調(diào)試信息的生成還是靠?-g 參數(shù)的。??

  46. #?5. 參數(shù)?-Os 是在?-O2 的基礎(chǔ)上,去掉了那些會導(dǎo)致最終可執(zhí)行程序增大的優(yōu)化,如果想要更小的可執(zhí)行程序,可選擇這個參數(shù)。??

  47. #?6. 參數(shù)?-Ofast 是在?-O3 的基礎(chǔ)上,添加了一些非常規(guī)優(yōu)化,這些優(yōu)化是通過打破一些國際標(biāo)準(zhǔn)(比如一些數(shù)學(xué)函數(shù)的實(shí)現(xiàn)標(biāo)準(zhǔn))來實(shí)現(xiàn)的,所以一般不推薦使用該參數(shù)。??

  48. #?7. 如果想知道上面的優(yōu)化參數(shù)具體做了哪些優(yōu)化,可以使用 gcc -Q --help=optimizers 命令來查詢。??

  49. OPT???????:=?-Og??

  50. ??

  51. #?是否將debug信息編譯進(jìn).elf文件,默認(rèn)打開??

  52. DEBUG?????:=?1??

  53. ??

  54. #?輸出文件夾,.hex?.bin?.elf放在此文件夾下,.o?.d文件放在此文件的子目錄Obj下(自動創(chuàng)建)??

  55. BUILD?????:=?./build??

  56. ??

  57. #?支持雙系統(tǒng)編譯,故需選當(dāng)前系統(tǒng),0為linux,1為windows??

  58. SYS????:=?1??

  59. #?若指定了windows系統(tǒng),則需確認(rèn)編譯器的路徑,若安裝時(shí)以默認(rèn)路徑安裝,則正確??

  60. ifeq?($(SYS),?1)??

  61. GCC_PATH?=?"/c/Program?Files?(x86)/GNU?Tools?Arm?Embedded/9?2019-q4-major/bin"??

  62. JLINK_PATH?=?"/c/Program?Files?(x86)/SEGGER/JLink"??

  63. endif??

  64. ###################################用戶修改結(jié)束###################################??

  65. ??

  66. #?編譯器定義??

  67. PREFIX?=?arm-none-eabi-??

  68. ifdef?GCC_PATH??

  69. SUFFIX?=?.exe??

  70. CC??????:=?$(GCC_PATH)/$(PREFIX)gcc$(SUFFIX)??

  71. SZ??????:=?$(GCC_PATH)/$(PREFIX)size$(SUFFIX)??

  72. OBJCOPY?:=?$(GCC_PATH)/$(PREFIX)objcopy$(SUFFIX)??

  73. GDB?????:=?$(GCC_PATH)/$(PREFIX)gdb$(SUFFIX)??

  74. BIN?????:=?$(OBJCOPY)?-O?binary?-S??

  75. HEX?????:=?$(OBJCOPY)?-O?ihex??

  76. else??

  77. CC??????:=?$(PREFIX)gcc??

  78. SZ??????:=?$(PREFIX)size??

  79. OBJCOPY?:=?$(PREFIX)objcopy??

  80. GDB?????:=?$(PREFIX)gdb??

  81. BIN?????:=?$(OBJCOPY)?-O?binary?-S??

  82. HEX?????:=?$(OBJCOPY)?-O?ihex??

  83. endif??

  84. ??

  85. #?Jlink定義,用于支持一鍵下載和gdb仿真??

  86. ifdef?JLINK_PATH??

  87. SUFFIX?=?.exe??

  88. JLINKEXE???????:=?$(JLINK_PATH)/JLink$(SUFFIX)??

  89. JLINKGDBSERVER?:=?$(JLINK_PATH)/JLinkGDBServer$(SUFFIX)??

  90. else??

  91. JLINKEXE???????:=?JLinkExe??

  92. JLINKGDBSERVER?:=?JLinkGDBServer??

  93. endif??

  94. ??

  95. ??

  96. ####################?CFLAGS?Config?Start?##########################??

  97. MCU?=?$(CPU)?-mthumb?$(FPU)?$(FLOAT-ABI)??

  98. ??

  99. #搜索所有的h文件,并輸出攜帶-I的.h文件路徑??

  100. C_INCLUDES?:=?$(addprefix?-I,$(subst?./,,$(sort?$(dir?$(shell?find?./?-type?f?-iname?"*.h")))))??

  101. ??

  102. #編譯參數(shù)??

  103. CFLAGS?=?$(MCU)?$(C_DEFS)?$(C_INCLUDES)?$(OPT)?-fdata-sections?-ffunction-sections??

  104. #開關(guān)警告??

  105. CFLAGS?+=?-Wall?-W?-Wno-unused-parameter??

  106. #標(biāo)準(zhǔn)??

  107. CFLAGS?+=?-std=c99??

  108. ??

  109. #當(dāng)開啟DEBUG功能時(shí)攜帶DEBUG參數(shù)??

  110. ifeq?($(DEBUG),?1)??

  111. CFLAGS?+=?-g?-gdwarf-2??

  112. endif??

  113. ??

  114. #自動生成依賴文件??

  115. CFLAGS?+=?-MMD?-MP?-MF"$(@:%.o=%.d)"??

  116. ####################?CFLAGS?Config?End?##########################??

  117. ??

  118. #?libraries??

  119. LIBS?=?-lc?-lm?-lnosys??

  120. LIBDIR?=??

  121. #鏈接指令集-specs=nosys.specs??

  122. LDFLAGS?=?$(MCU)?-T$(LDSCRIPT)?-specs=nano.specs?$(LIBDIR)?$(LIBS)?-Wl,-Map=$(BUILD)/Obj/$(TARGET).map,--cref??

  123. #是否開啟優(yōu)化掉未使用的函數(shù)和符號??

  124. LDFLAGS?+=?-Wl,--gc-sections??

  125. ??

  126. #制作啟動文件依賴Obj,輸出去掉路徑的.o文件,可兼容.s和.S??

  127. START_FILE_OBJ?????=?$(addsuffix?.o,?$(basename?$(notdir?$(START_FILE_SOURCES))))??

  128. OBJECTS????????????=?$(addprefix?$(BUILD)/Obj/,?$(START_FILE_OBJ))??

  129. ??

  130. #搜索所有的c文件,制作所有的.c文件依賴Obj??

  131. C_SOURCES??????????=?$(subst?./,,$(shell?find?./?-type?f?-iname?"*.c"))??

  132. OBJECTS???????????+=?$(addprefix?$(BUILD)/Obj/,?$(notdir?$(C_SOURCES:%.c=%.o)))??

  133. #PS:去掉終極目標(biāo)的原始路徑前綴并添加輸出文件夾路徑前綴(改變了依賴文件的路徑前綴,需要重新指定搜索路徑)??

  134. ??

  135. #指定makefile搜索文件的路徑(假如終極目標(biāo)的依賴文件不攜帶.c文件所在的路徑,??

  136. #且不指定搜索路徑,makefile會報(bào)錯沒有規(guī)則制定目標(biāo))??

  137. vpath?%.c?$(sort?$(dir?$(C_SOURCES)))??#取出路徑并去重和排序(以首字母為單位)??

  138. vpath?%.s?$(dir?$(START_FILE_SOURCES))??

  139. vpath?%.S?$(dir?$(START_FILE_SOURCES))??

  140. ??

  141. ??

  142. #指定為偽目標(biāo)跳過隱含規(guī)則搜索,提升makefile的性能,并防止make時(shí)攜帶的參數(shù)與實(shí)際文件重名的問題??

  143. .PHONY:all?clean?printf?JLinkGDBServer?debug?download?reset?commit??

  144. ??

  145. all?:?$(BUILD)/$(TARGET).elf?$(BUILD)/$(TARGET).bin?$(BUILD)/$(TARGET).hex??

  146. ??

  147. ??

  148. #鏈接所有的.o生成.elf文件??

  149. $(BUILD)/$(TARGET).elf?:?$(OBJECTS)?|?$(LDSCRIPT)??

  150. ????????$(Q)$(CC)?$(LDFLAGS)?-o?$[url=home.php?mod=space&uid=72445]@[/url]?$(OBJECTS)??

  151. ????????$(Q)echo?"make?$@:"??

  152. ????????$(Q)$(SZ)?$@??

  153. ??

  154. ??

  155. #編譯啟動文件??備用參數(shù):#-x assembler-with-cpp??

  156. $(BUILD)/Obj/$(START_FILE_OBJ)?:?$(START_FILE_SOURCES)?Makefile?|?$(BUILD)/Obj??

  157. ????????$(Q)echo?"buid?$(subst?./,,[????????DISCUZ_CODE_34????????]lt;)"??

  158. ????????$(Q)?$(CC)?-c?$(CFLAGS)?-o?$@?[????????DISCUZ_CODE_34????????]lt;??

  159. ??

  160. #編譯工程??

  161. $(BUILD)/Obj/%.o?:?%.c?Makefile?|?$(BUILD)/Obj??

  162. ????????$(Q)echo?"buid?$(subst?./,,[????????DISCUZ_CODE_34????????]lt;)"??

  163. ????????$(Q)?$(CC)?-c?$(CFLAGS)?-Wa,-a,-ad,-alms=$(@:%.o=%.lst)?-o?$@?[????????DISCUZ_CODE_34????????]lt;??

  164. ??

  165. $(BUILD)/Obj?:??

  166. ????????$(Q)mkdir?-p?$@??

  167. ????????$(Q)echo?"mkdir?$@"??

  168. ??

  169. %.bin?:?$(BUILD)/$(TARGET).elf??

  170. ????????$(Q)?$(BIN)?[????????DISCUZ_CODE_34????????]lt;?$@??

  171. ????????$(Q)du?-h?$(BUILD)/$(TARGET).bin??

  172. ??

  173. %.hex?:?$(BUILD)/$(TARGET).elf??

  174. ????????$(Q)?$(HEX)?[????????DISCUZ_CODE_34????????]lt;?$@??

  175. ??

  176. #用于檢查鏈接腳本和啟動文件是否存在,不存在則報(bào)錯誤??

  177. $(START_FILE_SOURCES):??

  178. ????????$(Q)echo?ERROR:?The?startup?file?does?not?exist?or?has?the?wrong?path?!;\??

  179. ????????exit?1??

  180. $(LDSCRIPT):??

  181. ????????$(Q)echo?ERROR:?The?link?file?does?not?exist?or?has?the?wrong?path?!;\??

  182. ????????exit?2??

  183. ??

  184. clean:??

  185. ????????$(RM)?-rf?$(BUILD)??

  186. ??

  187. printf:??

  188. ????????$(Q)echo?$(info?$(LDFLAGS))??

  189. ??

  190. ??

  191. JLinkGDBServer:??

  192. ????????$(Q)JLinkGDBServer?-select?USB?-device?$(CHIP)?\??

  193. ????????-endian?little?-if?SWD?-speed?4000?-noir?-LocalhostOnly??

  194. ??

  195. debug:??

  196. ????????$(Q)make??

  197. ????????$(Q)echo?target?remote?localhost\:2331?>?gdb.gdb??

  198. ????????$(Q)echo?monitor?reset?>>?gdb.gdb??

  199. ????????$(Q)echo?monitor?halt?>>?gdb.gdb??

  200. ????????$(Q)echo?load?>>?gdb.gdb??

  201. ????????$(Q)echo?b?main?>>?gdb.gdb??

  202. ????????$(Q)echo?-?>>?gdb.gdb??

  203. ????????$(Q)echo?c?>>?gdb.gdb??

  204. ????????$(Q)-$(GDB)?$(BUILD)/$(TARGET).elf?--command=gdb.gdb??

  205. ????????$(Q)$(RM)?gdb.gdb??

  206. ??

  207. download:??

  208. ????????$(Q)make??

  209. ????????$(Q)echo?"h"?>?jlink.jlink??

  210. ????????$(Q)echo?"loadfile"?$(BUILD)/$(TARGET).hex?>>?jlink.jlink??

  211. ????????$(Q)echo?"r"?>>?jlink.jlink??

  212. ????????$(Q)echo?"qc"?>>?jlink.jlink??

  213. ????????$(Q)$(JLINKEXE)?-device?$(CHIP)?-Speed?4000?-IF?SWD?-CommanderScript?jlink.jlink??

  214. ????????$(Q)$(RM)?jlink.jlink??

  215. ??

  216. reset:??

  217. ????????$(Q)echo?"r"?>>?jlink.jlink??

  218. ????????$(Q)echo?"qc"?>>?jlink.jlink??

  219. ????????$(Q)$(JLINKEXE)?-device?$(CHIP)?-Speed?4000?-IF?SWD?-CommanderScript?jlink.jlink??

  220. ????????$(Q)$(RM)?jlink.jlink??

  221. ??

  222. commit:??

  223. ????????$(Q)git?add?.??

  224. ????????$(Q)status='$(shell?git?status?|?grep?"git?pull")';\??

  225. ????????if?test?-n?"$status";then?echo?"Need?to?do?git?pull?!";exit?10;fi??

  226. ????????$(Q)explain='$(shell?read?-p?"Please?input?git?commit?explain:"?explain;echo?"$explain")';\??

  227. ????????if?test?-z?"$explain";then?git?commit?-m?"Daily?development?submission";?\??

  228. ????????else?git?commit?-m?"$explain";fi??

  229. ????????$(Q)git?push??

  230. ????????$(Q)git?status??

  231. ??

  232. -include?$(wildcard?$(BUILD)/Obj/*.d)?



本文系21ic論壇網(wǎng)友791314247[STM32] 教你在vscode下用stm32+makefile+gcc實(shí)現(xiàn)編譯仿真下載一條龍服務(wù)

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

21ic電子網(wǎng)

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉