Git Product home page Git Product logo

g_s32k144's Introduction

hacking S32K144

简介

S32K144是NXP推出的车规级别的MCU,ARM架构的内核。芯片在设计上考虑了功能安全的设计,可以达到ASIL B的级别。 这方面我没有太多的ARM平台的经验,恰好借助这个平台了解一下。 虽说按照一般的认知,SDK比自己手写驱动要简单。但是关于SDK的使用,我也没有太多经验。这次hack过程中研究一下这里面的技巧。 除了驱动之外,尽量在这个平台上熟悉一下FreeRTOS的平台开发。

维护者联系方式

TDL

  • 1. MCU资料收集(DONE)
  • 2. 开发板资料收集(DONE)
  • 3. 开发工具选择(DONE)
  • 4. 工程创建以及开发环境配置(DONE)
  • 5. 软件调试方式(DONE)
  • 6. 周期性定时器(DONE)
  • 7. GPIO(DONE)
  • 8. 时钟配置(DONE)
  • 9. 串口(DONE)
  • 10. CAN(DONE)
  • 11. ADC(DONE)
  • 12. SPI(DONE)
  • 13. IIC
  • 14. RTOS
  • 15. BootLoader
  • 16. DMA(DONE)
  • 17. 中断(DONE)
  • 18. 加密
  • 19. QuadSPI
  • 20. 数学以及电机库文件的使用
  • 21. CRC(DONE)

实践路线

MCU资料收集

开发板资料收集

开发工具选择

  • 编译器套件:选择NXP官方的S32DS for ARM。这是一个基于gcc的免费的开发套件,作为我们的学习选择还是不错的。
  • 调试器:看到了开发板上自带了一个OpenSDA,这算是其中的一个选择。另外,我也准备了一个Jlink。

开发工具S32DS for ARM初步了解

S32DS快速上手文档分析

S32DS for ARM的共性特征学习

使用S32DS for ARM创建S32K144工程并编译

开发板供电、软件烧写以及调试

使用S32DS通过例子创建相应工程

使用S32DS创建基于SDK的工程

S32DS SDK的使用

S32DS导入已经存在的工程

S32DS解决编译找不到已经添加的文件和目录问题

使用S32DS结合SDK,创建FreeRTOS的工程

基于FreeRTOS的串口打印例子测试与分析

在S32DS中修改工程名称

时钟配置

S32DS中实时查看变量的变化

S32K144实现串口驱动

串口的波特率配置测试

使用DMA的UART

GPIO控制LED闪烁

周期性定时器 LPIT

FreeRTOS的队列

printf via UART

FreeMaster的使用

FreeMaster的移植

FreeMaster的功能的快速开启与关闭设计

Debug on FreeRTOS stack

软件触发模式的ADC

RTC时钟初步

-参考代码: S32K144_014_RTC

RTC时钟时间设定

FreeRTOS的精准周期性任务调度

串口接收功能

基于DMA的串口收发

串口的阻塞式收发

查询模式下的串口接收

基于FreeRTOS的串口接收功能改进

FreeRTOS Tick Hook

获取FreeRTOS任务的优先级

FreeRTOS 守护程序启动监控

FreeRTOS heap剩余空间获取

看门狗

lptmr定时器使用

模式切换

提升FreeRTOS的工作时钟

GPS报文解析实现

S32K144 EVB CAN基本配置实现以及测试

CAN 接收功能初步

CAN获取默认配置

CAN波特率修改

CAN FIFO初步

CAN FIFO接收全部的CAN ID

CAN的回调函数

CAN的DMA收发模式

printf via CAN

CAN故障诊断

CAN错误种类获取

UDS初步

CRC模块的使用

J1939学习: J1939_basic

g_s32k144's People

Contributors

greyzhang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

g_s32k144's Issues

osif.h file not found?

Hello Sir,
I was trying this S32K144_009_GPIO_LED code on my S32 Design Studio, I opened freertos_s32k144 from example, then i have replaced your generated code and sources folder but at the time of building the project, it is showing some error, could you guide us how can i use that project, what instructions should i follow.

Just a query regarding this main.c file?

this code will run infinite time correct?

#define COUNTER_LIMIT 100

    int counter = 0;

    for(;;) {       
        counter++;

        if(counter > COUNTER_LIMIT) {
            counter = 0;
        }
    }

why we need to put these below lines:- if defined(ghs) and what is GHS and IAR can you explain me in brief?
Many Thanks!

/* to avoid the warning message for GHS and IAR: statement is unreachable*/
#if defined (ghs)
#pragma ghs nowarning 111
#endif
#if defined (ICCARM)
#pragma diag_suppress=Pe111
#endif
return 0;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.