Modbus Master Stack On ATSAME54 With RTOS embedded by neudeep - September 7, 2019September 7, 20190 In previous post we discussed about how to port modbus slave stack on ATSAME54. This post we will discuss on how to port modbus master stack on SAME microcontroller. You can download example freemodbus master stack for reference from FreeModbus. We have referred the 'AT91SAM7X_FREETROS' example project. You can follow the steps from previous post for creating directory of project files. Instead of modbus slave stack, add modbus master stack. In addition, We are using FreeRTOS in our project. So In top level directory we have added FreeRTOS V9.0.0 . Please refer to modifications in port specific files described in previous post. So lets begin with issues while port modbus master stack on SAME, Without an operating systems there are
Install wxPython With Solved ImportError python by blog_1buq8n - August 30, 2019August 10, 20200 This post describes how to install wxPython on ubuntu system and helps with solved build errors while installation. This post assumes you have bare Ubuntu 18.04.3 LTS system and it is newly installed. wxPython is a opensource, cross platform, GUI toolkit for the Python programming. This post describes in detail for how to install wxpython ubuntu 18.04 for python2 and python3. wxPython allows Python programmers to create programs highly functional graphical user interface, simply and easily. Being cross platform with little changes it works on Microsoft windows and Linux systems. So if you have GUI application that requires to be executed on both windows and Linux wxPython is right choice for python programmers. 'pip' is required as a prior
How To Install Ionic Cordova With First Application Android by blog_1buq8n - August 19, 2019August 19, 20190 Ionic framework is one of the popular development environment for mobile applications. Ionic is popular because of its open source mobile UI toolkit for developing rich cross-platform mobile applications. Cross platform meaning, apps developed using Ionic with single codebase can be executed from iOS(iPhones, iPad), Android and webserver(desktop Applications). It uses technologies like HTML, CSS, Javascript, NodeJS, To start with your first Ionic Application, you need to install Ionic framework. This post describes about installation of Ionic and its required components, running first Ionic application and how to run android application in ionic framework. Installation Follow below steps for Ionic framework installation. Assuming you are using fresh Ubuntu system and 'npm' is not installed on system, first install 'npm' - node
Port Modbus Slave Stack On ATSAME54 embedded by neudeep - July 30, 20190 We are referring modbus server stack implementation for SAM3X and We want to port it on SAME54P20A. First we have downloaded the example project for SAME54P20A which is using Usart_Asynchrnous module from Atmel START. Then create new top level directory for project files. Following files needs modification while porting, they are present in sub directory named 'port' which will contain all port specific files, portserial.cporttimer.cportevent.cportother.cport.h Atmel start project is having makefile in sub-directory 'gcc'. Add these port specific files paths in makefile. Then add modbus stack folder to top level directory which is having all the modbus specific functions. For compilation we hav to add these all file paths in makefile which is in gcc directory. We have to first
How To Use Two Timers In Same Project embedded by blog_1buq8n - July 29, 2019August 22, 20210 If you are using SAM series controller you probably have came across this question, How do i implement two timer which generate two interrupt at different time in same project? or How we can use two timer in same project in SAME54 controller? Well SAM series controller are ARM-based MCUs and MPUs from ATMEL now Microchip. We are using ATSAME54P20A ie SAME54 explained pro board to evaluate the functionality of it. So created new project using start.atmel.com with TC0 and TC1 along with WDT and interrputs. The project tree looks as below, This project works well and TC0 timer interrupt is working but TC1 timer interrupt is not working. Following is code for initialization and using
How To Write RTOS Safe ISR For ATSAME embedded by blog_1buq8n - July 26, 2019August 22, 20210 In our application it is required to use FreeRTOS API functions from an interrupt service routine(ISR). Good thing about FreeRTOS is it has provided interrupt safe API, meaning one can use FreeRTOS API functions from ISR, as they have provided two versions of some API. Functions intended for use from ISRs have “FromISR” appended to their name eg. xQueueSendFromISR How to set correct priority levels if I want to call an ISR-safe function from interrupt? Because the maximum level of configKERNEL_INTERRUPT_PRIORITY is 1 and the minimum preemption Priority level of any interrupt source e.g. and edge interrupt is 15. That means it is above the max. level of configKERNEL_INTERRUPT_PRIORITY. In our application we were using xQueueSendFromISR() from IRQ10 ie 'EIC_10_IRQn', to
Setup GCC ARM Tool Chain For SAM E54 Xplained Pro embedded by blog_1buq8n - March 30, 2019March 30, 20190 steps for setting up a free and fully functional GCC + Eclipse + OpenOCD GDBServer environments for use with the SAME54 Xplained Pro board.
Software Unit Testing With Ceedling Testing by neudeep - March 12, 2019August 29, 20210 Ceedling is one of the best test automation framework for doing unit testing of your embedded C software system code. Unit testing is code that calls some other code to check if it performing as expected. Ceedling is specifically designed for running unit tests for C language code. Ceedling has feature of automatic generation of mock. Unity is a unit test framework.CMock creates the fake versions of other modules. Using these fake versions we can verify whether our module is working correctly or not.Ceedling include unit test framework(Unity) and Mocking framework(CMock).It requires Ruby to run as Ceedling build system uses rake files. Ceedling comes with a command line tool that can be used to generate the project. Check out details on how