UyApp
首页
注册

STM32H750 ئۆزىكىنىڭ Flash ساقىغۇچىنىڭ 128K لىق چەكلىمىسىنى يىشىش

UyApp
مۇمكىن ئەمەس ئىش ،مەۋجۇت ئەمەس ئىش
2024-06-26 00:17:27

ياخشىمۇسىلەر تورداشلار ،يىقىنياغى ئالدىراش بولۇپ كىتىپ تورغا چىقالمىدىم ،بۈگۈن مۇنبەرگە يوللىغان يازما STM32H750 ئۆزىكىنىڭ Flash ساقىغۇچىنىڭ 128K لىق چەكلىمىسىنى يىشىپ 2MB لىق FLASH نى ئىشلىتىش.

1.مەسىلىنى بايقاش

يېقىندا توردىن بىر دانە STM32H750VBT6 توك يولى تاختىسىنى سېتىۋېلىپ بولغاندىن كېيىن بىر نەچچە Demoنى چۈشۈرۈپ، Flash نىڭ پەقەت 128K ئىكەنلىكىنى بايقىدىم. (قوللانمىدىكى ئادرېسى: 0x080000000 -0x080200000).

قىسقىچە چۈشەنچە:مىكرو كونتروللىغۇچ ساھەسىدە، Flash ئادەتتە چاقماق ساقلىغۇچ (Flash Memory) نى كۆرسىتىدۇ ئۇ بىر خىل سانلىق مەلۇمات ئاسان يوقالمايدىغان ساقلىغۇچ (NonVolatile Memory)، پروگرامما كودى، سانلىق مەلۇمات ياكى باشقا ئۇزاق مۇددەتلىك ئۇچۇرلارنى ساقلاشقا ئىشلىتىلىدۇ.

بۇ سىغىمدىكى Flash ساقلىغۇچقا پاتىدىغان كود سىغىمى بەكلا كىچىك .بىر دانە RTOS سېستىمىسىنى ئورۇنلاشتۇرۇپ،كىچىك ئېكراندا سۈرئەت قويۇش ئىقتىدارىنى ئارانلا ئەمەلگە ئاشۇرغىلى بولىدۇ ،رەسىم بەك چوڭ بولسا ياكى كود بەك جىق بولسا كود چۈشۈرۈش مەغلۇپ بولىدۇ . STM32CubeIDE دا DAP_LINK ياكى ST_LINK چۈشۈرگۈچىدىن پايدىلىنىڭ پروگرامما چۈشۈرسە خاتالىق مەلۇم بولىدۇ. خاتالىق مەلۇم قىلىش رەسىمدە 1-1 كۆرسىتىلگەندەك.

740c1d156f9c895153d5d61626091aa0_release.png

رەسىم 1-1 Flash خاتالىق مەلۇم قىلغان ئۇقتۇرۇش

2.مەسىلە ئۈستىدە ئىزدىنىش جەريانى

بۇ تاختا ماڭا بەك كېرەك بولغاچقا مەن سىرتتىن w25q128 تىپلىق FLASH ساقلىغۇچىنى ئۇلاشنى ئويلاشتىم، ئەمما كود قىلىپ بىۋاستە سىرتقى ئۇلىغان Flash قا يېزىش بىر ئاز مۇرەككەپ،شۇڭا ھورۇنلۇق قىلىپ بۇ ئامالدىن ۋاز كەچتىم. شۇ چاغدا تۇيۇقسىز

STM32H743 ئۆزىكىدە 1MB (قوللانمىدىكى ئادرېس: 0x08000000-0x08100000) لىق FLASH بارلىقىنى بايقىدىم.

بۇ تۈردىكى ئۆزەكنى ئىشلىتىغانلار بىلىدۇ .،بۇ ئىككىسى بىر يىلتىزدىكى قېرىنداشلاردەك نامىدىن باشقا ھەممە يەرى دىگىدەك ئوخشايدۇ ، ،، شۇڭا مەن دەرھال STM32Cube Programmer نى چۈشۈردۈم، مېنىڭ ST_ INK تەقلىلىغۇچنى چىقىرىپ بىر قەدەم بىر قەدەمدىن سىناپ باقتىم. دەرۋەقە STM32H750 نورمال ئەھۋال ئاستىدا 2MBچوڭلۇقتىكى FLASHنى زىيارەت قىلالايدىكەن (ئادرېسى: 0x08000000-0x08200000)، زىيارەت قىلىش ئادرېسى 2-1 رەسىمدە كۆرسىتىلگەندەك

68bf1872e437de737ff4681a429944ee_release.png

رەسىم 2-1 FLASH ئادىرىسىنى زىيارەت قىلىش

شۇڭا كاللامدا تۇيۇقسىز بىر ئوي پەيدا بولدى. ئەگەر STM32 نىڭ سەپلىمە ھۆججىتىنى ئۆزگەرتسەك قانداق بولار؟ Flash قىممىتىنى 2048k غا ئۆزگەرتكەندىن كېيىنكى خۇش خەۋەر شۇكى، كودنى تەھرىرلەپ چۈشۈرەلەيدىغان بولدى، شۇم خەۋەر بولسا، ئىجرا قىلغىلى بولمايدۇ ،يەنى سېستىما بىۋاستە قىتىپ قالدى، ھەتتا سىرتتىن چاتقان ئېكرانمۇ يورۇمىدى (باشقا ھۆججەتلەرنى داۋاملىق ئۆزگەرتىشكە جۈرئەت قىلالمىدىم ، كود ئاران تەستە نەچچە كۈن يىزىپ ئاران مۇشۇنچىلىك قىلغان). پارامېتىر نەتىجىسىنى ئۆزگەرتىش 2-2رەسىمدە كۆرسىتىلگەندەك.

a1a3a250e24e314b73c3f87065017451_release.png
2d258e2dfef46219811094902787e81b_release.png
رەسىم 2-2 پارامىتىرنى ئۆزگەرتىش نەتىجىسى

قانداق قىلىشنى بىلەلمەي تۇرغاندا يەنە بىر ئامالنى ئويلاپ قالدىم. STM ئەمەلىيەتتە يەنە بىر دىتالنى مەخسۇس ئۆزەككە كود چۈشۈرۈش ئۈچۈن چىقارغان ،يەنى STM32CubeProgrammer ,بۇ دىتالدا FLASHنىڭ زىيارەت قىلىش ئادىرىسىنى ئۆزگەرتىپ چۈشۈرۈپ باقتىم ،نەتىجىسى رەسىم 2-3 دە كۆرسىتىلگەندەك.

e57a99f9c1b74a70fe824a7aa8e2944d_release.png
رەسىم 2-3 چۈشۈرۈش نەتىجىسى

نىمدىگەن بىلەن بىر ئائىلە كىشىلىرىدە ، قانداقلا ئامال قىلغان بىلەن قەتتى 2MB بوشلۇقنى ئىشلەتكىلى ئۇنىمىدى.لىكىن كونىلاردا مەسلىنى ھەل قىلىشنىڭ يولى بىرلا ئەمەس دىگەندەك يەنە بىر ئامال بار ئىدى . بىر FLASH نى زىيارەت قىلالىغانكەنمىز STM شىركىتى بۇنى ئۆزەك ئىچىدىن چەكلىمىدى دىگەن گەپ پەقەت ئۇلارنىڭ ئورگان دېتالى بىزنى چەكلەپ قويىۋاتىدۇ دىگەن گەپ.

شۇڭا مەن قولۇمدىكى ST_LINK تەقلىدلىغۇچنىڭ دېتال ئىسىمەە كىلىپ قالدى، بۇ دىتال STM32CUBE IDE نىڭ دېتالىغا تەۋە ئەمەس شۇڭا چەكلەنمەسلىكى مۇمكىن ،شۇنىڭ بىلەن مەن STM32 ST-LINK Utility نى چۈشۈرۈپ تاختىنى چىتىپ سىناپ باقتىم ،نەتىجىسى 2-4 رەسىمدە كۆرسىتىلگەندەك

da66726f774e068d2b3f649669e275c9_release.png
رەسىم 2-4 چۈشۈرۈش نەتىجىسى

نەقلا مەن ئويلىغاندەك بولدى بۇ كاساپپەت راستىنلا 2BM لىك FLASH كە ئىگە ئىكەن

3.مەسىلىنى بىر تەرەپ قىلىش

يول ئىچىلدى دېمەك ئەمدى قانداق مىڭىش ئۆزىمىزدە دىگەن گەپ ،شۇنىڭ بىلەن مەن HEX ھۆججىتىنى تەييارلاپ چۈشۈرۈپ سىناپ باقتىمHEX ھۆججىتى 1MB غا يىقىن چوڭلۇقتا ،نەزىريە جەھەتتىن ئىيتقاندا بۇ قەتتى چۈشمەيدۇ دىگەن گەپ،لىكىن ئەمەلىيەتتە .....چۈشۈرۈش نەتىجىسى رەسىم 3-1 دا كۆرسىتىلگەندەك

65e71103c51dc0bdf55d67a5d6e5a25b_release.png
20db3343f0121daf383871fb7e1f60ea_release.png
رەسىم 3-1 كود چۈشۈرۈش

چۈشۈرۈش مۇۋاپىقىيەتلىك بولدى

d16edbda830f8c5d0500a18f259b8270_release.jpg

4.خۇلاسە

دىققەت قىلىشقا تىگىشلىك ئىشلار:

  1. بۇ ھەممە H750 ئۆزەكلىرىدە مۇۋاپىقىيەتلىك بولىۋەرمەيدۇ ،باشقىلارنىڭ دىيىشىچە ئەينى ۋاقىتتا H743 ئۆزىكىنى چىقارغاندا باھاسى يۇقۇرى بولۇپ كىتىپ ھەم بىۋاستە باھا چۈشۈرۈشكە ئەپسىز بولۇپ قىلىپ H743 ئۆزەكلىرىنىڭ نامىنى H750غا ئۆزگەرتىپ ساتقانمىش
  2. ئورگان ھۆججىتىدە FLASH نى 128KB دەپ يىزىشتىكى سەۋەب ئورگان تەرەپ پەقەت 128KB چوڭلۇقتىكى دائىرىدىكى زىيارەتنىڭلا ئىشەنچىلىك بولىشىغا كاپالەتلىك قىلالايدىكەن ،ئۇنىڭ سىرتىدىكى ئادىرىسنى زىيارەت قىلىپ ئۆزەك سانلىق مەلۇماتقا ئىرىشەلمىسە ئورگان تەرەپ ئىگە بولمايدىكەن.(نىمە دىگەن بىلەن H750 ھەقىقەتەن ئەرزان)،لىكىن مىنىڭ نورمال ھازىرغىچە
  3. ئەگەر قول سىلىپ سىناپ باققۇچىلار بولسا ئاۋال XXX_flash.ld بۇ ھۆججەتتىكى FLASH چوڭلىقىنى 2048KB غا ئۆزگەرتىۋىتىپ قالغان ئىشنى قىلساڭلار بولىدۇ بولمىسا HEX ھۆججەتنى تەھرىرلىگىلى بولمايدۇ.
  4. ئەگەر سودا خارەكتىرىدىكى تۈرلەرنى ئاچساڭلار ئامال بار سىرتتىن FLASH دىن بىرنى قىتىڭلا ،ئۆزەك بۇزۇلۇپ قالسا مەن ئىگە ئەمەس. ئۈگۈنۈش ئۈچۈن بولسا قانداق ئۆزگەرتسەڭلار مەيلى