A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 132

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 290

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 164

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 233

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 313

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 354

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 284

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 296

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 306

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 318

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 319

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 377

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Session cannot be started after headers have already been sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/thetechminers/public_html/application/controllers/Blog.php
Line: 8
Function: __construct

File: /home/thetechminers/public_html/index.php
Line: 321
Function: require_once

Go through our Blog - THE TECHMINERS

Trends and highlights from Embedded World 2017

The Techminers

The largest embedded systems conference in the world is taking place this week in Nuremburg (Nurnberg) Germany. The conference is nearly overwhelming, with over four exhibitions halls containing more than 1,000 exhibitors, 15 classes, and 36 sessions covering topics on Systems Engineering, Wireless Technologies, the IoT, Security, and Software engineering to mention just a few. Digesting, sifting through, and identifying the major conference trends was extremely challenging given all the innovation, blinky lights, shiny objects, and information that is on show at the conference. Despite all the distractions, however, there are several major themes that stuck out from the conference and that appear to be significant trends in the industry.

First, twiddling bits and bytes is dead. For decades, the embedded software engineer has dwelled and thrived at the bit-level in the hardware, learning and understanding what every register, bit, and byte in the microcontroller did. Modern design cycles and products have become so complex that starting from scratch is simply not possible given the budget-constraints and time-to-market requirements. The microcontroller is becoming an abstract, black-box that developers no longer need to understand; instead, high-level tools are becoming available to start development at the application level.

The most notable example was the Renesas Synergy Platform. Renesas released their Software Synergy Platform (SSP) version 1.2.0, which includes qualified and warranted MCU drivers, RTOS, middleware, and a Wi-Fi framework. The platform abstracts the hardware and low-level drivers, providing developers with high-level APIs and configuration blocks to decrease cost and time-to-market. With the low-level drivers and middleware already completed, developers start focusing on their application from day #1, rather than the old way, which commenced with a "deep dive" into a 3,000-page datasheet.

Throughout the conference floor, there were many examples demonstrating the removing of low-level software development and replacing it with high-level visual blocks. Cypress Semiconductor demonstrated the ability to drop module blocks onto the PSoC (Programmable System-on-Chip) IDE and then configure behavior by connecting the modules. Microchip's Atmel Studio demonstrated its latest and greatest code generation, which created generated software that was human-readable. At the end-of-the-day, it looks like microcontroller vendors are starting to streamline the software development process by abstracting the microcontroller and allowing developers to work at levels above the silicon and at the application level. (This was a transition the PC world went through over 20 years ago, and that only now seems to be catching up with the embedded world).

Next, security and the IoT were a central theme to the conference. ARM announced the Cortex-M 23/33, which is a Cortex-M-based processor running TrustZone. This solution is going to provide developers with the ability to write software that will dramatically improve embedded system security, especially for IoT devices. An entire area in the exhibitor hall was dedicated to mobile-to-mobile solutions. Vendors demonstrated new Wi-Fi and connectivity modules with Redpine being an example. There were even sensor networks designed to work in smart cities, smart cameras, and security bridges. The IoT theme played out not just in product offerings, but also in the session tracks and the mini-sessions that took place at exhibitor booths. For example, IAR demonstrated how to optimize an IoT device for performance and energy usage.

Finally, an underlying theme that appears to be starting to gain traction is deep learning and image processing. My favorite example was from SCISYS, which demonstrated an autonomous rover designed to operate on Mars.