STMicroelectronics-ლოგო

STMicroelectronics STM32U0 Series Original Initiative Improve Designer Productivity

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-product

სპეციფიკაციები

  • პროდუქტის დასახელება: STM32CubeU0
  • თავსებადობა: STM32U0 სერიის მიკროკონტროლერები
  • მახასიათებლები: RTOS, USB მოწყობილობების დასტა, File სისტემა, ფლეშ მეხსიერების მთარგმნელობითი ფენა, Middleware კომპონენტები
  • ლიცენზირება: ღია კოდის BSD ლიცენზია

პროდუქტის გამოყენების ინსტრუქცია

დასრულდაview STM32CubeU0-დან

STM32CubeU0 არის ყოვლისმომცველი პაკეტი, რომელიც მოიცავს ჩაშენებულ პროგრამულ კომპონენტებს STM32U0 სერიის მიკროკონტროლერებზე აპლიკაციების შესაქმნელად. ეს არის უაღრესად პორტატული და თავსებადი სხვა STM32 სერიებთან.

ძირითადი მახასიათებლები

პაკეტში შედის დაბალი ფენის (LL) და ტექნიკის აბსტრაქციის ფენის (HAL) API-ები, რომლებიც ფარავს მიკროკონტროლერების აპარატურას, ასევე ვრცელ კომპლექტსamples. მას ასევე აქვს ინტეგრირებული RTOS, USB მოწყობილობის სტეკები, file სისტემის მხარდაჭერა და სხვადასხვა ბიბლიოთეკები.

არქიტექტურა დასრულდაview

არქიტექტურა აგებულია სამ დონეზე - დონე 0 (HAL და ძირითადი პერიფერიული ყოფილიamples), დონე 1 (აპლიკაციები და ბიბლიოთეკები) და დონე 2 (შეფასების დაფები და დემონსტრაციები).

აპარატურის აბსტრაქციის ფენა (HAL)

  • BSP დრაივერები: მიაწოდეთ API-ები ტექნიკის კომპონენტებისთვის დაფებზე, როგორიცაა LCD, ჯოისტიკი და ა.შ.
  • დაბალი ფენა (LL): გთავაზობთ ძირითად პერიფერიულ გამოყენებას მაგamples და HAL ძირითადი დრაივერები.

საბჭოს მხარდაჭერის პაკეტი (BSP)

ეს ფენა მოიცავს დრაივერებს დაფაზე გარე მოწყობილობებისთვის და უზრუნველყოფს API-ებს BSP დრაივერის გარე კომპონენტებისთვის, რომლებიც შეიძლება იყოს პორტატული სხვადასხვა დაფაზე.

შესავალი

STM32Cube არის STMicroelectronics-ის ორიგინალური ინიციატივა, რათა მნიშვნელოვნად გააუმჯობესოს დიზაინერის პროდუქტიულობა განვითარების ძალისხმევის, დროისა და ხარჯების შემცირებით. STM32Cube მოიცავს STM32-ის მთელ პორტფელს.
STM32Cube მოიცავს

  • მომხმარებლისთვის მოსახერხებელი პროგრამული უზრუნველყოფის განვითარების ინსტრუმენტების ნაკრები, რომელიც მოიცავს პროექტის შემუშავებას კონცეფციიდან განხორციელებამდე, რომელთა შორისაა:
  • STM32CubeMX, გრაფიკული პროგრამული უზრუნველყოფის კონფიგურაციის ინსტრუმენტი, რომელიც საშუალებას აძლევს C ინიციალიზაციის კოდის ავტომატურ გენერირებას გრაფიკული ოსტატების გამოყენებით
  • STM32CubeIDE, ყოვლისმომცველი განვითარების ინსტრუმენტი პერიფერიული კონფიგურაციით, კოდის გენერირებით, კოდის შედგენით და გამართვის ფუნქციებით
  • STM32CubeCLT, ბრძანების ხაზის განვითარების ინსტრუმენტების ნაკრები ყველა-ერთში, კოდის შედგენით, დაფის პროგრამირებით და გამართვის ფუნქციებით
  • STM32CubeProgrammer (STM32CubeProg), პროგრამირების ინსტრუმენტი, რომელიც ხელმისაწვდომია გრაფიკული და ბრძანების ხაზის ვერსიებში
  • STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), მძლავრი მონიტორინგის ხელსაწყოები STM32 აპლიკაციების ქცევისა და მუშაობის დაზუსტებისთვის რეალურ დროში
  • STM32Cube MCU და MPU პაკეტები, ყოვლისმომცველი ჩაშენებული პროგრამული პლატფორმები, რომლებიც სპეციფიკურია თითოეული მიკროკონტროლერისა და მიკროპროცესორის სერიისთვის (როგორიცაა STM32CubeU0 STM32U0 სერიისთვის), რომელიც მოიცავს:
  • STM32Cube ტექნიკის აბსტრაქციის ფენა (HAL), რომელიც უზრუნველყოფს მაქსიმალურ პორტატულობას STM32 პორტფოლიოში
  • STM32Cube დაბალი ფენის API-ები, უზრუნველყოფენ საუკეთესო შესრულებას და კვალს, მომხმარებლის მაღალი ხარისხის კონტროლის აპარატურაზე
  • საშუალო პროგრამის კომპონენტების თანმიმდევრული ნაკრები, როგორიცაა ThreadX, FileX / LevelX, USBX, სენსორული ბიბლიოთეკა, ჩაშენებული კრიპტო, MCUboot და OpenBL
  • ყველა ჩაშენებული პროგრამული უზრუნველყოფის უტილიტა სრული კომპლექტით პერიფერიული და აპლიკაციური მაგamples
  • STM32Cube გაფართოების პაკეტები, რომლებიც შეიცავს ჩაშენებულ პროგრამულ კომპონენტებს, რომლებიც ავსებენ STM32Cube MCU და MPU პაკეტების ფუნქციებს:
  • Middleware გაფართოებები და აპლიკაციური ფენები
  • Examples მუშაობს ზოგიერთ STMicroelectronics-ის განვითარების დაფებზე

ეს მომხმარებლის სახელმძღვანელო აღწერს, თუ როგორ უნდა დაიწყოთ STM32CubeU0 MCU პაკეტი.
მე-2 ნაწილი აღწერს STM32CubeU0 MCU პაკეტის ძირითად მახასიათებლებს.
განყოფილება 3 და განყოფილება 4 იძლევა ზედმეტსview STM32CubeU0 არქიტექტურისა და MCU პაკეტის სტრუქტურის შესახებ.

ზოგადი ინფორმაცია

შენიშვნა

  • STM32CubeU0 აპლიკაცია მუშაობს STM32U0 სერიის 32-ბიტიან მიკროკონტროლერებზე, რომლებიც დაფუძნებულია Arm® Cortex®-M პროცესორზე.
  • Arm არის Arm Limited-ის (ან მისი შვილობილი კომპანიების) რეგისტრირებული სავაჭრო ნიშანი აშშ-ში და/ან სხვაგან.

STM32CubeU0 ძირითადი მახასიათებლები

STM32CubeU0 აგროვებს, ერთ პაკეტში, ყველა ზოგად ჩაშენებულ პროგრამულ კომპონენტს, რომელიც საჭიროა STM32U0 სერიის მიკროკონტროლერებისთვის აპლიკაციის შესაქმნელად. STM32Cube ინიციატივის შესაბამისად, კომპონენტების ეს ნაკრები ძალზე პორტატულია არა მხოლოდ STM32U0 სერიის მიკროკონტროლერებში, არამედ სხვა STM32 სერიებში.
STM32CubeU0 სრულად თავსებადია STM32CubeMX კოდის გენერატორთან ინიციალიზაციის კოდის გენერირებისთვის. პაკეტში შედის დაბალი ფენის (LL) და ტექნიკის აბსტრაქციის ფენის (HAL) API-ები, რომლებიც ფარავს მიკროკონტროლერის აპარატურას, ყოფილი ტექნიკის ფართო კომპლექტთან ერთად.amples მუშაობს STMicroelectronics დაფებზე. HAL და LL API ხელმისაწვდომია ღია კოდის BSD ლიცენზიაში მომხმარებლის მოხერხებულობისთვის.
STM32CubeU0 MCU პაკეტი ასევე შეიცავს ყოვლისმომცველ შუა პროგრამულ კომპონენტს, რომელიც აგებულია Microsoft® Azure® RTOS შუა პროგრამული უზრუნველყოფის და სხვა შიდა და ღია კოდის სტეკების გარშემო, შესაბამისი ყოფილიamples.
მათ გააჩნიათ უფასო მომხმარებლისთვის მოსახერხებელი სალიცენზიო პირობები:

  • ინტეგრირებული და სრულფასოვანი RTOS: ThreadX
  • CMSIS-RTOS დანერგვა FreeRTOS™ ღია კოდის გადაწყვეტით
  • CMSIS-RTOS განხორციელება ThreadX-ით
  • USB მოწყობილობების დასტას გააჩნია მრავალი კლასი: USBX
  • გაფართოებული file სისტემის და ფლეშ მეხსიერების მთარგმნელობითი ფენა: FileX/LevelX
  • OpenBootloader (OpenBL)
  • MCUboot
  • mbed-კრიპტო ბიბლიოთეკები
  • STM32_Touch ბიბლიოთეკა

რამდენიმე აპლიკაცია და დემონსტრაცია, რომლებიც ახორციელებენ ყველა ამ შუაპროგრამის კომპონენტს, ასევე მოცემულია STM32CubeU0 MCU პაკეტში.
სურათი 1 ასახავს STM32CubeU0 MCU პაკეტის კომპონენტის განლაგებას.

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-fig-1

STM32CubeU0 არქიტექტურა დასრულდაview

  • STM32CubeU0 MCU პაკეტის გადაწყვეტა აგებულია სამ დამოუკიდებელ დონეზე, რომლებიც ადვილად ურთიერთქმედებენ, როგორც ეს აღწერილია 2-ში.

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-fig-2

დონე 0
ეს დონე დაყოფილია სამ ქვეფენად:

  • საბჭოს მხარდაჭერის პაკეტი (BSP)
  • აპარატურის აბსტრაქციის ფენა (HAL)
  • HAL პერიფერიული დრაივერები
  • დაბალი ფენის დრაივერები
  • ძირითადი პერიფერიული გამოყენება მაგamples

საბჭოს მხარდაჭერის პაკეტი (BSP)
ეს ფენა გვთავაზობს API-ების ერთობლიობას აპარატურულ დაფებში არსებულ ტექნიკის კომპონენტებთან (როგორიცაა LCD, ჯოისტიკი და ტემპერატურის სენსორი). იგი შედგება ორი ნაწილისაგან:

  • კომპონენტი
  • ეს არის დრაივერი დაფაზე არსებულ გარე მოწყობილობასთან შედარებით და არა STM32 მოწყობილობასთან. კომპონენტის დრაივერი უზრუნველყოფს სპეციფიკურ API-ებს BSP დრაივერის გარე კომპონენტებისთვის და კაბინა შეიძლება იყოს პორტატული ნებისმიერ სხვა დაფაზე.
  • BSP დრაივერი
  • ის საშუალებას გაძლევთ დააკავშიროთ კომპონენტის დრაივერები კონკრეტულ დაფასთან და უზრუნველყოფს მომხმარებლისთვის მოსახერხებელი API-ების კომპლექტს. API-ს დასახელების წესი არის BSP_FUNCT_Action().
  • Example: BSP_LED_Init(), BSP_LED_On()

BSP დაფუძნებულია მოდულურ არქიტექტურაზე, რომელიც საშუალებას იძლევა ადვილად გადაიტანოთ ნებისმიერი ტიპის აპარატურაზე დაბალი დონის რუტინების განხორციელებით.

აპარატურის აბსტრაქციის ფენა (HAL) და დაბალი ფენა (LL)
STM32CubeU0 HAL და LL ავსებენ ერთმანეთს და მოიცავს განაცხადის მოთხოვნების ფართო სპექტრს:

  • HAL დრაივერები გვთავაზობენ მაღალი დონის ფუნქციაზე ორიენტირებულ მაღალ პორტატულ API-ებს. ისინი მალავენ MCU-ს და პერიფერიულ სირთულეს საბოლოო მომხმარებლისგან.
  • HAL დრაივერები უზრუნველყოფს ზოგად მრავალინსტანციაზე ორიენტირებულ API-ებს, რომლებიც ამარტივებს მომხმარებლის აპლიკაციის განხორციელებას მზა პროცესების უზრუნველყოფით. მაგampკომუნიკაციის პერიფერიული მოწყობილობებისთვის (I2S, UART და სხვა), ის უზრუნველყოფს API-ებს, რომლებიც საშუალებას აძლევს პერიფერიულის ინიციალიზაციას და კონფიგურაციას, მონაცემთა გადაცემის მართვას კენჭისყრის, შეფერხების ან DMA პროცესის საფუძველზე და კომუნიკაციის შეცდომების დამუშავებას, რომლებიც შეიძლება წარმოიშვას კომუნიკაციის დროს. HAL დრაივერების API იყოფა ორ კატეგორიად:
  • ზოგადი API-ები, რომლებიც უზრუნველყოფენ საერთო და ზოგად ფუნქციებს ყველა STM32 სერიისთვის.
  • გაფართოების API-ები, რომლებიც უზრუნველყოფენ სპეციფიკურ და მორგებულ ფუნქციებს კონკრეტული ოჯახისთვის ან კონკრეტული ნაწილის ნომრისთვის.
  • დაბალი ფენის API უზრუნველყოფს დაბალი დონის API-ებს რეგისტრის დონეზე, უკეთესი ოპტიმიზაციით, მაგრამ ნაკლები პორტაბელურობით. მათ სჭირდებათ MCU და პერიფერიული სპეციფიკაციების ღრმა ცოდნა.
  • LL დრაივერები შექმნილია იმისთვის, რომ შესთავაზოს სწრაფი, მსუბუქი წონის ექსპერტებზე ორიენტირებული ფენა, რომელიც უფრო ახლოსაა აპარატურასთან, ვიდრე HAL. HAL-ის საპირისპიროდ, LL API არ არის მოწოდებული პერიფერიული მოწყობილობებისთვის, სადაც ოპტიმიზირებული წვდომა არ არის ძირითადი ფუნქცია, ან მათთვის, ვინც საჭიროებს მძიმე პროგრამული უზრუნველყოფის კონფიგურაციას და/ან რთული ზედა დონის დასტას. LL დრაივერების მახასიათებლები:
  • ფუნქციების ნაკრები პერიფერიული ძირითადი მახასიათებლების ინიციალიზაციისთვის მონაცემთა სტრუქტურებში მითითებული პარამეტრების მიხედვით.
  • ფუნქციების ნაკრები, რომელიც გამოიყენება ინიციალიზაციის მონაცემთა სტრუქტურების შესავსებად თითოეული ველის შესაბამისი გადატვირთვის მნიშვნელობებით.
  • ფუნქცია პერიფერიული დეინიციალიზაციისთვის (პერიფერიული რეგისტრები აღდგენილია ნაგულისხმევ მნიშვნელობებზე).
  • პირდაპირი და ატომური რეგისტრის წვდომისათვის შიდა ფუნქციების ნაკრები.
  • სრული დამოუკიდებლობა HAL-ისგან და დამოუკიდებელ რეჟიმში გამოყენების შესაძლებლობა (HAL დრაივერების გარეშე).
  • მხარდაჭერილი პერიფერიული ფუნქციების სრული გაშუქება.

ძირითადი პერიფერიული გამოყენება მაგamples
ეს ფენა მოიცავს ყოფილიamples აგებულია STM32 პერიფერიულ მოწყობილობებზე მხოლოდ HAL და BSP რესურსების გამოყენებით.
დონე 1
ეს დონე იყოფა ორ ქვეფენად:

  • Middleware კომპონენტები
  • Examples ეფუძნება შუა პროგრამის კომპონენტებს

Middleware კომპონენტები
Middleware არის ბიბლიოთეკების ნაკრები, რომელიც აგებულია Microsoft® Azure® RTOS შუა პროგრამული უზრუნველყოფის და სხვა შიდა (როგორიცაა OpenBL) და ღია წყაროს (როგორიცაა mbed-crypto) ბიბლიოთეკების გარშემო. ყველა ინტეგრირებული და მორგებულია STM32 MCU მოწყობილობებისთვის და გამდიდრებულია შესაბამისი აპლიკაციით მაგamples დაფუძნებული სარეკლამო დაფებზე. ამ ფენის კომპონენტებს შორის ჰორიზონტალური ურთიერთქმედება ხდება ფუნქციების API-ების გამოძახებით, ხოლო ვერტიკალური ურთიერთქმედება დაბალი ფენის დრაივერებთან ხდება კონკრეტული გამოძახებების და სტატიკური მაკროების მეშვეობით, რომლებიც განხორციელებულია ბიბლიოთეკის სისტემის გამოძახების ინტერფეისში.

თითოეული Middleware კომპონენტის ძირითადი მახასიათებლები შემდეგია:

  • ThreadX:
    რეალურ დროში ოპერაციული სისტემა (RTOS), განკუთვნილია ჩაშენებული სისტემებისთვის, ორი ფუნქციონალური რეჟიმით:
    • საერთო რეჟიმი: ჩვეულებრივი RTOS ფუნქციები, როგორიცაა ნაკადების მართვა და სინქრონიზაცია, მეხსიერების აუზის მართვა, შეტყობინებები და მოვლენების მართვა.
    • მოდულის რეჟიმი: მოწინავე გამოყენების რეჟიმი, რომელიც საშუალებას აძლევს წინასწარ დაკავშირებულ ThreadX მოდულების ჩატვირთვას და გადმოტვირთვას მოდულის მენეჯერის მეშვეობით.
  • FileX / დონეX:
    • გაფართოებული ფლეშ file სისტემა (FS) / ფლეშ თარგმანის ფენა (FTL): სრულად აღჭურვილია NAND/NOR ფლეშ მეხსიერების მხარდასაჭერად.
  • USBX:
    • USB მოწყობილობების დასტა მოდის მრავალი კლასით (USB Type-C®).
  • OpenBootloader:
    შუაპროგრამის ეს კომპონენტი უზრუნველყოფს ღია წყაროს ჩამტვირთველს ზუსტად იგივე ფუნქციებითა და ხელსაწყოებით, როგორც STM32 სისტემის ჩამტვირთველი.
  • STM32 Touch Sensing ბიბლიოთეკა:
    პროგრამული ბიბლიოთეკა, რომელიც გამოიყენება სენსორების მხარდასაჭერად Touch Sensing Controller-ის პერიფერიული მოწყობილობით (TSC).
  • MCUboot.
  • mbed-crypto:
    ღია კოდის კრიპტოგრაფიული ბიბლიოთეკა, რომელიც მხარს უჭერს კრიპტოგრაფიული ოპერაციების ფართო სპექტრს, მათ შორის:
    • გასაღების მენეჯმენტი.
    • ჰაშინგირება.
    • სიმეტრიული კრიპტოგრაფია.
    • ასიმეტრიული კრიპტოგრაფია.
    • შეტყობინების ავთენტიფიკაცია (MAC).
    • გასაღების გენერაცია და წარმოშობა.
    • ავთენტიფიცირებული დაშიფვრა ასოცირებული მონაცემებით (AEAD).

Examples ეფუძნება შუა პროგრამის კომპონენტებს
ყოველ შუა პროგრამის კომპონენტს მოყვება ერთი ან მეტი ყოფილიamples (ასევე მოუწოდა აპლიკაციებს) აჩვენებს, თუ როგორ გამოიყენოთ იგი. ინტეგრაცია მაგampასევე მოწოდებულია ისეთი პროგრამები, რომლებიც იყენებენ შუა პროგრამის რამდენიმე კომპონენტს.
დონე 2
ეს დონე შედგება ერთი ფენისგან, რომელიც შედგება გლობალური რეალურ დროში და გრაფიკული დემონსტრირებისგან, რომელიც დაფუძნებულია შუა პროგრამების სერვისის ფენაზე, დაბალი დონის აბსტრაქციის ფენაზე და დაფაზე დაფუძნებული ფუნქციების ძირითადი პერიფერიული გამოყენების აპლიკაციებზე.

მხარდაჭერილი STM32CubeU0 სერიის მოწყობილობები და აპარატურა

  • STM32Cube გთავაზობთ უაღრესად პორტატულ ტექნიკის აბსტრაქციის ფენას (HAL), რომელიც აგებულია ზოგადი არქიტექტურის ირგვლივ. ის საშუალებას აძლევს შექმნას ფენების პრინციპი, როგორიცაა შუა პროგრამის ფენის გამოყენება მათი ფუნქციების განსახორციელებლად, იმის ცოდნის გარეშე, თუ რა MCU გამოიყენება. ეს აუმჯობესებს ბიბლიოთეკის კოდის ხელახლა გამოყენებას და უზრუნველყოფს სხვა მოწყობილობებზე მარტივ პორტატულობას.
  • გარდა ამისა, ფენიანი არქიტექტურის გამო, STM32CubeU0 გთავაზობთ STM32U0 სერიის ყველა მოწყობილობის სრულ მხარდაჭერას.
  • მომხმარებელმა მხოლოდ სწორი მაკრო უნდა განსაზღვროს stm32u0xx.h-ში.
  • ცხრილი 1 გვიჩვენებს, რომელი მაკრო უნდა განისაზღვროს, გამოყენებული STM32U0 სერიის მოწყობილობიდან გამომდინარე. ეს მაკრო ასევე უნდა განისაზღვროს კომპილერის წინასწარ პროცესორში.

ცხრილი 1. მაკროები STM32CubeU0-სთვის

მაკრო განსაზღვრულია stm32u0xx.h STM32U0 მოწყობილობები
STM32U031x4 STM32U031F4, STM32U031K4
STM32U031x6 STM32U031F6, STM32U031K6, STM32U031C6, STM32U031R6, STM32U031G6
STM32U031x8 STM32U031F8, STM32U031K8, STM32U031C8, STM32U031R8, STM32U031G8
STM32U073x8 STM32U073K8, STM32U073H8, STM32U073C8, STM32U073R8, STM32U073M8
STM32U073xB STM32U073KB, STM32U073HB, STM32U073CB, STM32U073RB, STM32U073MB
STM32U073xC STM32U073KC, STM32U073HC, STM32U073CC, STM32U073RC, STM32U073MC
STM32U083xC STM32U083KC, STM32U083HC, STM32U083CC, STM32U083RC, STM32U083MC

STM32CubeU0 აღჭურვილია ყოფილი კომპლექტითamples და აპლიკაციები ყველა დონეზე, რაც აადვილებს ნებისმიერი HAL დრაივერის და/ან შუაპროგრამის კომპონენტების გაგებას და გამოყენებას. ეს ყოფილიampისინი მუშაობს STMicroelectronics დაფებზე, რომლებიც ჩამოთვლილია ცხრილში 2.
ცხრილი 2. დაფები STM32CubeU0 სერიებისთვის

გამგეობა მხარდაჭერილი STM32CubeU0 მოწყობილობები
NUCLEO-U031R8 STM32U031xx
NUCLEO-U083RC STM32U073xx, STM32U083xx
STM32U083C-DK STM332U073xx, STM32U083xx

STM32CubeU0 MCU პაკეტი შეიძლება იმუშაოს ყველა თავსებად მოწყობილობაზე. მომხმარებელი განაახლებს BSP დრაივერებს მოწოდებული ყოფილი პორტისთვისampგადაიტანეთ საკუთარ დაფაზე, თუ ამ უკანასკნელს აქვს იგივე ტექნიკის მახასიათებლები (როგორიცაა LED, LCD და ღილაკები).

MCU პაკეტი დასრულდაview

STM32CubeU0 MCU პაკეტის გადაწყვეტა მოწოდებულია ერთ zip პაკეტში, სტრუქტურით ნაჩვენებია სურათზე 3.

სურათი 3. STM32CubeU0 MCU პაკეტის სტრუქტურა

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-fig-3

თითოეული დაფისთვის, კომპლექტი ყოფილიamples მოწოდებულია წინასწარ კონფიგურირებული პროექტებით EWARM, MDK-ARM და STM32CubeIDE ინსტრუმენტთა ჯაჭვებისთვის.
სურათი 4 გვიჩვენებს პროექტის სტრუქტურას STM32U0xx_Nucleo დაფისთვის.

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-fig-4

ყოფილმაamples კლასიფიცირებულია STM32Cube დონის მიხედვით, რომელსაც ისინი მიმართავენ და დასახელებულია, როგორც ქვემოთ არის განმარტებული:

  • დონე 0 examples ეწოდება "Exampლესი“, „მაგamples_LL“ და „Examples_MIX”. ისინი იყენებენ, შესაბამისად, HAL დრაივერებს, LL დრაივერებს და HAL და LL დრაივერების ნაზავს შუაპროგრამის კომპონენტების გარეშე.
  • დონე 1 examples ეწოდება აპლიკაციებს. ისინი უზრუნველყოფენ საშუალო პროგრამის თითოეული კომპონენტის ტიპურ გამოყენებას.

ნებისმიერი პროგრამული უზრუნველყოფის პროგრამა მოცემული დაფისთვის შეიძლება სწრაფად შეიქმნას შაბლონების პროექტების გამოყენებით, რომლებიც ხელმისაწვდომია Templates და Templates_LL დირექტორიაში.
ყველა ყოფილიampმათ აქვთ იგივე სტრუქტურა:

  • საქაღალდე \Inc, რომელიც შეიცავს ყველა სათაურს files.
  • \Src საქაღალდე საწყისი კოდისთვის.
  • \EWARM, \MDK-ARM და \STM32CubeIDE საქაღალდეები, რომლებიც შეიცავს წინასწარ კონფიგურირებულ პროექტს თითოეული ხელსაწყოების ჯაჭვისთვის.
  • readme.txt file აღწერს ყოფილსampქცევისა და გარემოს მოთხოვნები მისი მუშაობისთვის.
  • ან *.ioc file, რაც მომხმარებლებს საშუალებას აძლევს გახსნან პროგრამული უზრუნველყოფის უმეტესი ნაწილი examples ფარგლებში STM32CubeMX (დაწყებული STM32CubeMX 6.11).

ცხრილი 3. ყოფamples თითოეული დაფისთვის

დონე NUCLEO-U031R8 NUCLEO-U083RC STM32U083C-DK სულ
აპლიკაციები 2 8 9 19
დემონსტრაცია 0 0 1 1
Examples 28 104 30 162
Examples_LL 3 78 1 82
Examples_MIX 0 14 0 14
შაბლონები 1 1 1 3
შაბლონები_LL 1 1 1 3
სულ პროექტები 35 206 43 284

როგორც ზემოთ მოცემულია მე-3 ცხრილში, STM32CubeU0 პაკეტი შეიცავს 284 examples გაგზავნილია 3 დაფაზე, რომელთაგან 193 უნიკალურია ყოფილიamples.

დაწყება STM32CubeU0

გაშვებული პირველი ყოფილიample
ეს განყოფილება განმარტავს, თუ როგორ უნდა აწარმოოთ პირველი ყოფილიampSTM32U0 სერიის დაფაზე, LED-ის გადართვა NUCLEO-U083RC დაფაზე.

შენიშვნა

  1. ჩამოტვირთეთ STM32CubeU0 MCU პაკეტი და გახსენით იგი ცალკე დირექტორიაში პაკეტის სტრუქტურის შეცვლის გარეშე, როგორც ნაჩვენებია სურათზე 3. დააკოპირეთ პაკეტი რაც შეიძლება ახლოს root მოცულობასთან (მაგ.ample C:\Eval ან G:\Tests), რადგან ზოგიერთ IDE-ს შეიძლება შეექმნას პრობლემები, როდესაც ბილიკის სიგრძე ძალიან გრძელია.
  2. დაათვალიერეთ \Projects\NUCLEO-U083RC\Examples.
  3. გახსენით \GPIO, შემდეგ \GPIO_EXTI საქაღალდეები.
  4. გახსენით პროექტი სასურველი ინსტრუმენტების ჯაჭვით. სწრაფი დასრულდაview იმის შესახებ, თუ როგორ უნდა გახსნათ, ავაშენოთ და მართოთ ყოფილიampმხარდაჭერილი ხელსაწყოების ჯაჭვები მოცემულია ქვემოთ.
  5. აღადგინე ყველა files და ჩატვირთეთ სურათი სამიზნე მეხსიერებაში.
  6. გაუშვით ყოფილიample: USER ღილაკის ყოველი დაჭერისას, LED1 გადართავს (დამატებითი ინფორმაციისთვის იხილეთ ყოფილიampწაიკითხე file).

ყოფილის გახსნა, აშენება და გაშვებაampმხარდაჭერილი ხელსაწყოების ჯაჭვებით, მიჰყევით ქვემოთ მოცემულ ნაბიჯებს.

EWARM

  • გახსენით \EWARM ქვესაქაღალდე მაგample საქაღალდე.
  • გაუშვით Project.eww სამუშაო სივრცე.
  • სამუშაო სივრცის სახელი შეიძლება განსხვავდებოდეს ერთი ყოფილისგანampსხვას.

შენიშვნა

  • აღადგინე ყველა files: [პროექტი]> [ყველას აღდგენა].
  • პროექტის სურათის ჩატვირთვა: [პროექტი]> [გამართვა].
  • გაუშვით პროგრამა: [Debug]>[Go (F5)].

MDK-ARM:

  1. გახსენით \MDK-ARM ქვესაქაღალდე მაგample საქაღალდე. გაუშვით პროექტი. uvprojx სამუშაო ადგილი.
  2. სამუშაო სივრცის სახელი შეიძლება განსხვავდებოდეს ერთი ყოფილისგანampსხვას.
  3. აღადგინე ყველა files: [პროექტი]>[აღადგინეთ ყველა სამიზნე fileს].
  4. პროექტის სურათის ჩატვირთვა: [Project]>[Start/Stop Debug Session].
  5. გაუშვით პროგრამა: [Debug]>[Run (F5)].

STM32CubeIDE

  1. გახსენით STM32CubeIDE ხელსაწყოების ჯაჭვი.
  2. დააჭირეთ [File]>[Switch Workspace]>[Other] და დაათვალიერეთ STM32CubeIDE სამუშაო სივრცის დირექტორიაში.
  3. დააჭირეთ [File]>[იმპორტი], აირჩიეთ [General]>[Existing Projects Into Workspace] და დააწკაპუნეთ [Next].
  4. გადახედეთ STM32CubeIDE სამუშაო სივრცის დირექტორიაში და აირჩიეთ პროექტი.
  5. აღადგინეთ ყველა პროექტი files: აირჩიეთ პროექტი Project Explorer-ის ფანჯარაში, შემდეგ დააწკაპუნეთ მენიუში [Project]>[Build project].
  6. გაუშვით პროგრამა: [Run]>[Debug (F11)].

პერსონალური აპლიკაციის შემუშავება
STM32CubeMX-ის გამოყენება აპლიკაციის შესაქმნელად ან განახლებისთვის
STM32CubeU0 MCU პაკეტში, ყველა ყოფილიampპროექტები გენერირდება STM32CubeMX ხელსაწყოთი სისტემის, პერიფერიული მოწყობილობებისა და შუალედური პროგრამების ინიციალიზაციისთვის.
არსებული ყოფილის პირდაპირი გამოყენებაampპროექტი STM32CubeMX ხელსაწყოდან მოითხოვს STM32CubeMX 6.11 ან უფრო მაღალ ვერსიას.

  • STM32CubeMX-ის ინსტალაციის შემდეგ გახსენით და საჭიროების შემთხვევაში განაახლეთ შემოთავაზებული პროექტი. არსებული პროექტის გახსნის უსწრაფესი გზაა ორჯერ დააწკაპუნოთ *.ioc-ზე file ასე რომ, STM32CubeMX ავტომატურად ხსნის პროექტს და მის წყაროს files.
  • ასეთი პროექტების ინიციალიზაციის წყაროს კოდი გენერირდება STM32CubeMX-ის მიერ; აპლიკაციის ძირითადი კოდი შეიცავს კომენტარებს USER CODE BEGIN და USER CODE END. IP შერჩევისა და პარამეტრების შეცვლის შემთხვევაში, STM32CubeMX განაახლებს კოდის ინიციალიზაციის ნაწილს, მაგრამ ინახავს აპლიკაციის ძირითად წყაროს კოდს.

STM32CubeMX-ში მორგებული პროექტის შესაქმნელად, მიჰყევით ნაბიჯ-ნაბიჯ პროცესს:

  1. აირჩიეთ STM32 მიკროკონტროლერი, რომელიც შეესაბამება პერიფერიული მოწყობილობების საჭირო კომპლექტს.
  2. დააკონფიგურირეთ საჭირო ჩაშენებული პროგრამული უზრუნველყოფა pinout-conflict-ის ამომხსნელის, საათის ხეების დაყენების დამხმარის, ენერგიის მოხმარების კალკულატორის და კომუნალური ოპერაციული MCU პერიფერიული კონფიგურაციის (როგორიცაა GPIO ან USART) და შუა პროგრამების სტეკების (როგორიცაა USB) გამოყენებით.
  3. შექმენით ინიციალიზაციის C კოდი არჩეული კონფიგურაციის საფუძველზე. ეს კოდი მზად არის გამოსაყენებლად რამდენიმე განვითარების გარემოში. მომხმარებლის კოდი ინახება კოდის მომდევნო თაობაში.

STM32CubeMX-ის შესახებ დამატებითი ინფორმაციისთვის იხილეთ მომხმარებლის სახელმძღვანელო STM32CubeMX STM32 კონფიგურაციისა და ინიციალიზაციისთვის C კოდის გენერირებისთვის (UM1718).
ხელმისაწვდომი ყოფილის სიისთვისampპროექტები STM32CubeU0-ისთვის, იხილეთ განაცხადის შენიშვნა STM32Cube firmware examples STM32U0 სერიისთვის (AN6063).
HAL აპლიკაცია
ეს განყოფილება აღწერს ნაბიჯებს, რომლებიც საჭიროა HAL აპლიკაციის შესაქმნელად STM32CubeU0 გამოყენებით.

  1. შექმენით პროექტი
    ახალი პროექტის შესაქმნელად, ან დაიწყეთ შაბლონის პროექტი, რომელიც მოცემულია თითოეული დაფისთვის \Projects\-ში \ შაბლონები, ან ნებისმიერი ხელმისაწვდომი პროექტიდან \Projects-ში \მაგamples ან \ პროექტები\ \ აპლიკაციები (სად ეხება დაფის სახელს, როგორიცაა NUCLEO-U32RC).
    შაბლონის პროექტი უზრუნველყოფს მხოლოდ ცარიელ მთავარ მარყუჟის ფუნქციას, რაც კარგი საწყისი წერტილია STM32CubeU0 პროექტის პარამეტრების გასაგებად. შაბლონს აქვს შემდეგი მახასიათებლები:
    • ის შეიცავს HAL წყაროს კოდს და CMSIS და BSP დრაივერებს, რომლებიც ქმნიან კომპონენტების მინიმალურ კომპლექტს, რომელიც საჭიროა მოცემულ დაფაზე კოდის შესაქმნელად.
    • ის შეიცავს ჩართული ბილიკებს ყველა firmware კომპონენტისთვის.
    • ის განსაზღვრავს მხარდაჭერილ STM32U0 სერიის მოწყობილობებს, რაც საშუალებას იძლევა CMSIS და HAL დრაივერების კონფიგურაცია.
    • ის უზრუნველყოფს მზა მომხმარებლის გამოყენებას files, რომლებიც წინასწარ არის კონფიგურირებული, როგორც ნაჩვენებია ქვემოთ:
    • HAL ინიციალიზებულია ნაგულისხმევი დროის ბაზით Arm® core SysTick-ით.
    • SysTick ISR განხორციელდა HAL_Delay() მიზნით.
    • არსებული პროექტის სხვა ადგილას კოპირებისას, დარწმუნდით, რომ ყველა ჩართული ბილიკი განახლებულია.
  2. პროექტს დაამატეთ საჭირო შუალედური პროგრამა (სურვილისამებრ)
    ხელმისაწვდომი შუაპროგრამის სტეკებია USBX ბიბლიოთეკა, Azure® RTOS, Touch Sensing. წყაროს ამოსაცნობად fileპროექტს დაემატება file სიაში, მიმართეთ დოკუმენტაციას, რომელიც მოწოდებულია თითოეული Middleware კომპონენტისთვის. იხილეთ აპლიკაციები \Projects\STM32xxx_yyy\Applications\ (სად ეხება შუა პროგრამების დასტას, როგორიცაა USBX), რათა იცოდეთ რომელი წყარო files და ჩართეთ დასამატებელი ბილიკები.
  3. დააკონფიგურირეთ firmware კომპონენტები
    HAL და Middleware კომპონენტები გვთავაზობენ შექმნის დროის კონფიგურაციის ვარიანტების კომპლექტს, სათაურში გამოცხადებული მაკროების (#define) გამოყენებით. file. შაბლონის კონფიგურაცია file მოცემულია თითოეულ კომპონენტში, რომელიც უნდა იყოს კოპირებული პროექტის საქაღალდეში (ჩვეულებრივ კონფიგურაცია file ჰქვია xxx_conf_template.h და სიტყვა
    „_template“ უნდა წაიშალოს პროექტის საქაღალდეში კოპირებისას). კონფიგურაცია file უზრუნველყოფს საკმარის ინფორმაციას თითოეული კონფიგურაციის ვარიანტის გავლენის გასაგებად. უფრო დეტალური ინფორმაცია ხელმისაწვდომია თითოეული კომპონენტისთვის მოწოდებულ დოკუმენტაციაში.
  4. დაიწყეთ HAL ბიბლიოთეკა
    მთავარ პროგრამაზე გადასვლის შემდეგ, აპლიკაციის კოდმა უნდა გამოიძახოს HAL_Init() API HAL ბიბლიოთეკის ინიციალიზაციისთვის, რომელიც ასრულებს შემდეგ დავალებებს:
    • ფლეშ მეხსიერების წინასწარ ამოტვირთვისა და SysTick შეფერხების პრიორიტეტის კონფიგურაცია (stm3 2u0xx_hal_conf.h-ში განსაზღვრული მაკროების მეშვეობით).
    • SysTick-ის კონფიგურაცია ყოველ მილიწამში შეფერხების გენერირებისთვის SysTick-ის შეწყვეტის პრიორიტეტზე TICK_INT_PRIORITY, განსაზღვრული stm32u0xx_hal_conf.h-ში, რომელიც დაკვრას MSI-ის მიერ (ამ წ.tagე, საათი ჯერ არ არის კონფიგურირებული და სისტემა მუშაობს შიდა 16 MHz MSI-დან).
    • NVIC ჯგუფის პრიორიტეტის დაყენება 0-ზე.
    • stm32u0xx_hal_msp.c მომხმარებელში განსაზღვრული HAL_MspInit() გამოძახების ფუნქციის გამოძახება file გლობალური დაბალი დონის ტექნიკის ინიციალიზაციის შესასრულებლად.
  5. სისტემის საათის კონფიგურაცია
    სისტემის საათის კონფიგურაცია ხდება ქვემოთ აღწერილი ორი API-ის გამოძახებით:
    – HAL_RCC_OscConfig(): ეს API აკონფიგურირებს შიდა და/ან გარე ოსცილატორებს, ასევე PLL წყაროს და ფაქტორებს. მომხმარებელი ირჩევს ერთი ან ყველა ოსცილატორის კონფიგურაციას. მათ შეუძლიათ გამოტოვონ PLL კონფიგურაცია, თუ არ არის საჭირო სისტემის მაღალი სიხშირით გაშვება.
    – HAL_RCC_ClockConfig(): ეს API აკონფიგურირებს სისტემის საათის წყაროს, ფლეშ მეხსიერების დაყოვნებას,
    AHB სკოლამდელი და APB სკოლამდელი აღზრდის ბავშვები.
    პერიფერიულის ინიცირება
    • პირველ რიგში, ჩაწერეთ პერიფერიული HAL_PPP_MspInit ფუნქცია შემდეგნაირად:
    • ჩართეთ პერიფერიული საათი.
    • პერიფერიული GPIO-ების კონფიგურაცია.
    • დააკონფიგურირეთ DMA არხი და ჩართეთ DMA შეწყვეტა (საჭიროების შემთხვევაში).
    • პერიფერიული შეფერხების ჩართვა (საჭიროების შემთხვევაში).
    • საჭიროების შემთხვევაში, შეცვალეთ stm32xxx_it.c საჭირო შეფერხების დამმუშავებლების (პერიფერიული და DMA) გამოსაძახებლად.
    • ჩაწერეთ პროცესის სრული გამოძახების ფუნქციები, თუ პერიფერიული შეფერხება ან DMA იქნება გამოყენებული.
    • main.c-ში მოაწყეთ პერიფერიული სახელურის სტრუქტურის ინიციალიზაცია, შემდეგ გამოიძახეთ HAL_PPP_Init() ფუნქცია პერიფერიის ინიციალიზაციისთვის.
  6. განავითარეთ აპლიკაცია
    ამ სtagე, სისტემა მზად არის და მომხმარებლის აპლიკაციის კოდის შემუშავება შეიძლება დაიწყოს.
    • HAL უზრუნველყოფს ინტუიციურ და მზა API-ებს პერიფერიული მოწყობილობის კონფიგურაციისთვის. იგი მხარს უჭერს გამოკითხვას, შეფერხებებს და DMA პროგრამირების მოდელს, რათა დააკმაყოფილოს ნებისმიერი განაცხადის მოთხოვნა. დამატებითი ინფორმაციისთვის, თუ როგორ გამოიყენოთ თითოეული პერიფერიული მოწყობილობა, მიმართეთ მდიდარ ყოფილსampნაკრები მოცემულია STM32CubeU0 MCU პაკეტში.
    • თუ აპლიკაციას აქვს რეალურ დროში შეზღუდვები, STM32CubeU0 გთავაზობთ მაგალითების დიდ კომპლექტსampგვიჩვენებს, თუ როგორ გამოვიყენოთ FreeRTOS™ და დააკავშიროთ იგი ყველა შუა პროგრამულ დასტასთან, რაც მას აპლიკაციის შემუშავების კარგ საწყის წერტილად აქცევს

სიფრთხილე

სიფრთხილე: ნაგულისხმევი HAL განხორციელებაში, SysTick ტაიმერი გამოიყენება დროის ბაზად; ის ქმნის შეფერხებებს რეგულარულ დროში. თუ HAL_Delay() გამოიძახება პერიფერიული ISR პროცესიდან, დარწმუნდით, რომ SysTick შეფერხებას აქვს უფრო მაღალი პრიორიტეტი (რიცხობრივად დაბალი), ვიდრე პერიფერიული შეფერხება. წინააღმდეგ შემთხვევაში, აბონენტის ISR პროცესი დაბლოკილია. ფუნქციები, რომლებიც გავლენას ახდენენ დროის ბაზის კონფიგურაციაზე, გამოცხადებულია __სუსტად, რათა შესაძლებელი გახდეს მომხმარებლის მიერ სხვა განხორციელების შემთხვევაში გადაფარვა file (ზოგადი დანიშნულების ტაიმერის ან დროის სხვა წყაროს გამოყენებით). დამატებითი ინფორმაციისთვის იხილეთ HAL_TimeBase ყოფილიampლე.

განაცხადი

  • ეს განყოფილება აღწერს ნაბიჯებს, რომლებიც საჭიროა ინდივიდუალური LL აპლიკაციის შესაქმნელად STM32CubeU0 გამოყენებით.

შექმენით პროექტი
ახალი პროექტის შესაქმნელად, დაიწყეთ Templates_LL პროექტით, რომელიც მოცემულია თითოეული დაფისთვის \Projects\ \Templates_LL-ში ან ნებისმიერი ხელმისაწვდომი პროექტიდან \Projects\-ში. \მაგample s_LL ( ეხება დაფის სახელს, როგორიცაა NUCLEO-U32RC).
შაბლონის პროექტი უზრუნველყოფს ცარიელ მთავარ მარყუჟის ფუნქციას, რაც კარგი საწყისი წერტილია STM32CubeU0 პროექტის პარამეტრების გასაგებად. შაბლონს აქვს შემდეგი მახასიათებლები:

  • ის შეიცავს LL და CMSIS დრაივერების წყაროს კოდებს, რომლებიც ქმნიან კომპონენტების მინიმალურ კომპლექტს, რომელიც საჭიროა მოცემულ დაფაზე კოდის შესაქმნელად.
  • ის შეიცავს ბილიკებს ყველა საჭირო firmware კომპონენტისთვის.
  • ის ირჩევს მხარდაჭერილ STM32U0 სერიის მოწყობილობას და იძლევა CMSIS და LL დრაივერების სწორი კონფიგურაციის საშუალებას.
  • ის უზრუნველყოფს მზა მომხმარებლის გამოყენებას files, რომლებიც წინასწარ არის კონფიგურირებული შემდეგნაირად:
    • main.h: LED და USER_BUTTON განმარტების აბსტრაქციის შრე.
    • main.c: სისტემის საათის კონფიგურაცია მაქსიმალური სიხშირისთვის.

გადაიტანეთ არსებული პროექტი სხვა დაფაზე

  • დაიწყეთ Templates_LL პროექტით, რომელიც მოცემულია თითოეული დაფისთვის, ხელმისაწვდომია \Projects\ \ Templates_LL საქაღალდე.
  • აირჩიეთ LL exampლე.

შენიშვნა: იპოვონ დაფა, რომელზეც LL examples არიან განლაგებული, იხილეთ სია LL examples STM32CubePro jectsList.html-ში.

პორტი LL example

  • დააკოპირეთ/ჩასვით Templates_LL საქაღალდე საწყისი წყაროს შესანარჩუნებლად, ან პირდაპირ განაახლეთ არსებული Templat es_LL პროექტი.
  • შეცვალეთ Templates_LL fileს ყოფილთანamples_LL მიზნობრივი პროექტი files.
  • შეინახეთ დაფის სპეციფიკური ნაწილები. სიცხადისთვის, დაფის სპეციფიკური ნაწილები მონიშნულია შემდეგი სპეციფიკით tags:

STMicroelectronics-STM32U0-Series-Original-Initiative-Improve-Designer-Productivity-fig-5

პორტირების ძირითადი ნაბიჯები შემდეგია:

  • შეცვალეთ stm32u0xx_it.h file.
  • შეცვალეთ stm32u0xx_it.c file.
  • შეცვალეთ მთავარი.თ file და განაახლეთ იგი. შეინახეთ LED და მომხმარებლის ღილაკის განმარტება LL შაბლონიდან „დაფაზე სპეციფიკური კონფიგურაციის“ ქვეშ. tags.
  • შეცვალეთ მთავარი.გ file და განაახლეთ:
    • შეინახეთ SystemClock_Config() LL შაბლონის ფუნქციის საათის კონფიგურაცია ქვეშ
      „დაფაზე სპეციფიური კონფიგურაცია“ tags.
    • LED-ის განსაზღვრებიდან გამომდინარე, შეცვალეთ თითოეული LEDx-ის შემთხვევა სხვა LED-ით, რომელიც ხელმისაწვდომია main.h file.
      ამ ცვლილებებით, ყოფილიampახლა მას შეუძლია გაშვება მიზანმიმართულ დაფაზე.

STM32CubeU0 გამოშვების განახლებების მიღება
STM32CubeU0 MCU პაკეტს გააჩნია განახლების პროგრამა, STM32CubeUpdater, რომელიც ასევე ხელმისაწვდომია მენიუს სახით STM32CubeMX კოდის გენერირების ხელსაწყოში.
განახლების გადაწყვეტა აღმოაჩენს ახალი პროგრამული უზრუნველყოფის გამოშვებებს და პატჩებს, რომლებიც ხელმისაწვდომია და სთავაზობს მათ ჩამოტვირთოთ მომხმარებლის კომპიუტერში.
STM32CubeUpdater პროგრამის ინსტალაცია და გაშვება
მიჰყევით ქვემოთ მოცემულ ნაბიჯებს STM32CubeUpdater-ის ინსტალაციისა და გასაშვებად.

  1. ორჯერ დააწკაპუნეთ SetupSTM32CubeUpdater.exe-ზე file ინსტალაციის დასაწყებად.
  2. მიიღეთ ლიცენზიის პირობები და მიჰყევით ინსტალაციის სხვადასხვა ნაბიჯებს.
  3. წარმატებული ინსტალაციის შემდეგ, STM32CubeUpdater ხელმისაწვდომი ხდება როგორც STMicroelectronics პროგრამა პროგრამაში Files საქაღალდეში და ავტომატურად იხსნება. STM32CubeUpdater ხატულა გამოჩნდება სისტემის უჯრაში.
  4. დააწკაპუნეთ მაუსის მარჯვენა ღილაკით განახლების ხატულაზე და აირჩიეთ [Updater Settings] განახლების კავშირის კონფიგურაციისთვის და ხელით თუ ავტომატური შემოწმების შესასრულებლად.

განახლების კონფიგურაციის შესახებ დამატებითი ინფორმაციისთვის იხილეთ STM3CubeMX მომხმარებლის სახელმძღვანელოს მე-32 ნაწილი STM32 კონფიგურაციისა და ინიციალიზაციის C კოდის გენერირებისთვის (UM1718).

FAQ

რა არის ლიცენზიის სქემა STM32CubeU0 MCU პაკეტისთვის?

HAL ნაწილდება არაშეზღუდული BSD (ბერკლის პროგრამული უზრუნველყოფის განაწილების) ლიცენზიით. STMicroelectronics-ის (USB Device ბიბლიოთეკები, STM32_TouchSensing) მიერ შექმნილ შუალედურ პროგრამებს მოყვება ლიცენზირების მოდელი, რომელიც ადვილად ხელახლა გამოყენების საშუალებას იძლევა, იმ პირობით, რომ ის მუშაობს STMicroelectronics მოწყობილობაზე. Middleware კომპონენტებს, რომლებიც დაფუძნებულია ცნობილ ღია წყაროს გადაწყვეტილებებზე (FreeRTOS ™ და FatFS) აქვს მოსახერხებელი ლიცენზიის პირობები. დამატებითი ინფორმაციისთვის იხილეთ შესაბამისი Middleware სალიცენზიო ხელშეკრულება.

რა დაფებს უჭერს მხარს STM32CubeU0 MCU პაკეტი?

STM32CubeU0 MCU Package უზრუნველყოფს BSP დრაივერებს და მზა გამოსაყენებელ მაგamples შემდეგი STM32CubeU0 სერიის დაფებისთვის: • NUCLEO-U031R8 • NUCLEO-U083RC • STM32U083C-DK

არიან რომელიმე ყოფილიampუზრუნველყოფილი ხართ გამოსაყენებლად მზა ხელსაწყოების პროექტებით?

დიახ. STM32CubeU0 გთავაზობთ მდიდარ კომპლექტს ყოფილიamples და აპლიკაციები. მათ მოყვება წინასწარ კონფიგურირებული პროექტები IAR Embedded Workbench®, Keil® და STM32CubeIDE-სთვის.

არის რაიმე ბმული სტანდარტულ პერიფერიულ ბიბლიოთეკებთან?

STM32CubeU0 HAL და LL დრაივერები არის სტანდარტული პერიფერიული ბიბლიოთეკის ჩანაცვლება: • HAL დრაივერები გვთავაზობენ აბსტრაქციის უფრო მაღალ დონეს სტანდარტულ პერიფერიულ API-ებთან შედარებით. ისინი ყურადღებას ამახვილებენ იმ ფუნქციებზე, რომლებიც საერთოა პერიფერიული მოწყობილობებისთვის და არა აპარატურისთვის. მომხმარებლისთვის მოსახერხებელი API-ების ნაკრები იძლევა აბსტრაქციის უფრო მაღალ დონეს, რაც მათ ადვილად გადასატანად ხდის ერთი პროდუქტიდან მეორეზე. • LL დრაივერები გვთავაზობენ დაბალი ფენის რეგისტრის დონის API-ებს. ისინი ორგანიზებულია უფრო მარტივი და მკაფიო გზით, რათა თავიდან აიცილონ პირდაპირი რეესტრში წვდომა. LL დრაივერები ასევე შეიცავს პერიფერიული ინიციალიზაციის API-ებს, რომლებიც უფრო ოპტიმიზირებულია SPL-ის შეთავაზებასთან შედარებით, თუმცა ფუნქციურად მსგავსია. HAL დრაივერებთან შედარებით, ეს LL ინიციალიზაციის API-ები იძლევა პირდაპირ მიგრაციას SPL-დან STM32CubeU0 LL დრაივერებზე, ვინაიდან თითოეულ SPL API-ს აქვს თავისი ექვივალენტი LL API.

იღებს თუ არა HAL ფენა advantagშეფერხებების e თუ DMA? როგორ შეიძლება ამის კონტროლი?

დიახ. HAL ფენა მხარს უჭერს API პროგრამირების სამ მოდელს: polling, interrupt და DMA (შეწყვეტის გენერირებით ან მის გარეშე).

როგორ იმართება პროდუქტის/პერიფერიული მოწყობილობის სპეციფიკური მახასიათებლები?

HAL დრაივერები გვთავაზობენ გაფართოებულ API-ებს, რომლებიც არის სპეციფიკური ფუნქციები, რომლებიც მოწოდებულია როგორც დანამატები საერთო API-სთვის, რათა მხარი დაუჭიროს მხოლოდ ზოგიერთ პროდუქტს/ხაზს ხელმისაწვდომი ფუნქციებს.

როგორ შეიძლება STM32CubeMX კოდის გენერირება ჩაშენებული პროგრამული უზრუნველყოფის საფუძველზე?

STM32CubeMX-ს აქვს ჩაშენებული ცოდნა STM32 მიკროკონტროლერების, მათ შორის მათი პერიფერიული მოწყობილობებისა და პროგრამული უზრუნველყოფის შესახებ. ის უზრუნველყოფს მომხმარებლის გრაფიკულ წარმოდგენას და შეუძლია შექმნას *.h და *.c files მომხმარებლის კონფიგურაციით.

როგორ მივიღოთ რეგულარული განახლებები STM32CubeU0 MCU პაკეტის უახლეს გამოშვებებზე?

STM32CubeU0 MCU პაკეტს გააჩნია განახლების პროგრამა, STM32CubeUpdater, რომლის კონფიგურაცია შესაძლებელია ავტომატური ან მოთხოვნით შემოწმებისთვის ახალი პროგრამული უზრუნველყოფის პაკეტის განახლებისთვის (ახალი გამოშვებები და პატჩები). STM32CubeUpdater ინტეგრირებულია STM32CubeMX ინსტრუმენტში. ამ ხელსაწყოს STM32U0 კონფიგურაციისა და C კოდის ინიციალიზაციისთვის გამოყენებისას მომხმარებელი სარგებლობს STM32CubeU0 ავტომატური განახლებებით, ასევე STM32CubeU0 MCU პაკეტის განახლებებით. დამატებითი ინფორმაციისთვის იხილეთ განყოფილება 5.3: STM32CubeU0 გამოშვების განახლებების მიღება.

როდის გამოვიყენოთ HAL vsus LL დრაივერები?

HAL დრაივერები გვთავაზობენ მაღალი დონის და ფუნქციაზე ორიენტირებულ API-ებს, პორტაბელურობის მაღალი დონით. პროდუქტის/IP სირთულე დამალულია საბოლოო მომხმარებლებისგან. LL დრაივერები გვთავაზობენ დაბალი ფენის რეგისტრის დონის API-ებს, უკეთესი ოპტიმიზაციით, მაგრამ ნაკლებად პორტატული. ისინი საჭიროებენ პროდუქტის/IP სპეციფიკაციების სიღრმისეულ ცოდნას.

როგორ ჩავრთოთ LL დრაივერები არსებულ გარემოში? არის თუ არა LL კონფიგურაცია file, მოსწონს HAL-ისთვის?

კონფიგურაცია არ არის file. წყაროს კოდი პირდაპირ უნდა შეიცავდეს საჭირო stm32u0xx_ll_ppp.h file(ს).

შესაძლებელია თუ არა HAL და LL დრაივერების ერთად გამოყენება? თუ ასეა, რა არის შეზღუდვები?

შესაძლებელია როგორც HAL, ასევე LL დრაივერების გამოყენება. გამოიყენეთ HAL დრაივერები IP ინიციალიზაციის ფაზაში და მართეთ I/O ოპერაციები LL დრაივერებით. HAL-სა და LL-ს შორის მთავარი განსხვავება ისაა, რომ HAL დრაივერები საჭიროებენ სახელურების შექმნას და გამოყენებას ოპერაციის მართვისთვის, ხოლო LL დრაივერები მოქმედებენ უშუალოდ პერიფერიულ რეგისტრებზე. HAL-ისა და LL-ის შერევა ილუსტრირებულია მაგamples_MIX exampლე.

არის თუ არა რაიმე LL API, რომელიც მიუწვდომელია HAL-ით?

დიახ, არიან. რამდენიმე Cortex® API დაემატა stm32u0xx_ll_cortex.h-ში, მაგალითად, SCB ან SysTick რეგისტრებზე წვდომისთვის.

რატომ არ არის ჩართული SysTick შეფერხებები LL დრაივერებზე?

LL დრაივერების დამოუკიდებელ რეჟიმში გამოყენებისას არ არის საჭირო SysTick შეფერხებების ჩართვა, რადგან ისინი არ გამოიყენება LL API-ებში, ხოლო HAL ფუნქციები მოითხოვს SysTick შეფერხებებს დროის ამოწურვის სამართავად.

როგორ არის ჩართული LL ინიციალიზაციის API-ები?

LL ინიციალიზაციის API-ების და მასთან დაკავშირებული რესურსების (სტრუქტურები, ლიტერალები და პროტოტიპები) განმარტება განპირობებულია SE_FULL_LL_DRIVER კომპილაციის გადამრთველით. LL ინიციალიზაციის API-ების გამოსაყენებლად, დაამატეთ ეს გადამრთველი Toolchain-ის შემდგენელ წინასწარ პროცესორს.

გადასინჯვის ისტორია

ცხრილი 4. დოკუმენტის გადასინჯვის ისტორია

თარიღი რევიზია ცვლილებები
31-იან-2024 1 თავდაპირველი გამოშვება.

მნიშვნელოვანი შენიშვნა - წაიკითხეთ ყურადღებით
STMicroelectronics NV და მისი შვილობილი კომპანიები ("ST") იტოვებენ უფლებას ნებისმიერ დროს განახორციელონ ცვლილებები, შესწორებები, გაუმჯობესებები, მოდიფიკაციები და გაუმჯობესებები ST პროდუქტებში და/ან ამ დოკუმენტში შეტყობინების გარეშე. მყიდველებმა უნდა მიიღონ უახლესი შესაბამისი ინფორმაცია ST პროდუქტების შესახებ შეკვეთების განთავსებამდე. ST-ის პროდუქტები იყიდება ST-ის გაყიდვის პირობებისა და პირობების შესაბამისად, რომლებიც შეკვეთის დადასტურების მომენტში არსებობს.
მყიდველები არიან მხოლოდ პასუხისმგებელი ST პროდუქტების არჩევანზე, შერჩევასა და გამოყენებაზე და ST არ იღებს პასუხისმგებლობას განაცხადის დახმარებაზე ან მყიდველების პროდუქტების დიზაინზე.
არავითარი ლიცენზია, გამოხატული თუ ნაგულისხმევი, რაიმე ინტელექტუალური საკუთრების უფლებაზე არ არის გაცემული ST-ის მიერ აქ.
ST პროდუქტების ხელახალი გაყიდვა წინამდებარე ინფორმაციისგან განსხვავებული დებულებებით გააუქმებს ST-ის მიერ ასეთ პროდუქტზე გაცემულ ნებისმიერ გარანტიას.
ST და ST ლოგო ST-ის სავაჭრო ნიშნებია. დამატებითი ინფორმაციისთვის ST სავაჭრო ნიშნების შესახებ იხილეთ www.st.com/trademarks. ყველა სხვა პროდუქტის ან სერვისის სახელი მათი შესაბამისი მფლობელების საკუთრებაა.
ამ დოკუმენტის ინფორმაცია ანაცვლებს და ცვლის ადრე მოწოდებულ ინფორმაციას ამ დოკუმენტის ნებისმიერ წინა ვერსიაში.
© 2024 STMicroelectronics – ყველა უფლება დაცულია

დოკუმენტები / რესურსები

STMicroelectronics STM32U0 Series Original Initiative Improve Designer Productivity [pdf] მომხმარებლის სახელმძღვანელო
STM32U0 Series Original Initiative Improve Designer Productivity, Original Initiative Improve Designer Productivity, Improve Designer Productivity, Improve Designer Productivity

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *