This post was last edited by Xin Xin on 2024-1-23 13:14
Other links for this series of tutorials are as follows:
Supporting tutorial 3: Project git description and my BSP https://en.eeworld.com/bbs/thread-1270515-1-1.html
Paste the content directory of the following floor:
1-0. Reason for the first post (i.e. this post)
1-1. Required for development environment;
1-2. Simple description of Keil5 MDK configuration for SDK (_6.0.20.1338) and (non-Bluetooth) simple peripheral routines
1-3. The DA14531 program runs in RAM
1-4. The program runs in RAM? So, how big is the FLASH and RAM of DA14531?
1-5. SmartBond Flash Programmer and programming address size issue
1-6. How to use JLink's RTT (replace and save debugging serial port)
1-7. Telnet method, XShell connects to JLink RTT to achieve more powerful logging function
1-8. Daily Operation - Keil5 MDK Debug What are we viewing?
1-9. Get out of the debugging and development world - use JLink Commander to debug.
1-10. Ozone, a graphical JLink debugging tool, launched by JLink;
1-11. A brief introduction to the non-ble peripheral_project example structure.
I was so nauseous about this yesterday that I stopped writing. Later I thought about it and decided to open a separate post to talk about it.
Although this is a very simple question, I suddenly want to talk about the BSP habit I have formed over the years.
The following is the main text of the first post:
Friends who are familiar with (disassembling) Xiaomi bracelets should be familiar with Dialog Semiconductor's series of Bluetooth SoC DA145XX DA146XX.
I worked on wearable development a few years ago and was very interested in this type of product.
However, I am not very impressed with the general functions of current bracelets.
So the idea of DIY came to my mind very early.
However, DIYing a finished product is far from as simple as drawing a board, patching chips and writing code.
Just the shell makes me, a person who mainly writes code and has no knowledge of structure, feel very embarrassed...
——The first step of this kit is to launch a PCBA that is compatible with Xiaomi Mi Band 4/5 in appearance. Later, I will work hard on the shell, or hope that there is
Friends who understand and are familiar with this area can join and help
——Because I have no money to give you.
Rather than saying that I am very interested in bracelets, it is better to say that I am very interested in the form of bracelets.
There is no other reason - because it is worn on the human hand, is lighter and smaller than a mobile phone - to be precise, users feel less noticeable when using it than when using a mobile phone.
This is also the most valuable aspect of wearable products - in my opinion.
However, I am not very interested in the functions of common bracelets on the market.
For example, step counting - so, in my version, one is because I don't have a cold, and the other is because I don't have a cold.
I chose the smallest DA14531 chip. At present, all IO ports have been used up by me, so although I wanted to reserve a GSENSOR chip
But it is not possible for the time being.
(Later, if necessary, I will consider changing to an MCU from the same series).
My bigger hope, actually, is to make this thing into an open kit.
So that all other people who, like me, want to DIY a bracelet-shaped product can have a ready-made platform available.
Because, I have never seen anything like this before.
Once upon a time, the so-called Baidu bracelet did not actually have the hardware part leaked. I remember it seemed like that. Not to mention how well the software was written, it was purely open source software.
Of course, for a while afterwards, I also saw some so-called open source bracelet projects based on DA14580——
These things come with a... well, what should I say? That thing, I'm sure you wouldn't want to wear on your hand.
So, when I made this thing, I chose to make it similar to the Xiaomi bracelet in appearance, without considering any copyright risks that might be involved.
My goal is to replicate the Xiaomi Mi Band in appearance as much as possible and utilize its surrounding ecosystem to a certain extent.
For example, a small number of various types of bracelet straps have been developed.
On the other hand, I personally think that Xiaomi Mi Band has evolved from generation to generation in terms of cost performance and appearance, and has now reached Xiaomi Mi 8.
Personally, I have owned almost every model except the second generation and the latest 8.
I really appreciate the improvement in its appearance.
Despite being a DIY person, I have no confidence that I can replicate its beauty.
But it never hurts to set a shining example.
Of course, this is all later.
At present, the first step is still a PCBA. Currently, this board has been handed over to forum member @Rex for drawing.
I believe that I will be able to go to LiChuang to print and paste materials soon.
In this post, I will focus on doing some things that I think are necessary, such as development board tutorials.
Because there are actually very few tutorials for the DA14XXX series of MCUs, let alone such a rich ecosystem like STM32.
Really - if you go to Taobao, except for buying official development boards shipped from overseas - they are very expensive.
The USB part, which is the one I have in my hand now, costs nearly 300 yuan.
The pro version is more expensive, costing more than a thousand dollars.
Apart from this, I haven’t seen any minimum system board or development board.
In fact, let alone DA14531, except for the earliest DA14580 and DA14585, relatively cheap development boards can be seen on Taobao (that is, the regular price of more than 100 yuan).
Apart from that, it is basically difficult to find resources for other newer models, so you can only make the boards yourself.
As for tutorials, it’s not that there aren’t any, but they are copied from thousands of times and there are only a few of them.
While I was getting familiar with and using DA14531, I also went through these tutorials.
But I feel that what they said is very superficial and they basically do not mention many crucial issues.
So, while we wait for our own development kit hardware, which is designed from the beginning for the finished bracelet, to be released,
I will gradually post my process of becoming familiar with, learning, and understanding this board in this period of time under this post.
Just for information.
At the same time, Dialog did not officially port FreeRTOS to DA14531, but used the pseudo-system Rivera Waves.
However, my personal experience is that it is actually quite troublesome to write programs for this type of system that does not have truly independent threads and preemptive features.
So, I transplanted it myself.
At present, it has been preliminarily completed and the test of running the basic creation task has been completed.
Other subsequent tests will be completed and supplemented.