1.in function HAL_TCP_Connect, ' char port_str[PORT_BUFF_LEN]; memset(port_str, 0, PORT_BUFF_LEN);', we can direct to replace with 'char port_str[PORT_BUFF_LEN] = {0};'
How To Run:
see TencentOS-tiny\board\ALPHA_I.MX_emmc_256ddr\README.md
TODO Next:
1. VFP support
2. fault diagnosis support
3. qemu vexpress ca9 support
4. raspberry pi support
5. SMP support
consider this situation: no more fresh block, meantime an item with such a big size come in, and currently no block inuse has sufficient space to save this item, the code will run into the modified line, and KV_MGR_WORKSPACE will be set to KV_BLK_INVALID. this will cause no matter what size of an item wanna come in again, kv_blk_search_suitable just return KV_BLK_INVALID because "if (KV_MGR_WORKSPACE == KV_BLK_INVALID)" is true.
1. a true wear-leveling kv fs for norflash, especially optimize for some onchip norflash with "write once on one single write unit" like stm32l4, a true "no earse before write" flash algorithm.
2. an "as less as possible" gc strategy, do best to save norflash's life.
3. full "power down protection" support
4. see "examples" of kv, project in "TencentOS_tiny_EVB_MX_Plus", with onchip flash and qspiflash sample.
1. qcloud has a great revolution, the protocol has been changed to implement data template, so the old TencentCloud_SDK developed by us will not work fine now(mqtt still works, but data template will not works fine for recently created product/devices).
2. I merge the official qlcoud sdk(include both the iot-hub and iot-explorer sdk) into the componet/conectivity to support new protocol of data template
3. iot-hub sdk, supply the fundamental iot protocol(like mqtt coap, etc.)
iot-explorer sdk, supply the high level service like data template based on mqtt
4. To know how it works, see qcloud_iot_explorer_sdk_data_template、qcloud_iot_hub_sdk_mqtt example(keil project in board\TencentOS_tiny_EVB_MX_Plus\KEIL\qcloud_iot_explorer_sdk_data_template and board\TencentOS_tiny_EVB_MX_Plus\KEIL\qcloud_iot_hub_sdk_mqtt)
1. remove the old msg queue and queue:
i. msg queue is not a common and reusable/flexible component(need user to config the msg pool size and this componet can only be used by tos_queue)
ii. tos_queue can only deliver the pointer message(cannot do a memory buffer deliver)
2. add ring queue(tos_ring_q) componet
rinq queue can be reused by tos_chr_fifi/tos_msg_q/tos_mail_q as the foundational data container
3. add message queue(tos_msg_q)
a little like the old queue mechanism, supply the capability to deliver a pointer message
4. add mail queue(tos_mail_q)
supply the capability to deliver a memory buffer
5. add binary heap(tos_bin_heap)
the basement componet to implement priority queue
6. add priority queue(tos_prio_q)
can be reused by the priority message/mail queue as the foundational data container.
7. add priority message queue(tos_prio_msg_q)
a message(pointer) deliver mechanism, supply the capability of delivering the message with priority(message with higher priority comes faster to the pender than with lower)
8. add priority mail queue(tos_prio_mail_q)
a mail(memory buffer) deliver mechanism, supply the capability of delivering the mail with priority(mail with higher priority comes faster to the pender than with lower)
currently we DONOT have a 51822 xxAC(we only have xxAA of which the ram is only 16k which is too small to porting nimble, means currently the nimble ble on 51822 probably may not work). xxAC is coming soon(on EMS), I will make nimble on 51822 xxAC later.