您尚未登录。

楼主 #1 2020-05-09 20:41:32

缥缈九哥
会员
注册时间: 2020-05-09
已发帖子: 76
积分: 92

9G-S12 CWS12开发过程简介--缥缈九哥

9G-S12 CWS12开发过程简介

一,准备CWS12+LICENSE+OSBDM 软件包

1,在http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CW-HCS12X&fpsp=1&tab=Design_Tools_Tab
    上注册下载Eval tion: CodeWarrior Development Studio for Freescale HCS12(X) Microcontrollers V5.0 软件
CW_S12_v5.0_Eval.exe
(自行安装到默认C盘)
   
2,在www.mcu123.net/bbs/   上下载uFztvdTV.rar 文件包
    解压后得到文件license.dat
(把license.dat文件解压放在C:\Program Files\Freescale\CodeWarrior for S12(X) V5.0目录)

3,在http://shop36265907.taobao.com/上联系购买
BDM XS128 USBDM V1.3 8/16/32位 通用下载器及驱动程序
如需要自己制作请查看:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1312798&bbs_page_no=1&bbs_id=2070
网址。

           
二,建立9S12_ook工程
1,在启动菜单中打开CodeWarrior IDE,在Startup向导框中选择“Create New Project”向导,点开“HCS12X”下面的“HCS12XS Family”
下面的“MC9S12XS128”器件,点击“下一步”;
2,选择开发语言“C”,项目名称用“ook.mcp”项目路径用“D:\works\9S12_ook-1.0\ook”,再占点击“下一步”;添加源码,再点击“下一步”
初始化代码产生意见用“None”,点击“下一步”;启动代码,内存模式,浮点格式,都用默认,再点击“下一步”;
3,FLASH,RAM的页面影射用默认,点击“下一步”,PC-LINT代码管理意见用“None”,点击“完成”建立项目工程。

三,修改9S12_ook工程
1,打开IDE左面“Files”中“Sources”中的“main.c”文件,把该文件修改如下:
  #include <hidef.h>      /* common defines and macros */
  #include "derivative.h"      /* derivative-specific definitions */
  #include <stdio.h>
 
  extern void SCI_Init(void);
 
  void PLL_init(void)
  {
      CLKSEL=0X00;     // disengage PLL to system
      PLLCTL_PLLON=1;  // turn on PLL
      SYNR=0x00 | 0x01;  // VCOFRQ[7:6];SYNDIV[5:0]
     
      REFDV=0x80 | 0x01;  // REFFRQ[7:6];REFDIV[5:0]
      POSTDIV=0x00;       // 4:0, fPLL= fVCO/(2xPOSTDIV)
     
      _asm(nop);          // BUS CLOCK=16M
      _asm(nop);
      while(!(CRGFLG_LOCK==1));   //when pll is steady ,then use it;
      CLKSEL_PLLSEL =1;         //engage PLL to system;
  }
  void delay_ms(int nms)
  {
   int i,j;
   for(i=0;i<nms;i++)
      { for(j=0;j<2770;j++){;}}   //32MHz--1ms
  }
  void main(void) {
   int i=0;
    /* put your own code here */
      PLL_init();
      SCI_Init();
   EnableInterrupts;
   printf("\n\r\n\r\n\r9S12ook Version 1.0-xs128 (y nxih h@21cn.com) Build on %s %s\n\r\n\r",__DATE__,__TIME__);
     for(;;)
     {
          printf("\n\r9S12ook-1.0 run times = %d ...",i++);
    delay_ms(1000);
    _FEED_COP(); /* feeds the dog */
   } /* loop forever */
    /* please make sure that you never leave main */
  }
2,在D:\works\9S12_ook-1.0\ook中建立“Drivers”文件夹,及“ rt.c”文件:
  #include <hidef.h>      /* common defines and macros */
  #include "derivative.h"      /* derivative-specific definitions */
  #include <stdio.h>
 
  void SCI_Init(void)
  {
      SCI0CR2=0x2c; //enable Receive Full Interrupt,RX enable,Tx enable
      SCI0BDH=0x00; //SCI0BDL=busclk/(16*SCI0BDL)
      SCI0BDL=0x68; //busclk  8MHz, 9600bps,SCI0BDL=0x68
  }
 
  void TERMIO_PutChar(unsigned char ch)
  {
   while(!(SCI0SR1&0x80)) ;  //keep waiting when not empty
   SCI0DRL=ch;
  }
 
  unsigned char TERMIO_GetChar(void)
  {
     while(!(SCI0SR1&0x80)) ;  //keep waiting when not empty
     return SCI0DRL;
  }

3,在IDE左面“Files”点击右键,选择“Create Group”在向导中填入“Drivers”,点击“OK”,
在IDE左面“Files”下面的“Drivers”上右击选择“Add Files”,打开“D:\works\9S12_ook-1.0\ook\Drivers\ rt.c”;

四,调试9S12_ook工程

1,在菜单中选择“Project”->“Make”编译工程生成目标码;
2,把USBDM 下载器连接上开发板及USB接口,安装下载器自带的TBDML驱动;
3,在IDE工程左面的仿真类型中选择用“TBDML”然后在菜单中选择“Project”->“Debug”调试工程;
4,跳出几个框都确认后就能把目标码下载到CPU中,然后可以在实时仿真界面做单步,全速等操作。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn