huchunlei 发表于 2016-6-16 11:21:09

【分享】Micrium uC/Probe 4.0.16.10

uC/Probe 4.0.16.10
具体的详细信息我就不介绍了, 以前帖子里面介绍过。

以前的帖子:
    1)uC/Probe 4.0.16.4:http://www.amobbs.com/thread-5647708-1-1.html
    2)uC/Probe 4.0.16.1:http://www.amobbs.com/thread-5647390-1-1.html
    3)uC/Probe 3.6.15.700:http://www.amobbs.com/thread-5636836-1-1.html

1、uC/Probe 4.0.16.10 安装程序
   
   
   
   
   
   
   

2、和谐文件
   
   
   
    和谐方法:
    1)安装软件
    2)将下载的和谐文件解压后,覆盖安装目录下的同名文件。


最后说明一下:
    1)和谐软件仅限大家学习和研究使用,如果商用请购买正版软件,因此产生的版权纠纷与本人无关。
    2)为了后续大家能继续“研究和学习”新版软件,请大家低调使用,勿大范围扩散,更谢绝转至其他论坛,否则后面新版本和谐不了了大家都没得玩了。

hwh1328 发表于 2016-6-18 09:21:15

谢谢分享!

li99932li 发表于 2016-6-18 10:08:40

谢谢分享

zhanyanqiang 发表于 2016-6-18 10:50:13

谢谢啦,非常好

xhcyfc 发表于 2016-6-18 18:08:31

多谢分享,收藏了

powerlabor001 发表于 2016-6-18 18:18:40

多写分享,非常有用。

20061002838 发表于 2016-6-19 00:03:45

LZ好人啊,高手

zhujie123 发表于 2016-6-19 09:25:21

谢谢分享。。。。。

zlogon 发表于 2016-6-20 12:57:42

楼主!上一版的V8闪退问题这版已经修复了,已经测试完毕,变量在图表上已经显示出来啦!!

zlogon 发表于 2016-6-20 13:01:53

问下楼主,你的ucos-ii内核能在awareness界面上显示吗?我的ucos-ii显示不出来。。。看手册说需要将几个函数添进去,但是找不到宏定义和函数体,楼主你知道吗?
再多说一句:楼主造福大众啊!感激不尽

zlogon 发表于 2016-6-20 15:02:06

深情呼唤楼主中。。。

huchunlei 发表于 2016-6-21 00:18:37

zlogon 发表于 2016-6-20 13:01
问下楼主,你的ucos-ii内核能在awareness界面上显示吗?我的ucos-ii显示不出来。。。看手册说需要将几个函 ...

首先,我好久没用 uC/OS-II了,我现在现在在用uC/OS-III (发现并使用uC/Probe这个软件之前,我就开始用uC/OS-III),所以现在我也没有uC/OS-II的工程和硬件可以测试。

然后在说下你说的这2个地方, 自从uC/OS-III开始,它的代码把跟CPU操作有关的一些定义和函数单独提取出来形成了一个“uC-CPU”的库了,记得之前看 uC/OS-III 书籍中作者说是为了更容易通过某些软件认证,具体的不详。

我刚刚也看了,我的代码中,确实有调用过这些函数(也是以前用官方的移植代码中Copy过来的),如下是我现在工程的Main函数:
int main(void)
{
    OS_ERR err;
   
    NVIC_SetVectorTable(NVIC_VectTab_FLASH,SystemAddress - 0x08000000);

    CPU_Init();                                                 /* Initialize the uC/CPU services                     */
    Mem_Init();                                                 /* Initialize Memory Mmanagment Module                  */

    CPU_IntDis();
    OSInit(&err);                                                //OS初始化       
    Task_Monitor_Create();                            //建立任务监视器任务(其他任务在此任务中创建)
    OSStart(&err);                                           //启动OS,打开总中断
    return(0);
}

我刚刚也试了,把这些函数屏蔽掉,在编译运行的话,虽然硬件也可以工作,但是uC/Probe却无法显示任务信息了。至于uC/OS-II该如何解决,我就不清楚了。你可以试试在 Micrium 官网找个 uC/OS-II 移植的工程,看看里面有没有相应的代码。

此外,在第一个任务中,系统时钟打开、硬件初始化完毕后,建立其他任务之前,还运行了如下代码:
        cpu_clk_freq = BSP_CPU_ClkFreq();                           /* Determine SysTick reference freq.                  */
        cnts = cpu_clk_freq / (CPU_INT32U)OSCfg_TickRate_Hz;      /* Determine nbr SysTick increments                     */
        OS_CPU_SysTickInit(cnts);                                 /* Init uC/OS periodic time src (SysTick).            */                                                /* Initialize Memory Management Module                  */

#if OS_CFG_STAT_TASK_EN > 0u
        OSStatTaskCPUUsageInit(&err);                               /* Compute CPU capacity with no task running            */
#endif

以下是另外一些函数,也是从官方的工程中Copy过来的:(BSP_Init()函数除外,这个是我自己写的)
#include "bsp.h"

/*
*********************************************************************************************************
*                                             REGISTERS
*********************************************************************************************************
*/

#defineDWT_CR      *(CPU_REG32 *)0xE0001000
#defineDWT_CYCCNT*(CPU_REG32 *)0xE0001004
#defineDEM_CR      *(CPU_REG32 *)0xE000EDFC
#defineDBGMCU_CR   *(CPU_REG32 *)0xE0042004


/*
*********************************************************************************************************
*                                          REGISTER BITS
*********************************************************************************************************
*/

#defineDBGMCU_CR_TRACE_IOEN_MASK       0x10
#defineDBGMCU_CR_TRACE_MODE_ASYNC      0x00
#defineDBGMCU_CR_TRACE_MODE_SYNC_01    0x40
#defineDBGMCU_CR_TRACE_MODE_SYNC_02    0x80
#defineDBGMCU_CR_TRACE_MODE_SYNC_04    0xC0
#defineDBGMCU_CR_TRACE_MODE_MASK       0xC0

#defineDEM_CR_TRCENA                   (1 << 24)

#defineDWT_CR_CYCCNTENA                (1 <<0)

/*
*********************************************************************************************************
*                                             BSP_Init()
*
* Description : Initialize the Board Support Package (BSP).
*
* Argument(s) : none.
*
* Return(s)   : none.
*
* Caller(s)   : Application.
*
* Note(s)   : (1) This function SHOULD be called before any other BSP function is called.
*********************************************************************************************************
*/

void BSP_Init (void)
{
    GPIO_DeInit(GPIOA);
    GPIO_DeInit(GPIOB);
    GPIO_DeInit(GPIOC);
    GPIO_DeInit(GPIOD);
    GPIO_DeInit(GPIOE);
    GPIO_DeInit(GPIOF);
    GPIO_DeInit(GPIOG);
       
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);      /* 写入0x5555,使能看门狗寄存器的写入*/
    IWDG_SetPrescaler(IWDG_Prescaler_256);      /* 时钟分频,40K/256=156HZ(6.4ms)*/
    IWDG_SetReload(3125);      /* 喂狗时间 20s/6.4ms=3125 .注意不能大于0xfff*/
    IWDG_ReloadCounter();
    IWDG_Enable();
       
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
    PWR_BackupAccessCmd(ENABLE);
   
    Delay_Init();
    RTC_Init();
    SRAM_Init();
    LCD_X_TFT_Init();
    Relay_Init();
    LED_Init();
    Buzzer_Init();
    EEP_Init();
    DACx_Init();
    ADCx_Init();
    RS232_Init();

    CH376_PORT_INIT( );/* 接口硬件初始化 */
       
}


/*
*********************************************************************************************************
*                                          BSP_CPU_ClkFreq()
*
* Description : Read CPU registers to determine the CPU clock frequency of the chip.
*
* Argument(s) : none.
*
* Return(s)   : The CPU clock frequency, in Hz.
*
* Caller(s)   : Application.
*
* Note(s)   : none.
*********************************************************************************************************
*/

CPU_INT32UBSP_CPU_ClkFreq (void)
{
    RCC_ClocksTypeDefrcc_clocks;


    RCC_GetClocksFreq(&rcc_clocks);

    return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
}


/*
*********************************************************************************************************
*                                          CPU_TS_TmrInit()
*
* Description : Initialize & start CPU timestamp timer.
*
* Argument(s) : none.
*
* Return(s)   : none.
*
* Caller(s)   : CPU_TS_Init().
*
*               This function is an INTERNAL CPU module function & MUST be implemented by application/
*               BSP function(s) but MUST NOT be called by application function(s).
*
* Note(s)   : (1) CPU_TS_TmrInit() is an application/BSP function that MUST be defined by the developer
*                   if either of the following CPU features is enabled :
*
*                   (a) CPU timestamps
*                   (b) CPU interrupts disabled time measurements
*
*                   See 'cpu_cfg.hCPU TIMESTAMP CONFIGURATIONNote #1'
*                     & 'cpu_cfg.hCPU INTERRUPTS DISABLED TIME MEASUREMENT CONFIGURATIONNote #1a'.
*
*               (2) (a) Timer count values MUST be returned via word-size-configurable 'CPU_TS_TMR'
*                     data type.
*
*                     (1) If timer has more bits, truncate timer values' higher-order bits greater
*                           than the configured 'CPU_TS_TMR' timestamp timer data type word size.
*
*                     (2) Since the timer MUST NOT have less bits than the configured 'CPU_TS_TMR'
*                           timestamp timer data type word size; 'CPU_CFG_TS_TMR_SIZE' MUST be
*                           configured so that ALL bits in 'CPU_TS_TMR' data type are significant.
*
*                           In other words, if timer size is not a binary-multiple of 8-bit octets
*                           (e.g. 20-bits or even 24-bits), then the next lower, binary-multiple
*                           octet word size SHOULD be configured (e.g. to 16-bits).However, the
*                           minimum supported word size for CPU timestamp timers is 8-bits.
*
*                     See also 'cpu_cfg.h   CPU TIMESTAMP CONFIGURATIONNote #2'
*                              & 'cpu_core.hCPU TIMESTAMP DATA TYPES   Note #1'.
*
*                   (b) Timer SHOULD be an 'up'counter whose values increase with each time count.
*
*                   (c) When applicable, timer period SHOULD be less than the typical measured time
*                     but MUST be less than the maximum measured time; otherwise, timer resolution
*                     inadequate to measure desired times.
*
*                   See also 'CPU_TS_TmrRd()Note #2'.
*********************************************************************************************************
*/

#if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
voidCPU_TS_TmrInit (void)
{
    CPU_INT32Ucpu_clk_freq_hz;


    DEM_CR         |= (CPU_INT32U)DEM_CR_TRCENA;                /* Enable Cortex-M3's DWT CYCCNT reg.                   */
    DWT_CYCCNT      = (CPU_INT32U)0u;
    DWT_CR         |= (CPU_INT32U)DWT_CR_CYCCNTENA;

    cpu_clk_freq_hz = BSP_CPU_ClkFreq();
    CPU_TS_TmrFreqSet(cpu_clk_freq_hz);
}
#endif


/*$PAGE*/
/*
*********************************************************************************************************
*                                           CPU_TS_TmrRd()
*
* Description : Get current CPU timestamp timer count value.
*
* Argument(s) : none.
*
* Return(s)   : Timestamp timer count (see Notes #2a & #2b).
*
* Caller(s)   : CPU_TS_Init(),
*               CPU_TS_Get32(),
*               CPU_TS_Get64(),
*               CPU_IntDisMeasStart(),
*               CPU_IntDisMeasStop().
*
*               This function is an INTERNAL CPU module function & MUST be implemented by application/
*               BSP function(s) but SHOULD NOT be called by application function(s).
*
* Note(s)   : (1) CPU_TS_TmrRd() is an application/BSP function that MUST be defined by the developer
*                   if either of the following CPU features is enabled :
*
*                   (a) CPU timestamps
*                   (b) CPU interrupts disabled time measurements
*
*                   See 'cpu_cfg.hCPU TIMESTAMP CONFIGURATIONNote #1'
*                     & 'cpu_cfg.hCPU INTERRUPTS DISABLED TIME MEASUREMENT CONFIGURATIONNote #1a'.
*
*               (2) (a) Timer count values MUST be returned via word-size-configurable 'CPU_TS_TMR'
*                     data type.
*
*                     (1) If timer has more bits, truncate timer values' higher-order bits greater
*                           than the configured 'CPU_TS_TMR' timestamp timer data type word size.
*
*                     (2) Since the timer MUST NOT have less bits than the configured 'CPU_TS_TMR'
*                           timestamp timer data type word size; 'CPU_CFG_TS_TMR_SIZE' MUST be
*                           configured so that ALL bits in 'CPU_TS_TMR' data type are significant.
*
*                           In other words, if timer size is not a binary-multiple of 8-bit octets
*                           (e.g. 20-bits or even 24-bits), then the next lower, binary-multiple
*                           octet word size SHOULD be configured (e.g. to 16-bits).However, the
*                           minimum supported word size for CPU timestamp timers is 8-bits.
*
*                     See also 'cpu_cfg.h   CPU TIMESTAMP CONFIGURATIONNote #2'
*                              & 'cpu_core.hCPU TIMESTAMP DATA TYPES   Note #1'.
*
*                   (b) Timer SHOULD be an 'up'counter whose values increase with each time count.
*
*                     (1) If timer is a 'down' counter whose values decrease with each time count,
*                           then the returned timer value MUST be ones-complemented.
*
*                   (c) (1) When applicable, the amount of time measured by CPU timestamps is
*                           calculated by either of the following equations :
*
*                           (A) Time measured=Number timer counts*Timer period
*
*                                 where
*
*                                       Number timer counts   Number of timer counts measured
*                                       Timer period            Timer's period in some units of
*                                                                   (fractional) seconds
*                                       Time measured         Amount of time measured, in same
*                                                                   units of (fractional) seconds
*                                                                   as the Timer period
*
*                                                Number timer counts
*                           (B) Time measured=---------------------
*                                                    Timer frequency
*
*                                 where
*
*                                       Number timer counts   Number of timer counts measured
*                                       Timer frequency         Timer's frequency in some units
*                                                                   of counts per second
*                                       Time measured         Amount of time measured, in seconds
*
*                     (2) Timer period SHOULD be less than the typical measured time but MUST be less
*                           than the maximum measured time; otherwise, timer resolution inadequate to
*                           measure desired times.
*********************************************************************************************************
*/

#if (CPU_CFG_TS_TMR_EN == DEF_ENABLED)
CPU_TS_TMRCPU_TS_TmrRd (void)
{
    return ((CPU_TS_TMR)DWT_CYCCNT);
}
#endif

以上代码供参考。

wzavr 发表于 2016-6-21 08:14:18

谢谢啦,非常好

zlogon 发表于 2016-6-21 09:07:05

谢谢,我再试试ucos-ii,看看能不能跑起来,毕竟ucos-ii资料还比较全

zlogon 发表于 2016-6-21 09:07:27

再次感谢楼主

gagmeng 发表于 2016-6-21 10:25:38

官网都只看到uC/Probe 4.0.16.4版本啊,这10版本哪可以下载?

huchunlei 发表于 2016-6-22 10:12:58

gagmeng 发表于 2016-6-21 10:25
官网都只看到uC/Probe 4.0.16.4版本啊,这10版本哪可以下载?

首先在你的电脑上安装 uC/Probe 4.0.16.4,安装好后运行的时候,会提示你更新,你选择更新, 就会在你的 系统一个临时目录下,下载一个 update.exe 文件,这个 update.exe 实际上就是 uC/Probe 4.0.16.10

abutter 发表于 2016-6-23 06:58:39

支持,呵呵。

farmerzhangdl 发表于 2016-6-23 08:44:13

好东西啊

yangbo18416 发表于 2016-6-29 16:07:48

谢谢分享,只是下载的时候报病毒

zhangfeibao 发表于 2016-7-13 09:53:09

这个必须领起来!强大的工具,话说这个工具刚出来的时候我就一直在找和谐版本,今天终于看到大牛了

szpspike 发表于 2016-7-13 13:49:42

谢谢分享

孩儿他爸 发表于 2017-5-18 08:04:15

感谢!好人长寿!

guxingganyue 发表于 2017-7-20 18:59:23

正在官网下载4.2.1.544,看看楼主的key能否使用

huchunlei 发表于 2017-7-21 09:04:54

guxingganyue 发表于 2017-7-20 18:59
正在官网下载4.2.1.544,看看楼主的key能否使用

你下载的4.2.1.544 是最新版, 他这个之前的版本就是 4.2.17 开头, 我也很奇怪。   破解不能混用, 每个版本都不一样。
页: [1]
查看完整版本: 【分享】Micrium uC/Probe 4.0.16.10