PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش پروگرام کردن STM8 با St-link



tesla940
11-07-2017, 18:07
levinic
You can see links before reply (You can see links before reply)

در جلسه ی گذشته مهندس علیزاده زحمت کشیدن و توضیحاتی درباره ی رجسیتر ها در STM8 دادن و به زودی مطلبی هم برای کلاک ها در ادامه ی آموزش STM8 برای عزیزان در سایت قرار میگیره.

اما این جلسه قراره توضیحاتی در زمینه ی آموزش پروگرام کردن STM8 بدم.
در توضیحات جلسات گذشته گفته شد برای پروگرام کردن این آی سی فقط نیاز به یک پین SWIM هست و راحت میشه با استفاده از یک پین میکروکنترلر رو پروگرام کرد!
تفاوتی نداره شما از پروگرامر های st-link mini یا St-link v2 استفاده کنید چون هر دو از آی سی های STM8 پشتیبانی میکنن.

آموزش پروگرام کردن STM8S003F3P6


You can see links before reply (You can see links before reply)

ما در اینجا از یک هدربرد stm8 استفاده کردیم که دارای میکروکنترلر STM8S003F3P6 هست. دلیل استفاده از این میکرو هم کاربرد زیادش در صنعت و مطالب آموزشی در سراسر دنیاس و این که داخل ایران به راحتی پیدا میشه و همچنین قیمت خیلی پایینی داره.

نحوه اتصال میکروکنترلر STM8 به پروگرامر St-link

در تصویر بالا مشاهده میکنید که روی پروگرامر 4 پایه وجود داره که ترتیب اون ها از راست به چپ VCC و SWIM و Gnd و RST هست که برای ارتباط و پروگرام کردن میکروکنترلر های 8 بیتی Stm قرار داده شده. فقط باید به این نکته توجه کنید که این پروگرامر پایه VCC رو فقط برای سنس کردن روی خودش داره و ولتاژ تغذیه ی میکروکنترلر باید به وسیله منبع تغذیه به میکرو وصل بشه(اگر از همین هدر برد استفاده کنید میبینید که هدر برد سوکت داره و من هم با کابل تغذیه رو بهش دادم )
ما این کار رو روی هدر برد انجام دادیم ، اما اگر از میکروکنترلر دیگه ای استفاده میکنید کافیه طبق دیتاشیت میکروی خودتون، این 4 پایه ی پروگرامر رو به میکروی خودتون وصل کنید.

خب ما یک نمونه کد رو فعلا برای پروگرام کردن بر روی این میکروکنترلر در نظر میگیریم:



#include <iostm8s003f3.h>
void delay_ms(unsigned long int n)
{
unsigned long int x=0;
unsigned long fCPU=2000000; // HSI RC =16 MHz ----- HSIDIV=8 ------CPUDIV=1 fCPU=16 / 8 / 1 Mhz
x=fCPU/1000;
x=x/50;
n=n*x;
while (n-- > 0);
}
//main entry point
int main( void )
{
CLK_ICKR=1; // High-speed internal RC on = 16 Mhz
CLK_CKDIVR = 24; //fHSI RC output/8 & fCPU=fMASTER/1
PD_ODR = 0; //Turn off all pins
PD_DDR_DDR3 = 1; //PortD, Bit 3 is output (PD3 - Data Direction Register)
PD_CR1_C13 = 1; //PortD, Control Register 1, Bit 3 (PD3) set to Push-Pull
PD_CR2_C23 = 1; //PortD, Control Register 2, Bit 3 (PD3) set to Push-Pull
while (1)
{
PD_ODR_bit.ODR3 = !PD_ODR_bit.ODR3;
delay_ms(1000);
}
}







بر روی هدر برد پایه ی 3 پورت D یک LED وجود داره ، که توسط این کد قراره هر یک ثانیه چشمک بزنه.
این کد رو در نرم افزار IAR باز میکنیم و طبق توضیحاتی که در جلسه ی معرفی مقدماتی نرم افزار IAR + ایجاد پروژه (You can see links before reply) داده شده تنظیمات رو انجام میدیم و build all میکنیم تا خروجی فایل HEX رو نرم افزار IAR بهمون بده.
خروجی فایل در محلی که کد رو سیو کردین در پوشه ای به اسم Exe قرار داره که در ادامه باهاش کار داریم!
آموزش پروگرام کردن STM8 با نرم افزار stvp

برای پروگرام کردن میکرو ما از نرم افزار stvp استفاده میکنیم که توسط خود شرکت st برای این کار طراحی و ایجاد شده و میتونین از خود وبسایت St هم اون رو دانلود کنید:

download stvp software (You can see links before reply)
این نرم افزار رایگانه!
و همچنین برای شناسایی پروگرامرتون توسط کامپیوتر نیاز به درایور دارین که اون رو هم از لینک زیر میتونین دریافت کنین( این درایور با ویندوز های Windows7, Windows8, Windows10 سازگاری داره و همه ی پروگرامر های St-link رو هم ساپورت میکنه)

st-link Driver (You can see links before reply)
خب الان هم فایل HEX رو در اختیار داریم و هم میکروکنترلر رو به st-link وصل کردیم و هم نرم افزار Stvp رو نصب کردیم!
نرم افزار stvp رو باز میکنیم وفایل Exe ای رو که توسط نرم افزار IAR تولید شده رو از طریق منوی file>open به نرم افزار معرفی میکنیم.
بعد از معرفی فایل hex ، از منوی بالا و گزینه ی Configure باید میکروکنترلر خودمون رو هم پیدا کنیم و اون رو مشخص کنیم:
You can see links before reply (You can see links before reply)
بعد از ok کردن و معرفی مدل میکروکنترلر ،میبینید که در نوار کناری سمت چپ مشخصات و توضیحاتی داده شده مثل بخش configuration که برای من اطلاعات زیر رو داره :

CONFIGURATION
Hardware: ST-LINK
Programming mode: SWIM
Device name: STM8S003F3
Port: USB

بعد از معرفی میکروکنترلر و برای پروگرام کردن فایل هگز کافیه که کلید programming current tab رو بزنید و در کسری از ثانیه کد معرفی شده به روی میکروکنترلر شما ریخته میشه !

You can see links before reply (You can see links before reply)

موفق باشید :)

منبع : لوینیک - آموزش آردوینو - Stm8 (You can see links before reply)