[开发工具] STM32TrustedPackageCreator这个官方工具怎么使用啊?具体用来干...

[复制链接]
5196|5
 楼主| cornrn 发表于 2017-12-27 09:40 | 显示全部楼层 |阅读模式
STM32TrustedPackageCreator这个官方工具怎么使用啊?具体用来干嘛的啊?

STM32TrustedPackageCreator这个官方工具怎么使用啊?具体用来干嘛的啊?

STM32TrustedPackageCreator这个官方工具怎么使用啊?具体用来干嘛的啊?
 楼主| cornrn 发表于 2017-12-27 09:42 | 显示全部楼层
是在安装 STM32CUBE PROGRAMMER 时候附带安装的。下面这个CUBE PROGRAMMER 还是挺好的可以JTAG SWD USB 串口 据说以后I2C CAN 什么都可以下载固件真的吗?

QQ截图20171227093857.png
 楼主| cornrn 发表于 2017-12-28 10:07 | 显示全部楼层
No one knows ?
香水城 发表于 2017-12-28 10:33 | 显示全部楼层
这个工具才出来,那个STM32TrustedPackageCreator是用来配置代码加密应用的工具。
你安装后有附加的用户手册你可以看看。

这个软件工具把之前的几个分散软件工具合在一起了,通过STLINK/uart/usb接口编程都可以用它。

评论

是的,我就是没看到STM32TrustedPackageCreator HELP里面有什么手册看的,没找到,具体还请香版主贴出来吧,好多人还不知道这工具,那个工具真不错,大...  发表于 2017-12-28 10:46
 楼主| cornrn 发表于 2017-12-29 11:23 | 显示全部楼层
本帖最后由 cornrn 于 2017-12-29 11:24 编辑

TFT4137液晶模块 驱动芯片为S6D0139 (片内172800字节GRAM,即240*320*18/8),
  1. /****************************************************************************************
  2. * 文件名:LCDDRIVE.H
  3. * 功能:TFT4137液晶模块驱

动。(头文件)
*       驱动芯片为S6D0139 (片内172800字节GRAM,即240*320*18/8),
*
*  8位接口总线
*         
*  操作说明(写IR + CR/WDR [ + WDR...] ):
*  R/W            RS             操作
*  0              0              写IR(索引,即选择CR)
*  1              0              读芯片状态
*  0              1              写命令(CR)/数据(WDR)
*  1              1              读数据(RDR)
****************************************************************************************/
#ifndef  __LCDDRIVE_H_
#define  __LCDDRIVE_H_

#include "app.h"

// 定义颜色数据类型(可以是数据结构)
#define  TCOLOR                                uint16_t
   
// 定义LCM像素数宏                 
#define  LCM_XMAX                240        /* 定义液晶x轴的点数 */
#define  LCM_YMAX                320                /* 定义液晶y轴的点数 */

// 设置颜色宏定义
#define   BLACK                0x0000      /* 黑色:    0,   0,   0 */
#define   NAVY                0x000F      /* 深蓝色:  0,   0, 128 */
#define   DGREEN        0x03E0                        /* 深绿色:  0, 128,   0 */
#define   DCYAN                0x03EF                        /* 深青色:  0, 128, 128 */
#define   MAROON        0x7800                        /* 深红色:128,   0,   0 */
#define   PURPLE        0x780F                        /* 紫色:  128,   0, 128 */
#define   OLIVE                0x7BE0             /* 橄榄绿:128, 128,   0 */
#define   LGRAY                0xC618            /* 灰白色:192, 192, 192 */
#define   DGRAY                0x7BEF                        /* 深灰色:128, 128, 128 */
#define   BLUE                0x001F                        /* 蓝色:    0,   0, 255 */
#define   GREEN                0x07E0                        /* 绿色:    0, 255,   0 */
#define   CYAN          0x07FF                         /* 青色:    0, 255, 255 */
#define   RED                        0xF800                        /* 红色:  255,   0,   0 */
#define   MAGENTA        0xF81F                        /* 品红:  255,   0, 255 */
#define   YELLOW        0xFFE0                        /* 黄色:  255, 255, 0   */
#define   WHITE                0xFFFF      /* 白色:  255, 255, 255 */

// 定义清屏色
#define  GUI_CCOLOR         MAROON




// 定义S6D0139的部份寄存器
#define  SET_ADDR_X                            0x0020                /* GRAM地址设置(R21H,R20H) */
#define  SET_ADDR_Y                            0x0021
#define  WR_RD_DATA                            0x0022                /* 写/读GRAM数据 (R22H) */
#define  SET_WINDOW_SX_EX                0x0046                /* window地址设置--x0,x1 (R46H) */
#define  SET_WINDOW_SY            0x0048                /* window地址设置--y0 (R48H) */
#define  SET_WINDOW_EY            0x0047                /* window地址设置--y1 (R47H) */


// 初始化数据结构定义
#define     DATA_END                                0xFF00

// 定义初始化数据的结构
typedef  struct
{  
        uint16_t  com;                                // 命令字
  uint16_t  dat;                                // 数据
  uint16_t  dly;                                // 命令延时控制(如50)
}STCOM_INI;




void  TFTLCD_Init(void);
uint8_t  TFTLCD_SetPixelIndex(uint16_t x, uint16_t y, TCOLOR color);
uint16_t  TFTLCD_GetPixelIndex(uint16_t x, uint16_t y);
void TFTLCD_HLine(uint16_t x0, uint16_t y0, uint16_t x1, TCOLOR color) ;
void  DelaymS(uint32_t no);


#endif
  1. /****************************************************************************************
  2. * 文件名:LCDDRIVE.C
  3. * 功能:TFT4137液晶模块驱动。驱动芯片为S6D0139 (片内172800字节GRAM,即240*320*18/8),
  4. *                                 
  5. *  RGB对应值(16位数据,分First,Second两次传输,Fd7--Fd0,Sd7--Sd0):
  6. *  Fd7--Fd3                          R色
  7. *  Fd2--Fd0,Sd7--Sd5    G色
  8. *  Sd4--Sd0                          B色
  9. *  写操作时地址计数器会自动增长,而读操作则不会自动增长。读操作时,读第2个数
  10. *  据才是有效的数据
  11. ****************************************************************************************/
  12. #include "LCDDriver.h"

  13. #define LCD_CS_PIN  GPIO_PIN_8
  14. #define LCD_WE_PIN  GPIO_PIN_9
  15. #define LCD_A1_PIN  GPIO_PIN_10
  16. #define LCD_OE_PIN  GPIO_PIN_11


  17. /*******************************************************
  18. * 名称: TFTLCD_SendCmd
  19. * 功能: 向TFT液晶模块发送命令字。
  20. * 入口参数: com   命令字(uint16)
  21. * 出口参数: 无
  22. *******************************************************/
  23. void  TFTLCD_SendCmd(uint16_t cmd)
  24. {   
  25.         uint8_t  data;
  26.         GPIOA->MODER |= 0x5555;
  27.         data = (cmd >> 8);
  28.         GPIOA->ODR = (GPIOA->ODR&0xF000)|data|0xA00;
  29.         data = cmd & 0x00FF;
  30.         GPIOA->ODR = (GPIOA->ODR&0xFD00)|data;
  31.         GPIOA->ODR = (GPIOA->ODR|0x0F00);
  32. }


  33. /*******************************************************
  34. * 名称: TFTLCD_SendDat
  35. * 功能: 向TFT液晶模块发送数据。
  36. * 入口参数: dat   待发送的数据(uint16)
  37. * 出口参数: 无
  38. *******************************************************/
  39. void  TFTLCD_SendDat(uint16_t dat)
  40. {  
  41.         uint8_t  data;       
  42.         GPIOA->MODER |= 0x5555;
  43.         data = (dat >> 8);
  44.         GPIOA->ODR = (GPIOA->ODR&0xF000)|data|0xC00;
  45.         GPIOA->BSRR = (uint32_t)LCD_WE_PIN;
  46.         data = dat & 0x00FF;
  47.         GPIOA->ODR = (GPIOA->ODR&0xFD00)|data;
  48.         GPIOA->ODR = (GPIOA->ODR|0x0F00);
  49. }
  50. /*******************************************************
  51. * 名称: TFTLCD_RcvDat
  52. * 功能: 读取TFT液晶模块的数据。
  53. * 入口参数: 无
  54. * 出口参数: 返回值即是读出的数据
  55. *******************************************************/
  56. uint16_t  TFTLCD_RcvDat(void)
  57. {  
  58.         uint16_t  ret, bak;

  59.         GPIOA->MODER &= 0xFFFF0000;
  60.         GPIOA->ODR = (GPIOA->ODR&0xF000)|0x600;
  61.         bak = (GPIOA->IDR&0xFF);
  62.         ret = (bak << 8);
  63.         GPIOA->ODR = (GPIOA->ODR&0xF000)|0x900;
  64.         GPIOA->ODR = (GPIOA->ODR&0xF000)|0x600;
  65.         bak = (GPIOA->IDR&0xFF);
  66.         ret = ret | bak;
  67.         GPIOA->ODR = (GPIOA->ODR|0x0F00);
  68.   return(ret);
  69. }

  70. /*******************************************************
  71. * 名称: TFTLCD_SetAddr
  72. * 功能: 设置数据地址指针(坐标值)。
  73. * 入口参数: x                横坐标的值 (0-239)
  74. *           y   纵坐标的值 (0-319)
  75. * 出口参数: 设置正确返回TRUE,参数超出范围返回FALSE
  76. *******************************************************/
  77. uint8_t  TFTLCD_SetAddr(uint16_t x, uint16_t y)
  78. {  
  79.         TFTLCD_SendCmd(SET_ADDR_X);                // 设置地址低8位
  80.   TFTLCD_SendDat(x);
  81.    
  82.   TFTLCD_SendCmd(SET_ADDR_Y);                // 设置地址高9位
  83.   TFTLCD_SendDat(y);
  84.    
  85.   if((x<240) && (y<320)) return(1);
  86.      else  return(0);
  87. }


  88. /*******************************************************
  89. * 名称: TFTLCD_SetWrite
  90. * 功能: 设置数据地址指针(坐标值),并发送写数据命令。
  91. *       接着不断的写入数据即可,GRAM地址会自动增加。
  92. * 入口参数: x                横坐标的值 (0-239)
  93. *           y   纵坐标的值 (0-319)
  94. * 出口参数: 设置正确返回TRUE,参数超出范围返回FALSE
  95. *******************************************************/
  96. uint8_t  TFTLCD_SetWrite(uint16_t x, uint16_t y)
  97. {  
  98.         uint8_t  ret;

  99.   ret = TFTLCD_SetAddr(x, y);
  100.   TFTLCD_SendCmd(WR_RD_DATA);                // 写数据
  101.   return(ret);
  102. }





  103. /*******************************************************
  104. * 名称: DelaymS
  105. * 功能: 软件延时(1mS,与系统时钟有关)。
  106. * 入口参数: no   延时控制(uint32_t),值越大延时越长
  107. * 出口参数: 无
  108. *******************************************************/
  109. void  DelaymS(uint32_t no)
  110. {  
  111.         uint32_t i;

  112.         for(; no>0; no--)
  113.         {  
  114.                 for(i=0; i<15000; i++);
  115.         }
  116. }




  117. /*******************************************************
  118. * 名称: TFTLCD_Reset
  119. * 功能: 控制TFT液晶模块复位。
  120. * 入口参数: 无
  121. * 出口参数: 无
  122. *******************************************************/
  123. void  TFTLCD_Reset(void)
  124. {      
  125.         HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);
  126.         DelaymS(10);
  127.         HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);
  128.         DelaymS(10);   
  129. }


  130. // 定义TFT_LCD初始化数据信息
  131. STCOM_INI  TFT_LCD_INI[] =
  132. {   
  133.     {0x0000, 0x0001, 10},                // Start Oscillation
  134.     {0x0007, 0x0000,  0},                // Display control1
  135.     {0x0013, 0x0000,  0},                // Power control4 setting
  136.     {0x0011, 0x2604,  0},                // Power control2 setting
  137.     {0x0014, 0x0015,  0},                // Power control5 setting
  138.     {0x0010, 0x3C00,  0},         // Power control1 setting
  139.     {0x0013, 0x0040, 10},                // Power control4 setting
  140.     {0x0013, 0x0060, 50},                // Power control4 setting
  141.     {0x0013, 0x0070, 40},                // Power control4 setting
  142.    
  143.     {0x0001, 0x0127,  0},         // Driver output setting (240x320 mode, GS=0, SS=1)
  144.     {0x0002, 0x0700,  0},         // LCD driving waveform setting
  145.     {0x0003, 0x1030,  0},         // Entry mode setting (TRI=0, DFM=0, BGR=1, ID1:ID0 =11, AM = 0)
  146.     {0x0007, 0x0000,  0},         // Display control1
  147.     {0x0008, 0x0404,  0},         // Display control2
  148.     {0x000B, 0x0200,  0},                // Frame cycle setting
  149.     {0x000C, 0x0000,  0},                // External display interface setting
  150.     {0x00015,0x0000,  0},          
  151.   
  152.     {0x0030, 0x0000,  0},   // Gamma control1
  153.     {0x0031, 0x0606,  0},   // Gamma control2
  154.     {0x0032, 0x0006,  0},   // Gamma control3
  155.     {0x0033, 0x0403,  0},   // Gamma control4
  156.     {0x0034, 0x0107,  0},   // Gamma control5
  157.     {0x0035, 0x0101,  0},   // Gamma control6
  158.     {0x0036, 0x0707,  0},   // Gamma control7
  159.     {0x0037, 0x0304,  0},   // Gamma control8
  160.     {0x0038, 0x0A00,  0},   // Gamma control9
  161.     {0x0039, 0x0706,  0},   // Gamma control10
  162.    
  163.     {0x0040, 0x0000,  0},   // Gate scan position (start G1 scan)
  164.     {0x0041, 0x0000,  0},   // Vertical scroll setting
  165.     {0x0042, 0x013F,  0},   // Screen end position (320-1)
  166.     {0x0043, 0x0000,  0},   // Screen start position (0)
  167.     {0x0044, 0x0000,  0},   // 2th Screen end position
  168.     {0x0045, 0x0000,  0},   // 2th Screen start position
  169.     {0x0046, 0xEF00,  0},   // window addr set for x0,x1 (0, 239)
  170.     {0x0047, 0x013F,  0},   // window addr set for y0(319)
  171.     {0x0048, 0x0000,  0},   // window addr set for y1(0)
  172.     {0x0007, 0x0011, 40},   // Display control1
  173.     {0x0007, 0x0017,  0},   // Display control1

  174.     {DATA_END,    0,  0}
  175. };



  176. /*******************************************************
  177. * 名称: TFTLCD_Init()
  178. * 功能: 初始化TFT液晶模块。
  179. * 入口参数: 无
  180. * 出口参数: 无
  181. *******************************************************/
  182. void  TFTLCD_Init(void)  
  183. {  
  184.         int  i;
  185.         STCOM_INI  init_dat;
  186.         GPIO_InitTypeDef   GPIO_InitStructure;
  187.        
  188.         __HAL_RCC_GPIOA_CLK_ENABLE();
  189.   GPIO_InitStructure.Mode         = GPIO_MODE_OUTPUT_PP;
  190.   GPIO_InitStructure.Pull         = GPIO_NOPULL;
  191.         GPIO_InitStructure.Speed  = GPIO_SPEED_HIGH;
  192.         GPIO_InitStructure.Pin          = 0xFF|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_15;
  193.   HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
  194.         HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET);
  195.        
  196.         TFTLCD_Reset();
  197.         for(i=0; i<100; i++)               
  198.         {   
  199.                 init_dat = TFT_LCD_INI[i];
  200.                 if(init_dat.com==DATA_END) break;
  201.                 TFTLCD_SendCmd(init_dat.com);
  202.                 TFTLCD_SendDat(init_dat.dat);            
  203.                 DelaymS(init_dat.dly);      
  204.         }
  205. }

  206. /****************************************************************************
  207. * 名称:TFTLCD_SetPixelIndex()
  208. * 功能:在指定位置上画点。
  209. * 入口参数:x                指定点所在列的位置
  210. *           y                指定点所在行的位置
  211. *           color        显示颜色
  212. * 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
  213. ****************************************************************************/
  214. uint8_t  TFTLCD_SetPixelIndex(uint16_t x, uint16_t y, TCOLOR color)
  215. {  
  216.         /* 参数过滤 */
  217. if(x>=LCM_XMAX) return(0);
  218. if(y>=LCM_YMAX) return(0);

  219. /* 刷新显示 */
  220. TFTLCD_SetWrite(x, y);
  221. TFTLCD_SendDat(color);

  222. return(1);
  223. }


  224. /****************************************************************************
  225. * 名称:TFTLCD_GetPixelIndex()
  226. * 功能:读取指定位置点的颜色数据。
  227. * 入口参数:x                指定点所在列的位置
  228. *           y                指定点所在行的位置
  229. * 出口参数:返回值即是读出值(RRRRRGGGGGGBBBBB)。
  230. ****************************************************************************/
  231. uint16_t  TFTLCD_GetPixelIndex(uint16_t x, uint16_t y)
  232. {  
  233.         uint16_t  bak;
  234.         /* 读取数据 */
  235.         TFTLCD_SetAddr(x, y);                // 设置地址
  236.         TFTLCD_SendCmd(WR_RD_DATA);
  237.         bak = TFTLCD_RcvDat();
  238.         bak = TFTLCD_RcvDat();      
  239.         return bak;
  240. }


















QQ截图20171229111850.png

TFT4137_SCH.pdf

42.91 KB, 下载次数: 3

SmartARM2200_SCH.pdf

158.2 KB, 下载次数: 2

ISP1161_SCH.pdf

46.03 KB, 下载次数: 1

您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

897

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部