S32 Design Studio v2017.R1体验之Processor Expert

  • 前两天发现S32 Design Studio(以下简称为S32DS)出了新版本2017.R1(其实去年底就出了),之前我还一直在用v1.2,并且一直到上个月都还在出2017.R1的SDKs,并且这些SDK都不支持v1.2,于是更新了2017.R1,感觉整个使用体验更流畅了。
  • 这两天试用了一下MPC5744P EAR SDK Z4 core for GCC,主要是增加了S32DS对Processor Expert(PE)的支持,这个功能最早Code Warrior v2.x就有,但是老版本CW的PE体验不太好,一直到基于Eclipse内核的CW 10.x系列才做的比较完善。
  • 很早以前有个项目用MC56F84789,IDE用的CW 10.6,所有底层都是用PE做的,效果不错,没遇到bug,S32新增了对MPC574x的PE支持,所以特此试用一下。

先上结论
不是不建议使用,是根本不要使用!

bug太多了,随便挑几个来说。


1.新建之后的默认配置

新建带PE的工程后默认的是BGA257的chip,并且不可更改,开始以为对LQFP144不支持,后来发现要把原来的Cpu删掉,重新选择LQFP144才行,这个其实也不能算bug,可以饶恕;

2.生成代码部分h文件路径未定义

选择模块后再generate code除了会生成相关代码外,还会在工程配置的文件路径中添加c h文件的位置,但是部分h文件会编译提示找不到,需要手动去查找后再手动添加,这种情况非常多,Freemaster的SDK也会提示freemaster_Cfg.h找不到,如果外设模块较多,那工作量不小;

3.存在代码bug

比如我添加了FLEXCAN模块,生成代码后编译报错之一如下:

'FLEXCAN_CLK_SOURCE_OSC' undeclared here (not in a function)

定位到这里:

const flexcan_user_config_t canCom1_InitConfig0 = {
    .pe_clock = FLEXCAN_CLK_SOURCE_OSC,
    .max_num_mb = 16,
    .num_id_filters = FLEXCAN_RX_FIFO_ID_FILTERS_8,
    .is_rx_fifo_needed = false,
    .flexcanMode = FLEXCAN_NORMAL_MODE,
    .bitrate = {
        .propSeg = 7,
        .phaseSeg1 = 4,
        .phaseSeg2 = 1,
        .preDivider = 2,
        .rJumpwidth = 1
    },
    .transfer_type = FLEXCAN_RXFIFO_USING_INTERRUPTS,
};

再找到flexcan_user_config_t中pe_clock成员,是个enum,定义如下:

typedef enum {
    FLEXCAN_CLK_SOURCE_FXOSC = 0U,  /*!< Fast External Oscillator */
    FLEXCAN_CLK_SOURCE_F40 = 1U     /*!< Fixed 40MHz frequency clock */
} flexcan_clk_source_t;

发现区别了吗?FLEXCAN_CLK_SOURCE_OSC 和 FLEXCAN_CLK_SOURCE_FXOSC!
上一个bug还是工程配置的问题,加个路径就好了,这个问题就是PE没做好/测试好了。这种情况也挺多。

4.UI问题

S32 Design Studio v2017.R1体验之Processor Expert_第1张图片
看这个图,这是PE的设置界面,我添加了一个CAN模块,发现找不到波特率的设置,找了半天发现在下面,右下角框起来的地方,但是由于界面问题,点不上设置。。。

只体验了十分钟就发现了这些问题,就到这吧,等更新吧。

你可能感兴趣的:(Embedded)